From f829fd2d0d7567cd93ded85b2b7e71e380b6f965 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Mon, 19 Dec 2016 12:54:23 +0000 Subject: [PATCH 01/26] Use cross version of otool if available. --- dist/macdeploy.py | 62 ++++++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/dist/macdeploy.py b/dist/macdeploy.py index b83a8c381..14e3b7109 100755 --- a/dist/macdeploy.py +++ b/dist/macdeploy.py @@ -23,19 +23,16 @@ import subprocess import sys import traceback -LOGGER = logging.getLogger("macdeploy") +LOGGER = logging.getLogger('macdeploy') -FRAMEWORK_SEARCH_PATH=[ - '/target', - '/target/lib', - '/Library/Frameworks', +FRAMEWORK_SEARCH_PATH = [ + '/target', '/target/lib', '/Library/Frameworks', os.path.join(os.environ['HOME'], 'Library/Frameworks') ] -LIBRARY_SEARCH_PATH=['/target', '/target/lib', '/usr/local/lib', '/sw/lib'] +LIBRARY_SEARCH_PATH = ['/target', '/target/lib', '/usr/local/lib', '/sw/lib'] - -GSTREAMER_PLUGINS=[ +GSTREAMER_PLUGINS = [ # Core plugins 'libgstapp.so', 'libgstaudioconvert.so', @@ -90,7 +87,7 @@ GSTREAMER_PLUGINS=[ 'libgstrtsp.so', ] -GSTREAMER_SEARCH_PATH=[ +GSTREAMER_SEARCH_PATH = [ '/target/lib/gstreamer-1.0', '/target/libexec/gstreamer-1.0', ] @@ -121,6 +118,10 @@ INSTALL_NAME_TOOL_CROSS = 'x86_64-apple-darwin-%s' % INSTALL_NAME_TOOL_APPLE INSTALL_NAME_TOOL = INSTALL_NAME_TOOL_CROSS if spawn.find_executable( INSTALL_NAME_TOOL_CROSS) else INSTALL_NAME_TOOL_APPLE +OTOOL_APPLE = 'otool' +OTOOL_CROSS = 'x86_64-apple-darwin-%s' % OTOOL_APPLE +OTOOL = OTOOL_CROSS if spawn.find_executable(OTOOL_CROSS) else OTOOL_APPLE + class Error(Exception): pass @@ -154,7 +155,6 @@ class CouldNotParseFrameworkNameError(Error): pass - if len(sys.argv) < 2: print 'Usage: %s ' % sys.argv[0] @@ -174,11 +174,11 @@ binary = os.path.join(bundle_dir, 'Contents', 'MacOS', bundle_name) fixed_libraries = set() fixed_frameworks = set() + def GetBrokenLibraries(binary): - output = subprocess.Popen(['otool', '-L', binary], stdout=subprocess.PIPE).communicate()[0] - broken_libs = { - 'frameworks': [], - 'libs': []} + output = subprocess.Popen( + [OTOOL, '-L', binary], stdout=subprocess.PIPE).communicate()[0] + broken_libs = {'frameworks': [], 'libs': []} for line in [x.split(' ')[0].lstrip() for x in output.split('\n')[1:]]: if not line: # skip empty lines continue @@ -190,7 +190,8 @@ def GetBrokenLibraries(binary): continue # unix style system library elif re.match(r'Breakpad', line): continue # Manually added by cmake. - elif re.match(r'^\s*@executable_path', line) or re.match(r'^\s*@loader_path', line): + elif re.match(r'^\s*@executable_path', line) or re.match( + r'^\s*@loader_path', line): # Potentially already fixed library relative_path = os.path.join(*line.split('/')[3:]) if not os.path.exists(os.path.join(frameworks_dir, relative_path)): @@ -202,6 +203,7 @@ def GetBrokenLibraries(binary): return broken_libs + def FindFramework(path): for search_path in FRAMEWORK_SEARCH_PATH: abs_path = os.path.join(search_path, path) @@ -211,6 +213,7 @@ def FindFramework(path): raise CouldNotFindFrameworkError(path) + def FindLibrary(path): if os.path.exists(path): return path @@ -222,12 +225,14 @@ def FindLibrary(path): raise CouldNotFindFrameworkError(path) + def FixAllLibraries(broken_libs): for framework in broken_libs['frameworks']: FixFramework(framework) for lib in broken_libs['libs']: FixLibrary(lib) + def FixFramework(path): if path in fixed_frameworks: return @@ -245,8 +250,10 @@ def FixFramework(path): for library in broken_libs['libs']: FixLibraryInstallPath(library, new_path) + def FixLibrary(path): - if path in fixed_libraries or FindSystemLibrary(os.path.basename(path)) is not None: + if path in fixed_libraries or FindSystemLibrary(os.path.basename( + path)) is not None: return else: fixed_libraries.add(path) @@ -261,6 +268,7 @@ def FixLibrary(path): for library in broken_libs['libs']: FixLibraryInstallPath(library, new_path) + def FixPlugin(abs_path, subdir): broken_libs = GetBrokenLibraries(abs_path) FixAllLibraries(broken_libs) @@ -271,6 +279,7 @@ def FixPlugin(abs_path, subdir): for library in broken_libs['libs']: FixLibraryInstallPath(library, new_path) + def FixBinary(path): broken_libs = GetBrokenLibraries(path) FixAllLibraries(broken_libs) @@ -279,13 +288,15 @@ def FixBinary(path): for library in broken_libs['libs']: FixLibraryInstallPath(library, path) + def CopyLibrary(path): new_path = os.path.join(frameworks_dir, os.path.basename(path)) - args = ['cp', path, new_path] + args = ['cp', path, new_path] commands.append(args) LOGGER.info("Copying library '%s'", path) return new_path + def CopyPlugin(path, subdir): new_path = os.path.join(plugins_dir, subdir, os.path.basename(path)) args = ['mkdir', '-p', os.path.dirname(new_path)] @@ -295,10 +306,11 @@ def CopyPlugin(path, subdir): LOGGER.info("Copying plugin '%s'", path) return new_path + def CopyFramework(src_binary): while os.path.islink(src_binary): src_binary = os.path.realpath(src_binary) - + m = re.match(r'(.*/([^/]+)\.framework)/Versions/([^/]+)/.*', src_binary) if not m: raise CouldNotParseFrameworkNameError(src_binary) @@ -307,7 +319,7 @@ def CopyFramework(src_binary): name = m.group(2) version = m.group(3) - LOGGER.info("Copying framework %s version %s", name, version) + LOGGER.info('Copying framework %s version %s', name, version) dest_base = os.path.join(frameworks_dir, '%s.framework' % name) dest_dir = os.path.join(dest_base, 'Versions', version) @@ -378,14 +390,17 @@ def FindSystemLibrary(library_name): return full_path return None + def FixLibraryInstallPath(library_path, library): system_library = FindSystemLibrary(os.path.basename(library_path)) if system_library is None: - new_path = '@executable_path/../Frameworks/%s' % os.path.basename(library_path) + new_path = '@executable_path/../Frameworks/%s' % os.path.basename( + library_path) FixInstallPath(library_path, library, new_path) else: FixInstallPath(library_path, library, system_library) + def FixFrameworkInstallPath(library_path, library): parts = library_path.split(os.sep) for i, part in enumerate(parts): @@ -395,6 +410,7 @@ def FixFrameworkInstallPath(library_path, library): new_path = '@executable_path/../Frameworks/%s' % full_path FixInstallPath(library_path, library, new_path) + def FindXinePlugin(name): for path in XINEPLUGIN_SEARCH_PATH: if os.path.exists(path): @@ -431,8 +447,10 @@ def FindGioModule(name): def main(): - logging.basicConfig(filename="macdeploy.log", level=logging.DEBUG, - format='%(asctime)s %(levelname)-8s %(message)s') + logging.basicConfig( + filename='macdeploy.log', + level=logging.DEBUG, + format='%(asctime)s %(levelname)-8s %(message)s') FixBinary(binary) From df5c53af8420d14bd8a6a30a3d9d52b382e5fa4d Mon Sep 17 00:00:00 2001 From: John Maguire Date: Tue, 20 Dec 2016 13:02:06 +0000 Subject: [PATCH 02/26] Add "override" to SpotifyService. --- src/internet/spotify/spotifyservice.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/internet/spotify/spotifyservice.h b/src/internet/spotify/spotifyservice.h index da60dbf0f..b719840f8 100644 --- a/src/internet/spotify/spotifyservice.h +++ b/src/internet/spotify/spotifyservice.h @@ -95,14 +95,14 @@ class SpotifyService : public InternetService { static void SongFromProtobuf(const pb::spotify::Track& track, Song* song); -signals: + signals: void BlobStateChanged(); void LoginFinished(bool success); void ImageLoaded(const QString& id, const QImage& image); public slots: void Search(const QString& text, bool now = false); - void ShowConfig(); + void ShowConfig() override; void RemoveCurrentFromPlaylist(); private: From bd2de93e3c7625287c5bc9a676a0396ffbe0bc75 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Tue, 20 Dec 2016 14:16:42 +0000 Subject: [PATCH 03/26] Add more override specifiers. --- src/globalsearch/digitallyimportedsearchprovider.h | 4 ++-- src/globalsearch/intergalacticfmsearchprovider.h | 6 +++--- src/globalsearch/savedradiosearchprovider.h | 4 ++-- src/globalsearch/somafmsearchprovider.h | 6 +++--- src/globalsearch/spotifysearchprovider.h | 8 ++++---- src/internet/dropbox/dropboxsettingspage.h | 4 ++-- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/globalsearch/digitallyimportedsearchprovider.h b/src/globalsearch/digitallyimportedsearchprovider.h index 092c344ba..7ee366e60 100644 --- a/src/globalsearch/digitallyimportedsearchprovider.h +++ b/src/globalsearch/digitallyimportedsearchprovider.h @@ -18,8 +18,8 @@ #ifndef DIGITALLYIMPORTEDSEARCHPROVIDER_H #define DIGITALLYIMPORTEDSEARCHPROVIDER_H -#include "simplesearchprovider.h" #include "internet/digitally/digitallyimportedservicebase.h" +#include "simplesearchprovider.h" class DigitallyImportedSearchProvider : public SimpleSearchProvider { public: @@ -31,7 +31,7 @@ class DigitallyImportedSearchProvider : public SimpleSearchProvider { InternetService* internet_service() override { return service_; } protected: - void RecreateItems(); + void RecreateItems() override; private: DigitallyImportedServiceBase* service_; diff --git a/src/globalsearch/intergalacticfmsearchprovider.h b/src/globalsearch/intergalacticfmsearchprovider.h index 995c29261..6a6b4b880 100644 --- a/src/globalsearch/intergalacticfmsearchprovider.h +++ b/src/globalsearch/intergalacticfmsearchprovider.h @@ -18,8 +18,8 @@ #ifndef INTERGALACTICFMSEARCHPROVIDER_H #define INTERGALACTICFMSEARCHPROVIDER_H -#include "simplesearchprovider.h" #include "internet/intergalacticfm/intergalacticfmservice.h" +#include "simplesearchprovider.h" class IntergalacticFMSearchProvider : public SimpleSearchProvider { public: @@ -28,10 +28,10 @@ class IntergalacticFMSearchProvider : public SimpleSearchProvider { // SearchProvider InternetService* internet_service() override { return service_; } - void LoadArtAsync(int id, const Result& result); + void LoadArtAsync(int id, const Result& result) override; protected: - void RecreateItems(); + void RecreateItems() override; private: IntergalacticFMServiceBase* service_; diff --git a/src/globalsearch/savedradiosearchprovider.h b/src/globalsearch/savedradiosearchprovider.h index 0623eedee..a912427c8 100644 --- a/src/globalsearch/savedradiosearchprovider.h +++ b/src/globalsearch/savedradiosearchprovider.h @@ -18,8 +18,8 @@ #ifndef SAVEDRADIOSEARCHPROVIDER_H #define SAVEDRADIOSEARCHPROVIDER_H -#include "simplesearchprovider.h" #include "internet/internetradio/savedradio.h" +#include "simplesearchprovider.h" class SavedRadioSearchProvider : public SimpleSearchProvider { public: @@ -30,7 +30,7 @@ class SavedRadioSearchProvider : public SimpleSearchProvider { InternetService* internet_service() override { return service_; } protected: - void RecreateItems(); + void RecreateItems() override; private: SavedRadio* service_; diff --git a/src/globalsearch/somafmsearchprovider.h b/src/globalsearch/somafmsearchprovider.h index 0e231abbf..a91bb4c9d 100644 --- a/src/globalsearch/somafmsearchprovider.h +++ b/src/globalsearch/somafmsearchprovider.h @@ -18,8 +18,8 @@ #ifndef SOMAFMSEARCHPROVIDER_H #define SOMAFMSEARCHPROVIDER_H -#include "simplesearchprovider.h" #include "internet/somafm/somafmservice.h" +#include "simplesearchprovider.h" class SomaFMSearchProvider : public SimpleSearchProvider { public: @@ -28,10 +28,10 @@ class SomaFMSearchProvider : public SimpleSearchProvider { // SearchProvider InternetService* internet_service() override { return service_; } - void LoadArtAsync(int id, const Result& result); + void LoadArtAsync(int id, const Result& result) override; protected: - void RecreateItems(); + void RecreateItems() override; private: SomaFMServiceBase* service_; diff --git a/src/globalsearch/spotifysearchprovider.h b/src/globalsearch/spotifysearchprovider.h index f5c32e263..6419962cf 100644 --- a/src/globalsearch/spotifysearchprovider.h +++ b/src/globalsearch/spotifysearchprovider.h @@ -18,9 +18,9 @@ #ifndef SPOTIFYSEARCHPROVIDER_H #define SPOTIFYSEARCHPROVIDER_H +#include "internet/spotify/spotifyservice.h" #include "searchprovider.h" #include "spotifymessages.pb.h" -#include "internet/spotify/spotifyservice.h" class SpotifyServer; @@ -30,9 +30,9 @@ class SpotifySearchProvider : public SearchProvider { public: SpotifySearchProvider(Application* app, QObject* parent = nullptr); - void SearchAsync(int id, const QString& query); - void LoadArtAsync(int id, const Result& result); - QStringList GetSuggestions(int count); + void SearchAsync(int id, const QString& query) override; + void LoadArtAsync(int id, const Result& result) override; + QStringList GetSuggestions(int count) override; // SearchProvider bool IsLoggedIn() override; diff --git a/src/internet/dropbox/dropboxsettingspage.h b/src/internet/dropbox/dropboxsettingspage.h index be387336a..5a6a1f225 100644 --- a/src/internet/dropbox/dropboxsettingspage.h +++ b/src/internet/dropbox/dropboxsettingspage.h @@ -34,8 +34,8 @@ class DropboxSettingsPage : public SettingsPage { explicit DropboxSettingsPage(SettingsDialog* parent = nullptr); ~DropboxSettingsPage(); - void Load(); - void Save(); + void Load() override; + void Save() override; // QObject bool eventFilter(QObject* object, QEvent* event) override; From 3662b5e4030c050e6f08b4897db8b63c137029f8 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Tue, 20 Dec 2016 15:16:00 +0000 Subject: [PATCH 04/26] Add libdmg-hfsplus to 3rdparty --- 3rdparty/libdmg-hfsplus/CMakeLists.txt | 22 + 3rdparty/libdmg-hfsplus/LICENSE | 674 ++++++++ 3rdparty/libdmg-hfsplus/README.markdown | 71 + 3rdparty/libdmg-hfsplus/common/CMakeLists.txt | 2 + 3rdparty/libdmg-hfsplus/common/abstractfile.c | 310 ++++ 3rdparty/libdmg-hfsplus/dmg/CMakeLists.txt | 38 + 3rdparty/libdmg-hfsplus/dmg/adc.c | 116 ++ 3rdparty/libdmg-hfsplus/dmg/base64.c | 183 ++ 3rdparty/libdmg-hfsplus/dmg/checksum.c | 313 ++++ 3rdparty/libdmg-hfsplus/dmg/dmg.c | 83 + 3rdparty/libdmg-hfsplus/dmg/dmgfile.c | 257 +++ 3rdparty/libdmg-hfsplus/dmg/dmglib.c | 515 ++++++ 3rdparty/libdmg-hfsplus/dmg/filevault.c | 269 +++ 3rdparty/libdmg-hfsplus/dmg/io.c | 257 +++ 3rdparty/libdmg-hfsplus/dmg/partition.c | 790 +++++++++ 3rdparty/libdmg-hfsplus/dmg/resources.c | 850 +++++++++ 3rdparty/libdmg-hfsplus/dmg/udif.c | 129 ++ 3rdparty/libdmg-hfsplus/dmg/win32test.c | 9 + 3rdparty/libdmg-hfsplus/hdutil/CMakeLists.txt | 8 + 3rdparty/libdmg-hfsplus/hdutil/hdutil.c | 327 ++++ 3rdparty/libdmg-hfsplus/hdutil/win32test.c | 9 + 3rdparty/libdmg-hfsplus/hfs/CMakeLists.txt | 9 + 3rdparty/libdmg-hfsplus/hfs/btree.c | 1533 +++++++++++++++++ 3rdparty/libdmg-hfsplus/hfs/catalog.c | 1091 ++++++++++++ 3rdparty/libdmg-hfsplus/hfs/extents.c | 119 ++ .../libdmg-hfsplus/hfs/fastunicodecompare.c | 418 +++++ 3rdparty/libdmg-hfsplus/hfs/flatfile.c | 104 ++ 3rdparty/libdmg-hfsplus/hfs/hfs.c | 297 ++++ 3rdparty/libdmg-hfsplus/hfs/hfslib.c | 648 +++++++ 3rdparty/libdmg-hfsplus/hfs/rawfile.c | 499 ++++++ 3rdparty/libdmg-hfsplus/hfs/utility.c | 30 + 3rdparty/libdmg-hfsplus/hfs/volume.c | 162 ++ .../libdmg-hfsplus/ide/eclipse/.cdtproject | 96 ++ 3rdparty/libdmg-hfsplus/ide/eclipse/.project | 102 ++ .../.settings/org.eclipse.cdt.core.prefs | 3 + 3rdparty/libdmg-hfsplus/ide/eclipse/Makefile | 5 + .../libdmg-hfsplus.xcodeproj/david.mode1v3 | 1447 ++++++++++++++++ .../libdmg-hfsplus.xcodeproj/david.pbxuser | 236 +++ .../libdmg-hfsplus.xcodeproj/project.pbxproj | 649 +++++++ .../libdmg-hfsplus/includes/abstractfile.h | 75 + 3rdparty/libdmg-hfsplus/includes/common.h | 102 ++ 3rdparty/libdmg-hfsplus/includes/dmg/adc.h | 15 + 3rdparty/libdmg-hfsplus/includes/dmg/dmg.h | 344 ++++ .../libdmg-hfsplus/includes/dmg/dmgfile.h | 21 + 3rdparty/libdmg-hfsplus/includes/dmg/dmglib.h | 19 + .../libdmg-hfsplus/includes/dmg/filevault.h | 98 ++ 3rdparty/libdmg-hfsplus/includes/hfs/hfslib.h | 24 + .../libdmg-hfsplus/includes/hfs/hfsplus.h | 511 ++++++ 48 files changed, 13889 insertions(+) create mode 100644 3rdparty/libdmg-hfsplus/CMakeLists.txt create mode 100644 3rdparty/libdmg-hfsplus/LICENSE create mode 100644 3rdparty/libdmg-hfsplus/README.markdown create mode 100644 3rdparty/libdmg-hfsplus/common/CMakeLists.txt create mode 100644 3rdparty/libdmg-hfsplus/common/abstractfile.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/CMakeLists.txt create mode 100644 3rdparty/libdmg-hfsplus/dmg/adc.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/base64.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/checksum.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/dmg.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/dmgfile.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/dmglib.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/filevault.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/io.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/partition.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/resources.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/udif.c create mode 100644 3rdparty/libdmg-hfsplus/dmg/win32test.c create mode 100644 3rdparty/libdmg-hfsplus/hdutil/CMakeLists.txt create mode 100644 3rdparty/libdmg-hfsplus/hdutil/hdutil.c create mode 100644 3rdparty/libdmg-hfsplus/hdutil/win32test.c create mode 100644 3rdparty/libdmg-hfsplus/hfs/CMakeLists.txt create mode 100644 3rdparty/libdmg-hfsplus/hfs/btree.c create mode 100644 3rdparty/libdmg-hfsplus/hfs/catalog.c create mode 100644 3rdparty/libdmg-hfsplus/hfs/extents.c create mode 100644 3rdparty/libdmg-hfsplus/hfs/fastunicodecompare.c create mode 100644 3rdparty/libdmg-hfsplus/hfs/flatfile.c create mode 100644 3rdparty/libdmg-hfsplus/hfs/hfs.c create mode 100644 3rdparty/libdmg-hfsplus/hfs/hfslib.c create mode 100644 3rdparty/libdmg-hfsplus/hfs/rawfile.c create mode 100644 3rdparty/libdmg-hfsplus/hfs/utility.c create mode 100644 3rdparty/libdmg-hfsplus/hfs/volume.c create mode 100644 3rdparty/libdmg-hfsplus/ide/eclipse/.cdtproject create mode 100644 3rdparty/libdmg-hfsplus/ide/eclipse/.project create mode 100644 3rdparty/libdmg-hfsplus/ide/eclipse/.settings/org.eclipse.cdt.core.prefs create mode 100644 3rdparty/libdmg-hfsplus/ide/eclipse/Makefile create mode 100644 3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.mode1v3 create mode 100644 3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.pbxuser create mode 100644 3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/project.pbxproj create mode 100644 3rdparty/libdmg-hfsplus/includes/abstractfile.h create mode 100644 3rdparty/libdmg-hfsplus/includes/common.h create mode 100644 3rdparty/libdmg-hfsplus/includes/dmg/adc.h create mode 100644 3rdparty/libdmg-hfsplus/includes/dmg/dmg.h create mode 100644 3rdparty/libdmg-hfsplus/includes/dmg/dmgfile.h create mode 100644 3rdparty/libdmg-hfsplus/includes/dmg/dmglib.h create mode 100644 3rdparty/libdmg-hfsplus/includes/dmg/filevault.h create mode 100644 3rdparty/libdmg-hfsplus/includes/hfs/hfslib.h create mode 100644 3rdparty/libdmg-hfsplus/includes/hfs/hfsplus.h diff --git a/3rdparty/libdmg-hfsplus/CMakeLists.txt b/3rdparty/libdmg-hfsplus/CMakeLists.txt new file mode 100644 index 000000000..79d4302c8 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 2.6) + +project (libdmg-hfsplus) + +# We want win32 executables to build staticly by default, since it's more difficult to keep the shared libraries straight on Windows +IF(WIN32) + SET(BUILD_STATIC ON CACHE BOOL "Force compilation with static libraries") +ELSE(WIN32) + SET(BUILD_STATIC OFF CACHE BOOL "Force compilation with static libraries") +ENDIF(WIN32) + +IF(BUILD_STATIC) + SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") +ENDIF(BUILD_STATIC) + +include_directories (${PROJECT_SOURCE_DIR}/includes) + +add_subdirectory (common) +add_subdirectory (dmg) +add_subdirectory (hdutil) +add_subdirectory (hfs) + diff --git a/3rdparty/libdmg-hfsplus/LICENSE b/3rdparty/libdmg-hfsplus/LICENSE new file mode 100644 index 000000000..94a9ed024 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/3rdparty/libdmg-hfsplus/README.markdown b/3rdparty/libdmg-hfsplus/README.markdown new file mode 100644 index 000000000..efa9df428 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/README.markdown @@ -0,0 +1,71 @@ +README +====== + +This project was first conceived to manipulate Apple's software restore +packages (IPSWs) and hence much of it is geared specifically toward that +format. Useful tools to read and manipulate the internal data structures of +those files have been created to that end, and with minor changes, more +generality can be achieved in the general utility. An inexhaustive list of +such changes would be selectively enabling folder counts in HFS+, switching +between case sensitivity and non-sensitivity, and more fine-grained control +over the layout of created dmgs. + +**THE CODE HEREIN SHOULD BE CONSIDERED HIGHLY EXPERIMENTAL** + +Extensive testing have not been done, but comparatively simple tasks like +adding and removing files from a mostly contiguous filesystem are well +proven. + +Please note that these tools and routines are currently only suitable to be +accessed by other programs that know what they're doing. I.e., doing +something you "shouldn't" be able to do, like removing non-existent files is +probably not a very good idea. + +LICENSE +------- + +This work is released under the terms of the GNU General Public License, +version 3. The full text of the license can be found in the LICENSE file. + +DEPENDENCIES +------------ + +The HFS portion will work on any platform that supports GNU C and POSIX +conventions. The dmg portion has dependencies on zlib (which is included) and +libcrypto from openssl (which is not). If libcrypto is not available, remove +the -DHAVE_CRYPT flags from the CFLAGS of the makefiles. All FileVault +related actions will fail, but everything else should still work. I imagine +most places have libcrypto, and probably statically compiled zlib was a dumb +idea too. + +USING +----- + +The targets of the current repository are three command-line utilities that +demonstrate the usage of the library functions (except cmd_grow, which really +ought to be moved to catalog.c). To make compilation simpler, a complete, +unmodified copy of the zlib distribution is included. The dmg portion of the +code has dependencies on the HFS+ portion of the code. The "hdutil" section +contains a version of the HFS+ utility that supports directly reading from +dmgs. It is separate from the HFS+ utility in order that the hfs directory +does not have dependencies on the dmg directory. + +The makefile in the root folder will make all utilities. + +### HFS+ + + cd hfs + make + +### DMG + + cd dmg/zlib-1.2.3 + ./configure + make + cd .. + make + +### hdutil + cd hdiutil + make + diff --git a/3rdparty/libdmg-hfsplus/common/CMakeLists.txt b/3rdparty/libdmg-hfsplus/common/CMakeLists.txt new file mode 100644 index 000000000..6f306f2e9 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/common/CMakeLists.txt @@ -0,0 +1,2 @@ +add_library(common abstractfile.c) + diff --git a/3rdparty/libdmg-hfsplus/common/abstractfile.c b/3rdparty/libdmg-hfsplus/common/abstractfile.c new file mode 100644 index 000000000..d55aaaa7b --- /dev/null +++ b/3rdparty/libdmg-hfsplus/common/abstractfile.c @@ -0,0 +1,310 @@ +#include +#include +#include +#include +#include + +#include "abstractfile.h" +#include "common.h" + +size_t freadWrapper(AbstractFile* file, void* data, size_t len) { + return fread(data, 1, len, (FILE*) (file->data)); +} + +size_t fwriteWrapper(AbstractFile* file, const void* data, size_t len) { + return fwrite(data, 1, len, (FILE*) (file->data)); +} + +int fseekWrapper(AbstractFile* file, off_t offset) { + return fseeko((FILE*) (file->data), offset, SEEK_SET); +} + +off_t ftellWrapper(AbstractFile* file) { + return ftello((FILE*) (file->data)); +} + +void fcloseWrapper(AbstractFile* file) { + fclose((FILE*) (file->data)); + free(file); +} + +off_t fileGetLength(AbstractFile* file) { + off_t length; + off_t pos; + + pos = ftello((FILE*) (file->data)); + + fseeko((FILE*) (file->data), 0, SEEK_END); + length = ftello((FILE*) (file->data)); + + fseeko((FILE*) (file->data), pos, SEEK_SET); + + return length; +} + +AbstractFile* createAbstractFileFromFile(FILE* file) { + AbstractFile* toReturn; + + if(file == NULL) { + return NULL; + } + + toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); + toReturn->data = file; + toReturn->read = freadWrapper; + toReturn->write = fwriteWrapper; + toReturn->seek = fseekWrapper; + toReturn->tell = ftellWrapper; + toReturn->getLength = fileGetLength; + toReturn->close = fcloseWrapper; + toReturn->type = AbstractFileTypeFile; + return toReturn; +} + +size_t dummyRead(AbstractFile* file, void* data, size_t len) { + return 0; +} + +size_t dummyWrite(AbstractFile* file, const void* data, size_t len) { + *((off_t*) (file->data)) += len; + return len; +} + +int dummySeek(AbstractFile* file, off_t offset) { + *((off_t*) (file->data)) = offset; + return 0; +} + +off_t dummyTell(AbstractFile* file) { + return *((off_t*) (file->data)); +} + +void dummyClose(AbstractFile* file) { + free(file); +} + +AbstractFile* createAbstractFileFromDummy() { + AbstractFile* toReturn; + toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); + toReturn->data = NULL; + toReturn->read = dummyRead; + toReturn->write = dummyWrite; + toReturn->seek = dummySeek; + toReturn->tell = dummyTell; + toReturn->getLength = NULL; + toReturn->close = dummyClose; + toReturn->type = AbstractFileTypeDummy; + return toReturn; +} + +size_t memRead(AbstractFile* file, void* data, size_t len) { + MemWrapperInfo* info = (MemWrapperInfo*) (file->data); + if(info->bufferSize < (info->offset + len)) { + len = info->bufferSize - info->offset; + } + memcpy(data, (void*)((uint8_t*)(*(info->buffer)) + (uint32_t)info->offset), len); + info->offset += (size_t)len; + return len; +} + +size_t memWrite(AbstractFile* file, const void* data, size_t len) { + MemWrapperInfo* info = (MemWrapperInfo*) (file->data); + + while((info->offset + (size_t)len) > info->bufferSize) { + info->bufferSize <<= 1; + *(info->buffer) = realloc(*(info->buffer), info->bufferSize); + } + + memcpy((void*)((uint8_t*)(*(info->buffer)) + (uint32_t)info->offset), data, len); + info->offset += (size_t)len; + return len; +} + +int memSeek(AbstractFile* file, off_t offset) { + MemWrapperInfo* info = (MemWrapperInfo*) (file->data); + info->offset = (size_t)offset; + return 0; +} + +off_t memTell(AbstractFile* file) { + MemWrapperInfo* info = (MemWrapperInfo*) (file->data); + return (off_t)info->offset; +} + +off_t memGetLength(AbstractFile* file) { + MemWrapperInfo* info = (MemWrapperInfo*) (file->data); + return info->bufferSize; +} + +void memClose(AbstractFile* file) { + free(file->data); + free(file); +} + +AbstractFile* createAbstractFileFromMemory(void** buffer, size_t size) { + MemWrapperInfo* info; + AbstractFile* toReturn; + toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); + + info = (MemWrapperInfo*) malloc(sizeof(MemWrapperInfo)); + info->offset = 0; + info->buffer = buffer; + info->bufferSize = size; + + toReturn->data = info; + toReturn->read = memRead; + toReturn->write = memWrite; + toReturn->seek = memSeek; + toReturn->tell = memTell; + toReturn->getLength = memGetLength; + toReturn->close = memClose; + toReturn->type = AbstractFileTypeMem; + return toReturn; +} + +void abstractFilePrint(AbstractFile* file, const char* format, ...) { + va_list args; + char buffer[1024]; + size_t length; + + buffer[0] = '\0'; + va_start(args, format); + length = vsprintf(buffer, format, args); + va_end(args); + ASSERT(file->write(file, buffer, length) == length, "fwrite"); +} + +int absFileRead(io_func* io, off_t location, size_t size, void *buffer) { + AbstractFile* file; + file = (AbstractFile*) io->data; + file->seek(file, location); + if(file->read(file, buffer, size) == size) { + return TRUE; + } else { + return FALSE; + } +} + +int absFileWrite(io_func* io, off_t location, size_t size, void *buffer) { + AbstractFile* file; + file = (AbstractFile*) io->data; + file->seek(file, location); + if(file->write(file, buffer, size) == size) { + return TRUE; + } else { + return FALSE; + } +} + +void closeAbsFile(io_func* io) { + AbstractFile* file; + file = (AbstractFile*) io->data; + file->close(file); + free(io); +} + + +io_func* IOFuncFromAbstractFile(AbstractFile* file) { + io_func* io; + + io = (io_func*) malloc(sizeof(io_func)); + io->data = file; + io->read = &absFileRead; + io->write = &absFileWrite; + io->close = &closeAbsFile; + + return io; +} + +size_t memFileRead(AbstractFile* file, void* data, size_t len) { + MemFileWrapperInfo* info = (MemFileWrapperInfo*) (file->data); + memcpy(data, (void*)((uint8_t*)(*(info->buffer)) + (uint32_t)info->offset), len); + info->offset += (size_t)len; + return len; +} + +size_t memFileWrite(AbstractFile* file, const void* data, size_t len) { + MemFileWrapperInfo* info = (MemFileWrapperInfo*) (file->data); + + while((info->offset + (size_t)len) > info->actualBufferSize) { + info->actualBufferSize <<= 1; + *(info->buffer) = realloc(*(info->buffer), info->actualBufferSize); + } + + if((info->offset + (size_t)len) > (*(info->bufferSize))) { + *(info->bufferSize) = info->offset + (size_t)len; + } + + memcpy((void*)((uint8_t*)(*(info->buffer)) + (uint32_t)info->offset), data, len); + info->offset += (size_t)len; + return len; +} + +int memFileSeek(AbstractFile* file, off_t offset) { + MemFileWrapperInfo* info = (MemFileWrapperInfo*) (file->data); + info->offset = (size_t)offset; + return 0; +} + +off_t memFileTell(AbstractFile* file) { + MemFileWrapperInfo* info = (MemFileWrapperInfo*) (file->data); + return (off_t)info->offset; +} + +off_t memFileGetLength(AbstractFile* file) { + MemFileWrapperInfo* info = (MemFileWrapperInfo*) (file->data); + return *(info->bufferSize); +} + +void memFileClose(AbstractFile* file) { + free(file->data); + free(file); +} + +AbstractFile* createAbstractFileFromMemoryFile(void** buffer, size_t* size) { + MemFileWrapperInfo* info; + AbstractFile* toReturn; + toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); + + info = (MemFileWrapperInfo*) malloc(sizeof(MemFileWrapperInfo)); + info->offset = 0; + info->buffer = buffer; + info->bufferSize = size; + info->actualBufferSize = (1024 < (*size)) ? (*size) : 1024; + if(info->actualBufferSize != *(info->bufferSize)) { + *(info->buffer) = realloc(*(info->buffer), info->actualBufferSize); + } + + toReturn->data = info; + toReturn->read = memFileRead; + toReturn->write = memFileWrite; + toReturn->seek = memFileSeek; + toReturn->tell = memFileTell; + toReturn->getLength = memFileGetLength; + toReturn->close = memFileClose; + toReturn->type = AbstractFileTypeMemFile; + return toReturn; +} + +AbstractFile* createAbstractFileFromMemoryFileBuffer(void** buffer, size_t* size, size_t actualBufferSize) { + MemFileWrapperInfo* info; + AbstractFile* toReturn; + toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); + + info = (MemFileWrapperInfo*) malloc(sizeof(MemFileWrapperInfo)); + info->offset = 0; + info->buffer = buffer; + info->bufferSize = size; + info->actualBufferSize = actualBufferSize; + + toReturn->data = info; + toReturn->read = memFileRead; + toReturn->write = memFileWrite; + toReturn->seek = memFileSeek; + toReturn->tell = memFileTell; + toReturn->getLength = memFileGetLength; + toReturn->close = memFileClose; + toReturn->type = AbstractFileTypeMemFile; + return toReturn; +} + diff --git a/3rdparty/libdmg-hfsplus/dmg/CMakeLists.txt b/3rdparty/libdmg-hfsplus/dmg/CMakeLists.txt new file mode 100644 index 000000000..c30507bbf --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/CMakeLists.txt @@ -0,0 +1,38 @@ +INCLUDE(FindOpenSSL) +INCLUDE(FindZLIB) + +FIND_LIBRARY(CRYPTO_LIBRARIES crypto + PATHS + /usr/lib + /usr/local/lib + ) + +IF(NOT ZLIB_FOUND) + message(FATAL_ERROR "zlib is required for dmg!") +ENDIF(NOT ZLIB_FOUND) + +include_directories(${ZLIB_INCLUDE_DIR}) +link_directories(${ZLIB_LIBRARIES}) + +link_directories(${PROJECT_BINARY_DIR}/common ${PROJECT_BINARY_DIR}/hfs) + +add_library(dmg adc.c base64.c checksum.c dmgfile.c dmglib.c filevault.c io.c partition.c resources.c udif.c) + +IF(OPENSSL_FOUND) + add_definitions(-DHAVE_CRYPT) + include_directories(${OPENSSL_INCLUDE_DIR}) + target_link_libraries(dmg ${CRYPTO_LIBRARIES}) + IF(WIN32) + TARGET_LINK_LIBRARIES(dmg gdi32) + ENDIF(WIN32) +ENDIF(OPENSSL_FOUND) + +target_link_libraries(dmg common hfs z) + +add_executable(dmg-bin dmg.c) +target_link_libraries (dmg-bin dmg) + +set_target_properties(dmg-bin PROPERTIES OUTPUT_NAME "dmg") + +install(TARGETS dmg-bin DESTINATION .) + diff --git a/3rdparty/libdmg-hfsplus/dmg/adc.c b/3rdparty/libdmg-hfsplus/dmg/adc.c new file mode 100644 index 000000000..3712e513f --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/adc.c @@ -0,0 +1,116 @@ +#include +#include +#include +#include + +#include +#include + +size_t adc_decompress(size_t in_size, unsigned char *input, size_t avail_size, unsigned char *output, size_t *bytes_written) +{ + if (in_size == 0) + return 0; + bool output_full = false; + unsigned char *inp = input; + unsigned char *outp = output; + int chunk_type; + int chunk_size; + int offset; + int i; + + while (inp - input < in_size) { + chunk_type = adc_chunk_type(*inp); + switch (chunk_type) { + case ADC_PLAIN: + chunk_size = adc_chunk_size(*inp); + if (outp + chunk_size - output > avail_size) { + output_full = true; + break; + } + memcpy(outp, inp + 1, chunk_size); + inp += chunk_size + 1; + outp += chunk_size; + break; + + case ADC_2BYTE: + chunk_size = adc_chunk_size(*inp); + offset = adc_chunk_offset(inp); + if (outp + chunk_size - output > avail_size) { + output_full = true; + break; + } + if (offset == 0) { + memset(outp, *(outp - offset - 1), chunk_size); + outp += chunk_size; + inp += 2; + } else { + for (i = 0; i < chunk_size; i++) { + memcpy(outp, outp - offset - 1, 1); + outp++; + } + inp += 2; + } + break; + + case ADC_3BYTE: + chunk_size = adc_chunk_size(*inp); + offset = adc_chunk_offset(inp); + if (outp + chunk_size - output > avail_size) { + output_full = true; + break; + } + if (offset == 0) { + memset(outp, *(outp - offset - 1), chunk_size); + outp += chunk_size; + inp += 3; + } else { + for (i = 0; i < chunk_size; i++) { + memcpy(outp, outp - offset - 1, 1); + outp++; + } + inp += 3; + } + break; + } + if (output_full) + break; + } + *bytes_written = outp - output; + return inp - input; +} + +int adc_chunk_type(char _byte) +{ + if (_byte & 0x80) + return ADC_PLAIN; + if (_byte & 0x40) + return ADC_3BYTE; + return ADC_2BYTE; +} + +int adc_chunk_size(char _byte) +{ + switch (adc_chunk_type(_byte)) { + case ADC_PLAIN: + return (_byte & 0x7F) + 1; + case ADC_2BYTE: + return ((_byte & 0x3F) >> 2) + 3; + case ADC_3BYTE: + return (_byte & 0x3F) + 4; + } + return -1; +} + +int adc_chunk_offset(unsigned char *chunk_start) +{ + unsigned char *c = chunk_start; + switch (adc_chunk_type(*c)) { + case ADC_PLAIN: + return 0; + case ADC_2BYTE: + return ((((unsigned char)*c & 0x03)) << 8) + (unsigned char)*(c + 1); + case ADC_3BYTE: + return (((unsigned char)*(c + 1)) << 8) + (unsigned char)*(c + 2); + } + return -1; +} diff --git a/3rdparty/libdmg-hfsplus/dmg/base64.c b/3rdparty/libdmg-hfsplus/dmg/base64.c new file mode 100644 index 000000000..4e745aaef --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/base64.c @@ -0,0 +1,183 @@ +#include +#include +#include +#include + +#include + +unsigned char* decodeBase64(char* toDecode, size_t* dataLength) { + uint8_t buffer[4]; + uint8_t charsInBuffer; + unsigned char* curChar; + unsigned char* decodeBuffer; + unsigned int decodeLoc; + unsigned int decodeBufferSize; + uint8_t bytesToDrop; + + curChar = (unsigned char*) toDecode; + charsInBuffer = 0; + + decodeBufferSize = 100; + decodeLoc = 0; + decodeBuffer = (unsigned char*) malloc(decodeBufferSize); + + bytesToDrop = 0; + + while((*curChar) != '\0') { + if((*curChar) >= 'A' && (*curChar) <= 'Z') { + buffer[charsInBuffer] = (*curChar) - 'A'; + charsInBuffer++; + } + + if((*curChar) >= 'a' && (*curChar) <= 'z') { + buffer[charsInBuffer] = ((*curChar) - 'a') + ('Z' - 'A' + 1); + charsInBuffer++; + } + + if((*curChar) >= '0' && (*curChar) <= '9') { + buffer[charsInBuffer] = ((*curChar) - '0') + ('Z' - 'A' + 1) + ('z' - 'a' + 1); + charsInBuffer++; + } + + if((*curChar) == '+') { + buffer[charsInBuffer] = ('Z' - 'A' + 1) + ('z' - 'a' + 1) + ('9' - '0' + 1); + charsInBuffer++; + } + + if((*curChar) == '/') { + buffer[charsInBuffer] = ('Z' - 'A' + 1) + ('z' - 'a' + 1) + ('9' - '0' + 1) + 1; + charsInBuffer++; + } + + if((*curChar) == '=') { + bytesToDrop++; + } + + if(charsInBuffer == 4) { + charsInBuffer = 0; + + if((decodeLoc + 3) >= decodeBufferSize) { + decodeBufferSize <<= 1; + decodeBuffer = (unsigned char*) realloc(decodeBuffer, decodeBufferSize); + } + decodeBuffer[decodeLoc] = ((buffer[0] << 2) & 0xFC) + ((buffer[1] >> 4) & 0x3F); + decodeBuffer[decodeLoc + 1] = ((buffer[1] << 4) & 0xF0) + ((buffer[2] >> 2) & 0x0F); + decodeBuffer[decodeLoc + 2] = ((buffer[2] << 6) & 0xC0) + (buffer[3] & 0x3F); + + decodeLoc += 3; + buffer[0] = 0; + buffer[1] = 0; + buffer[2] = 0; + buffer[3] = 0; + } + + curChar++; + } + + if(bytesToDrop != 0) { + if((decodeLoc + 3) >= decodeBufferSize) { + decodeBufferSize <<= 1; + decodeBuffer = (unsigned char*) realloc(decodeBuffer, decodeBufferSize); + } + + decodeBuffer[decodeLoc] = ((buffer[0] << 2) & 0xFC) | ((buffer[1] >> 4) & 0x3F); + + if(bytesToDrop <= 2) + decodeBuffer[decodeLoc + 1] = ((buffer[1] << 4) & 0xF0) | ((buffer[2] >> 2) & 0x0F); + + if(bytesToDrop <= 1) + decodeBuffer[decodeLoc + 2] = ((buffer[2] << 6) & 0xC0) | (buffer[3] & 0x3F); + + *dataLength = decodeLoc + 3 - bytesToDrop; + } else { + *dataLength = decodeLoc; + } + + return decodeBuffer; +} + +void writeBase64(AbstractFile* file, unsigned char* data, size_t dataLength, int tabLength, int width) { + char* buffer; + buffer = convertBase64(data, dataLength, tabLength, width); + file->write(file, buffer, strlen(buffer)); + free(buffer); +} + +#define CHECK_BUFFER_SIZE() \ + if(pos == bufferSize) { \ + bufferSize <<= 1; \ + buffer = (unsigned char*) realloc(buffer, bufferSize); \ + } + +#define CHECK_LINE_END_STRING() \ + CHECK_BUFFER_SIZE() \ + if(width == lineLength) { \ + buffer[pos++] = '\n'; \ + CHECK_BUFFER_SIZE() \ + for(j = 0; j < tabLength; j++) { \ + buffer[pos++] = '\t'; \ + CHECK_BUFFER_SIZE() \ + } \ + lineLength = 0; \ + } else { \ + lineLength++; \ + } + +char* convertBase64(unsigned char* data, size_t dataLength, int tabLength, int width) { + const char* dictionary = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + + unsigned char* buffer; + size_t pos; + size_t bufferSize; + int i, j; + int lineLength; + + bufferSize = 100; + buffer = (unsigned char*) malloc(bufferSize); + pos = 0; + lineLength = 0; + + for(i = 0; i < tabLength; i++) { + CHECK_BUFFER_SIZE() + buffer[pos++] = '\t'; + } + i = 0; + while(dataLength >= 3) { + dataLength -= 3; + buffer[pos++] = dictionary[(data[i] >> 2) & 0x3F]; + CHECK_LINE_END_STRING(); + buffer[pos++] = dictionary[(((data[i] << 4) & 0x30) | ((data[i+1] >> 4) & 0x0F)) & 0x3F]; + CHECK_LINE_END_STRING(); + buffer[pos++] = dictionary[(((data[i+1] << 2) & 0x3C) | ((data[i+2] >> 6) & 0x03)) & 0x03F]; + CHECK_LINE_END_STRING(); + buffer[pos++] = dictionary[data[i+2] & 0x3F]; + CHECK_LINE_END_STRING(); + i += 3; + } + + if(dataLength == 2) { + buffer[pos++] = dictionary[(data[i] >> 2) & 0x3F]; + CHECK_LINE_END_STRING(); + buffer[pos++] = dictionary[(((data[i] << 4) & 0x30) | ((data[i+1] >> 4) & 0x0F)) & 0x3F]; + CHECK_LINE_END_STRING(); + buffer[pos++] = dictionary[(data[i+1] << 2) & 0x3C]; + CHECK_LINE_END_STRING(); + buffer[pos++] = '='; + } else if(dataLength == 1) { + buffer[pos++] = dictionary[(data[i] >> 2) & 0x3F]; + CHECK_LINE_END_STRING(); + buffer[pos++] = dictionary[(data[i] << 4) & 0x30]; + CHECK_LINE_END_STRING(); + buffer[pos++] = '='; + CHECK_LINE_END_STRING(); + buffer[pos++] = '='; + } + + CHECK_BUFFER_SIZE(); + buffer[pos++] = '\n'; + + CHECK_BUFFER_SIZE(); + buffer[pos++] = '\0'; + + return (char*) buffer; +} diff --git a/3rdparty/libdmg-hfsplus/dmg/checksum.c b/3rdparty/libdmg-hfsplus/dmg/checksum.c new file mode 100644 index 000000000..dc3343d82 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/checksum.c @@ -0,0 +1,313 @@ +#include +#include +#include + +#include + +void BlockSHA1CRC(void* token, const unsigned char* data, size_t len) { + ChecksumToken* ckSumToken; + ckSumToken = (ChecksumToken*) token; + MKBlockChecksum(&(ckSumToken->block), data, len); + CRC32Checksum(&(ckSumToken->crc), data, len); + SHA1Update(&(ckSumToken->sha1), data, len); +} + +void BlockCRC(void* token, const unsigned char* data, size_t len) { + ChecksumToken* ckSumToken; + ckSumToken = (ChecksumToken*) token; + MKBlockChecksum(&(ckSumToken->block), data, len); + CRC32Checksum(&(ckSumToken->crc), data, len); +} + + +void CRCProxy(void* token, const unsigned char* data, size_t len) { + ChecksumToken* ckSumToken; + ckSumToken = (ChecksumToken*) token; + CRC32Checksum(&(ckSumToken->crc), data, len); +} + +/* + * + * MediaKit block checksumming reverse-engineered from Leopard MediaKit framework + * + */ + +uint32_t MKBlockChecksum(uint32_t* ckSum, const unsigned char* data, size_t len) { + uint32_t* curDWordPtr; + uint32_t curDWord; + uint32_t myCkSum; + + myCkSum = *ckSum; + + if(data) { + curDWordPtr = (uint32_t*) data; + while(curDWordPtr < (uint32_t*)(&data[len & 0xFFFFFFFC])) { + curDWord = *curDWordPtr; + FLIPENDIAN(curDWord); + myCkSum = curDWord + ((myCkSum >> 31) | (myCkSum << 1)); + curDWordPtr++; + } + } + + *ckSum = myCkSum; + return myCkSum; +} + + +/* + * CRC32 code ripped off (and adapted) from the zlib-1.1.3 distribution by Jean-loup Gailly and Mark Adler. + * + * Copyright (C) 1995-1998 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + * + */ + +/* ======================================================================== + * Table of CRC-32's of all single-byte values (made by make_crc_table) + */ +static uint64_t crc_table[256] = { + 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, + 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, + 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, + 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, + 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, + 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, + 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, + 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, + 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, + 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, + 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, + 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, + 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, + 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, + 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, + 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, + 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, + 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, + 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, + 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, + 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, + 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, + 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, + 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, + 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, + 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, + 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, + 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, + 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, + 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, + 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, + 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, + 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, + 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, + 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, + 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, + 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, + 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, + 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, + 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, + 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, + 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, + 0x68ddb3f8l, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, + 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, + 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, + 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, + 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, + 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, + 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, + 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, + 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, + 0x2d02ef8dL +}; + +/* ========================================================================= */ +#define DO1(buf) crc = crc_table[((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8); +#define DO2(buf) DO1(buf); DO1(buf); +#define DO4(buf) DO2(buf); DO2(buf); +#define DO8(buf) DO4(buf); DO4(buf); + +/* ========================================================================= */ +uint32_t CRC32Checksum(uint32_t* ckSum, const unsigned char *buf, size_t len) +{ + uint32_t crc; + + crc = *ckSum; + + if (buf == NULL) return crc; + + crc = crc ^ 0xffffffffL; + while (len >= 8) + { + DO8(buf); + len -= 8; + } + if (len) + { + do { +DO1(buf); + } while (--len); + } + + crc = crc ^ 0xffffffffL; + + *ckSum = crc; + return crc; +} + +/* +SHA-1 in C +By Steve Reid +100% Public Domain + +Test Vectors (from FIPS PUB 180-1) +"abc" + A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D +"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" + 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 +A million repetitions of "a" + 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F +*/ + +#define SHA1HANDSOFF * Copies data before messing with it. + +#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) + +/* blk0() and blk() perform the initial expand. */ +/* I got the idea of expanding during the round function from SSLeay */ + +#define blk0(i) ((endianness == IS_LITTLE_ENDIAN) ? (block->l[i] = (rol(block->l[i],24)&0xFF00FF00) \ + |(rol(block->l[i],8)&0x00FF00FF)) : block->l[i]) + +#define blk(i) (block->l[i&15] = rol(block->l[(i+13)&15]^block->l[(i+8)&15] \ + ^block->l[(i+2)&15]^block->l[i&15],1)) + +/* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */ +#define R0(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30); +#define R1(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30); +#define R2(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30); +#define R3(v,w,x,y,z,i) z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30); +#define R4(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30); + + +/* Hash a single 512-bit block. This is the core of the algorithm. */ + +void SHA1Transform(unsigned long state[5], const unsigned char buffer[64]) +{ +unsigned long a, b, c, d, e; +typedef union { + unsigned char c[64]; + unsigned long l[16]; +} CHAR64LONG16; +CHAR64LONG16* block; +#ifdef SHA1HANDSOFF +static unsigned char workspace[64]; + block = (CHAR64LONG16*)workspace; + memcpy(block, buffer, 64); +#else + block = (CHAR64LONG16*)buffer; +#endif + /* Copy context->state[] to working vars */ + a = state[0]; + b = state[1]; + c = state[2]; + d = state[3]; + e = state[4]; + /* 4 rounds of 20 operations each. Loop unrolled. */ + R0(a,b,c,d,e, 0); R0(e,a,b,c,d, 1); R0(d,e,a,b,c, 2); R0(c,d,e,a,b, 3); + R0(b,c,d,e,a, 4); R0(a,b,c,d,e, 5); R0(e,a,b,c,d, 6); R0(d,e,a,b,c, 7); + R0(c,d,e,a,b, 8); R0(b,c,d,e,a, 9); R0(a,b,c,d,e,10); R0(e,a,b,c,d,11); + R0(d,e,a,b,c,12); R0(c,d,e,a,b,13); R0(b,c,d,e,a,14); R0(a,b,c,d,e,15); + R1(e,a,b,c,d,16); R1(d,e,a,b,c,17); R1(c,d,e,a,b,18); R1(b,c,d,e,a,19); + R2(a,b,c,d,e,20); R2(e,a,b,c,d,21); R2(d,e,a,b,c,22); R2(c,d,e,a,b,23); + R2(b,c,d,e,a,24); R2(a,b,c,d,e,25); R2(e,a,b,c,d,26); R2(d,e,a,b,c,27); + R2(c,d,e,a,b,28); R2(b,c,d,e,a,29); R2(a,b,c,d,e,30); R2(e,a,b,c,d,31); + R2(d,e,a,b,c,32); R2(c,d,e,a,b,33); R2(b,c,d,e,a,34); R2(a,b,c,d,e,35); + R2(e,a,b,c,d,36); R2(d,e,a,b,c,37); R2(c,d,e,a,b,38); R2(b,c,d,e,a,39); + R3(a,b,c,d,e,40); R3(e,a,b,c,d,41); R3(d,e,a,b,c,42); R3(c,d,e,a,b,43); + R3(b,c,d,e,a,44); R3(a,b,c,d,e,45); R3(e,a,b,c,d,46); R3(d,e,a,b,c,47); + R3(c,d,e,a,b,48); R3(b,c,d,e,a,49); R3(a,b,c,d,e,50); R3(e,a,b,c,d,51); + R3(d,e,a,b,c,52); R3(c,d,e,a,b,53); R3(b,c,d,e,a,54); R3(a,b,c,d,e,55); + R3(e,a,b,c,d,56); R3(d,e,a,b,c,57); R3(c,d,e,a,b,58); R3(b,c,d,e,a,59); + R4(a,b,c,d,e,60); R4(e,a,b,c,d,61); R4(d,e,a,b,c,62); R4(c,d,e,a,b,63); + R4(b,c,d,e,a,64); R4(a,b,c,d,e,65); R4(e,a,b,c,d,66); R4(d,e,a,b,c,67); + R4(c,d,e,a,b,68); R4(b,c,d,e,a,69); R4(a,b,c,d,e,70); R4(e,a,b,c,d,71); + R4(d,e,a,b,c,72); R4(c,d,e,a,b,73); R4(b,c,d,e,a,74); R4(a,b,c,d,e,75); + R4(e,a,b,c,d,76); R4(d,e,a,b,c,77); R4(c,d,e,a,b,78); R4(b,c,d,e,a,79); + /* Add the working vars back into context.state[] */ + state[0] += a; + state[1] += b; + state[2] += c; + state[3] += d; + state[4] += e; + /* Wipe variables */ + a = b = c = d = e = 0; +} + + +/* SHA1Init - Initialize new context */ + +void SHA1Init(SHA1_CTX* context) +{ + /* SHA1 initialization constants */ + context->state[0] = 0x67452301; + context->state[1] = 0xEFCDAB89; + context->state[2] = 0x98BADCFE; + context->state[3] = 0x10325476; + context->state[4] = 0xC3D2E1F0; + context->count[0] = context->count[1] = 0; +} + + +/* Run your data through this. */ + +void SHA1Update(SHA1_CTX* context, const unsigned char* data, unsigned int len) +{ +unsigned int i, j; + + j = (context->count[0] >> 3) & 63; + if ((context->count[0] += len << 3) < (len << 3)) context->count[1]++; + context->count[1] += (len >> 29); + if ((j + len) > 63) { + memcpy(&context->buffer[j], data, (i = 64-j)); + SHA1Transform(context->state, context->buffer); + for ( ; i + 63 < len; i += 64) { + SHA1Transform(context->state, &data[i]); + } + j = 0; + } + else i = 0; + memcpy(&context->buffer[j], &data[i], len - i); +} + + +/* Add padding and return the message digest. */ + +void SHA1Final(unsigned char digest[20], SHA1_CTX* context) +{ +unsigned long i, j; +unsigned char finalcount[8]; + + for (i = 0; i < 8; i++) { + finalcount[i] = (unsigned char)((context->count[(i >= 4 ? 0 : 1)] + >> ((3-(i & 3)) * 8) ) & 255); /* Endian independent */ + } + SHA1Update(context, (unsigned char *)"\200", 1); + while ((context->count[0] & 504) != 448) { + SHA1Update(context, (unsigned char *)"\0", 1); + } + SHA1Update(context, finalcount, 8); /* Should cause a SHA1Transform() */ + for (i = 0; i < 20; i++) { + digest[i] = (unsigned char) + ((context->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255); + } + /* Wipe variables */ + i = j = 0; + memset(context->buffer, 0, 64); + memset(context->state, 0, 20); + memset(context->count, 0, 8); + memset(&finalcount, 0, 8); +#ifdef SHA1HANDSOFF /* make SHA1Transform overwrite it's own static vars */ + SHA1Transform(context->state, context->buffer); +#endif +} + diff --git a/3rdparty/libdmg-hfsplus/dmg/dmg.c b/3rdparty/libdmg-hfsplus/dmg/dmg.c new file mode 100644 index 000000000..bfec94779 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/dmg.c @@ -0,0 +1,83 @@ +#include +#include +#include +#include + +#include +#include + +char endianness; + +void TestByteOrder() +{ + short int word = 0x0001; + char *byte = (char *) &word; + endianness = byte[0] ? IS_LITTLE_ENDIAN : IS_BIG_ENDIAN; +} + +int buildInOut(const char* source, const char* dest, AbstractFile** in, AbstractFile** out) { + *in = createAbstractFileFromFile(fopen(source, "rb")); + if(!(*in)) { + printf("cannot open source: %s\n", source); + return FALSE; + } + + *out = createAbstractFileFromFile(fopen(dest, "wb")); + if(!(*out)) { + (*in)->close(*in); + printf("cannot open destination: %s\n", dest); + return FALSE; + } + + return TRUE; +} + +int main(int argc, char* argv[]) { + int partNum; + AbstractFile* in; + AbstractFile* out; + int hasKey; + + TestByteOrder(); + + if(argc < 4) { + printf("usage: %s [extract|build|iso|dmg] (-k ) (partition)\n", argv[0]); + return 0; + } + + if(!buildInOut(argv[2], argv[3], &in, &out)) { + return FALSE; + } + + hasKey = FALSE; + if(argc > 5) { + if(strcmp(argv[4], "-k") == 0) { + in = createAbstractFileFromFileVault(in, argv[5]); + hasKey = TRUE; + } + } + + + if(strcmp(argv[1], "extract") == 0) { + partNum = -1; + + if(hasKey) { + if(argc > 6) { + sscanf(argv[6], "%d", &partNum); + } + } else { + if(argc > 4) { + sscanf(argv[4], "%d", &partNum); + } + } + extractDmg(in, out, partNum); + } else if(strcmp(argv[1], "build") == 0) { + buildDmg(in, out); + } else if(strcmp(argv[1], "iso") == 0) { + convertToISO(in, out); + } else if(strcmp(argv[1], "dmg") == 0) { + convertToDMG(in, out); + } + + return 0; +} diff --git a/3rdparty/libdmg-hfsplus/dmg/dmgfile.c b/3rdparty/libdmg-hfsplus/dmg/dmgfile.c new file mode 100644 index 000000000..e7301a773 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/dmgfile.c @@ -0,0 +1,257 @@ +/* + * dmgfile.c + * libdmg-hfsplus + */ + +#include +#include +#include + +#include +#include +#include + +static void cacheRun(DMG* dmg, BLKXTable* blkx, int run) { + size_t bufferSize; + z_stream strm; + void* inBuffer; + int ret; + size_t have; + + if(dmg->runData) { + free(dmg->runData); + } + + bufferSize = SECTOR_SIZE * blkx->runs[run].sectorCount; + + dmg->runData = (void*) malloc(bufferSize); + inBuffer = (void*) malloc(bufferSize); + memset(dmg->runData, 0, bufferSize); + + ASSERT(dmg->dmg->seek(dmg->dmg, blkx->dataStart + blkx->runs[run].compOffset) == 0, "fseeko"); + + switch(blkx->runs[run].type) { + case BLOCK_ADC: + { + size_t bufferRead = 0; + do { + strm.avail_in = dmg->dmg->read(dmg->dmg, inBuffer, blkx->runs[run].compLength); + strm.avail_out = adc_decompress(strm.avail_in, inBuffer, bufferSize, dmg->runData, &have); + bufferRead+=strm.avail_out; + } while (bufferRead < blkx->runs[run].compLength); + break; + } + + case BLOCK_ZLIB: + strm.zalloc = Z_NULL; + strm.zfree = Z_NULL; + strm.opaque = Z_NULL; + strm.avail_in = 0; + strm.next_in = Z_NULL; + + ASSERT(inflateInit(&strm) == Z_OK, "inflateInit"); + + ASSERT((strm.avail_in = dmg->dmg->read(dmg->dmg, inBuffer, blkx->runs[run].compLength)) == blkx->runs[run].compLength, "fread"); + strm.next_in = (unsigned char*) inBuffer; + + do { + strm.avail_out = bufferSize; + strm.next_out = (unsigned char*) dmg->runData; + ASSERT((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_ERROR, "inflate/Z_STREAM_ERROR"); + if(ret != Z_OK && ret != Z_BUF_ERROR && ret != Z_STREAM_END) { + ASSERT(FALSE, "inflate"); + } + have = bufferSize - strm.avail_out; + } while (strm.avail_out == 0); + + ASSERT(inflateEnd(&strm) == Z_OK, "inflateEnd"); + break; + case BLOCK_RAW: + ASSERT((have = dmg->dmg->read(dmg->dmg, dmg->runData, blkx->runs[run].compLength)) == blkx->runs[run].compLength, "fread"); + break; + case BLOCK_IGNORE: + break; + case BLOCK_COMMENT: + break; + case BLOCK_TERMINATOR: + break; + default: + break; + } + + dmg->runStart = (blkx->runs[run].sectorStart + blkx->firstSectorNumber) * SECTOR_SIZE; + dmg->runEnd = dmg->runStart + (blkx->runs[run].sectorCount * SECTOR_SIZE); +} + +static void cacheOffset(DMG* dmg, off_t location) { + int i; + int j; + uint64_t sector; + + sector = (uint64_t)(location / SECTOR_SIZE); + + for(i = 0; i < dmg->numBLKX; i++) { + if(sector >= dmg->blkx[i]->firstSectorNumber && sector < (dmg->blkx[i]->firstSectorNumber + dmg->blkx[i]->sectorCount)) { + for(j = 0; j < dmg->blkx[i]->blocksRunCount; j++) { + if(sector >= (dmg->blkx[i]->firstSectorNumber + dmg->blkx[i]->runs[j].sectorStart) && + sector < (dmg->blkx[i]->firstSectorNumber + dmg->blkx[i]->runs[j].sectorStart + dmg->blkx[i]->runs[j].sectorCount)) { + cacheRun(dmg, dmg->blkx[i], j); + } + } + } + } +} + +static int dmgFileRead(io_func* io, off_t location, size_t size, void *buffer) { + DMG* dmg; + size_t toRead; + + dmg = (DMG*) io->data; + + location += dmg->offset; + + if(size == 0) { + return TRUE; + } + + if(location < dmg->runStart || location >= dmg->runEnd) { + cacheOffset(dmg, location); + } + + if((location + size) > dmg->runEnd) { + toRead = dmg->runEnd - location; + } else { + toRead = size; + } + + memcpy(buffer, (void*)((uint8_t*)dmg->runData + (uint32_t)(location - dmg->runStart)), toRead); + size -= toRead; + location += toRead; + buffer = (void*)((uint8_t*)buffer + toRead); + + if(size > 0) { + return dmgFileRead(io, location - dmg->offset, size, buffer); + } else { + return TRUE; + } +} + +static int dmgFileWrite(io_func* io, off_t location, size_t size, void *buffer) { + fprintf(stderr, "Error: writing to DMGs is not supported (impossible to achieve with compressed images and retain asr multicast ordering).\n"); + return FALSE; +} + + +static void closeDmgFile(io_func* io) { + DMG* dmg; + + dmg = (DMG*) io->data; + + if(dmg->runData) { + free(dmg->runData); + } + + free(dmg->blkx); + releaseResources(dmg->resources); + dmg->dmg->close(dmg->dmg); + free(dmg); + free(io); +} + +io_func* openDmgFile(AbstractFile* abstractIn) { + off_t fileLength; + UDIFResourceFile resourceFile; + DMG* dmg; + ResourceData* blkx; + ResourceData* curData; + int i; + + io_func* toReturn; + + if(abstractIn == NULL) { + return NULL; + } + + fileLength = abstractIn->getLength(abstractIn); + abstractIn->seek(abstractIn, fileLength - sizeof(UDIFResourceFile)); + readUDIFResourceFile(abstractIn, &resourceFile); + + dmg = (DMG*) malloc(sizeof(DMG)); + dmg->dmg = abstractIn; + dmg->resources = readResources(abstractIn, &resourceFile); + dmg->numBLKX = 0; + + blkx = (getResourceByKey(dmg->resources, "blkx"))->data; + + curData = blkx; + while(curData != NULL) { + dmg->numBLKX++; + curData = curData->next; + } + + dmg->blkx = (BLKXTable**) malloc(sizeof(BLKXTable*) * dmg->numBLKX); + + i = 0; + while(blkx != NULL) { + dmg->blkx[i] = (BLKXTable*)(blkx->data); + i++; + blkx = blkx->next; + } + + dmg->offset = 0; + + dmg->runData = NULL; + cacheOffset(dmg, 0); + + toReturn = (io_func*) malloc(sizeof(io_func)); + + toReturn->data = dmg; + toReturn->read = &dmgFileRead; + toReturn->write = &dmgFileWrite; + toReturn->close = &closeDmgFile; + + return toReturn; +} + +io_func* openDmgFilePartition(AbstractFile* abstractIn, int partition) { + io_func* toReturn; + Partition* partitions; + uint8_t ddmBuffer[SECTOR_SIZE]; + DriverDescriptorRecord* ddm; + int numPartitions; + int i; + unsigned int BlockSize; + + toReturn = openDmgFile(abstractIn); + + if(toReturn == NULL) { + return NULL; + } + + toReturn->read(toReturn, 0, SECTOR_SIZE, ddmBuffer); + ddm = (DriverDescriptorRecord*) ddmBuffer; + flipDriverDescriptorRecord(ddm, FALSE); + BlockSize = ddm->sbBlkSize; + + partitions = (Partition*) malloc(BlockSize); + toReturn->read(toReturn, BlockSize, BlockSize, partitions); + flipPartitionMultiple(partitions, FALSE, FALSE, BlockSize); + numPartitions = partitions->pmMapBlkCnt; + partitions = (Partition*) realloc(partitions, numPartitions * BlockSize); + toReturn->read(toReturn, BlockSize, numPartitions * BlockSize, partitions); + flipPartition(partitions, FALSE, BlockSize); + + if(partition >= 0) { + ((DMG*)toReturn->data)->offset = partitions[partition].pmPyPartStart * BlockSize; + } else { + for(i = 0; i < numPartitions; i++) { + if(strcmp((char*)partitions->pmParType, "Apple_HFSX") == 0 || strcmp((char*)partitions->pmParType, "Apple_HFS") == 0) { + ((DMG*)toReturn->data)->offset = partitions->pmPyPartStart * BlockSize; + break; + } + partitions = (Partition*)((uint8_t*)partitions + BlockSize); + } + } + + return toReturn; +} diff --git a/3rdparty/libdmg-hfsplus/dmg/dmglib.c b/3rdparty/libdmg-hfsplus/dmg/dmglib.c new file mode 100644 index 000000000..e27c487aa --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/dmglib.c @@ -0,0 +1,515 @@ +#include +#include "common.h" +#include "abstractfile.h" +#include + +uint32_t calculateMasterChecksum(ResourceKey* resources); + +int extractDmg(AbstractFile* abstractIn, AbstractFile* abstractOut, int partNum) { + off_t fileLength; + UDIFResourceFile resourceFile; + ResourceKey* resources; + ResourceData* blkxData; + + fileLength = abstractIn->getLength(abstractIn); + abstractIn->seek(abstractIn, fileLength - sizeof(UDIFResourceFile)); + readUDIFResourceFile(abstractIn, &resourceFile); + resources = readResources(abstractIn, &resourceFile); + + printf("Writing out data..\n"); fflush(stdout); + + /* reasonable assumption that 2 is the main partition, given that that's usually the case in SPUD layouts */ + if(partNum < 0) { + blkxData = getResourceByKey(resources, "blkx")->data; + while(blkxData != NULL) { + if(strstr(blkxData->name, "Apple_HFS") != NULL) { + break; + } + blkxData = blkxData->next; + } + } else { + blkxData = getDataByID(getResourceByKey(resources, "blkx"), partNum); + } + + if(blkxData) { + extractBLKX(abstractIn, abstractOut, (BLKXTable*)(blkxData->data)); + } else { + printf("BLKX not found!\n"); fflush(stdout); + } + abstractOut->close(abstractOut); + + releaseResources(resources); + abstractIn->close(abstractIn); + + return TRUE; +} + +uint32_t calculateMasterChecksum(ResourceKey* resources) { + ResourceKey* blkxKeys; + ResourceData* data; + BLKXTable* blkx; + unsigned char* buffer; + int blkxNum; + uint32_t result; + + blkxKeys = getResourceByKey(resources, "blkx"); + + data = blkxKeys->data; + blkxNum = 0; + while(data != NULL) { + blkx = (BLKXTable*) data->data; + if(blkx->checksum.type == CHECKSUM_CRC32) { + blkxNum++; + } + data = data->next; + } + + buffer = (unsigned char*) malloc(4 * blkxNum) ; + data = blkxKeys->data; + blkxNum = 0; + while(data != NULL) { + blkx = (BLKXTable*) data->data; + if(blkx->checksum.type == CHECKSUM_CRC32) { + buffer[(blkxNum * 4) + 0] = (blkx->checksum.data[0] >> 24) & 0xff; + buffer[(blkxNum * 4) + 1] = (blkx->checksum.data[0] >> 16) & 0xff; + buffer[(blkxNum * 4) + 2] = (blkx->checksum.data[0] >> 8) & 0xff; + buffer[(blkxNum * 4) + 3] = (blkx->checksum.data[0] >> 0) & 0xff; + blkxNum++; + } + data = data->next; + } + + result = 0; + CRC32Checksum(&result, (const unsigned char*) buffer, 4 * blkxNum); + free(buffer); + return result; +} + +int buildDmg(AbstractFile* abstractIn, AbstractFile* abstractOut) { + io_func* io; + Volume* volume; + + HFSPlusVolumeHeader* volumeHeader; + DriverDescriptorRecord* DDM; + Partition* partitions; + + ResourceKey* resources; + ResourceKey* curResource; + + NSizResource* nsiz; + NSizResource* myNSiz; + CSumResource csum; + + BLKXTable* blkx; + ChecksumToken uncompressedToken; + + ChecksumToken dataForkToken; + + UDIFResourceFile koly; + + off_t plistOffset; + uint32_t plistSize; + uint32_t dataForkChecksum; + + io = IOFuncFromAbstractFile(abstractIn); + volume = openVolume(io); + volumeHeader = volume->volumeHeader; + + + if(volumeHeader->signature != HFSX_SIGNATURE) { + printf("Warning: ASR data only reverse engineered for case-sensitive HFS+ volumes\n");fflush(stdout); + } + + resources = NULL; + nsiz = NULL; + + memset(&dataForkToken, 0, sizeof(ChecksumToken)); + memset(koly.fUDIFMasterChecksum.data, 0, sizeof(koly.fUDIFMasterChecksum.data)); + memset(koly.fUDIFDataForkChecksum.data, 0, sizeof(koly.fUDIFDataForkChecksum.data)); + + printf("Creating and writing DDM and partition map...\n"); fflush(stdout); + + DDM = createDriverDescriptorMap((volumeHeader->totalBlocks * volumeHeader->blockSize)/SECTOR_SIZE); + + partitions = createApplePartitionMap((volumeHeader->totalBlocks * volumeHeader->blockSize)/SECTOR_SIZE, HFSX_VOLUME_TYPE); + + writeDriverDescriptorMap(abstractOut, DDM, &CRCProxy, (void*) (&dataForkToken), &resources); + free(DDM); + writeApplePartitionMap(abstractOut, partitions, &CRCProxy, (void*) (&dataForkToken), &resources, &nsiz); + free(partitions); + writeATAPI(abstractOut, &CRCProxy, (void*) (&dataForkToken), &resources, &nsiz); + + memset(&uncompressedToken, 0, sizeof(uncompressedToken)); + SHA1Init(&(uncompressedToken.sha1)); + + printf("Writing main data blkx...\n"); fflush(stdout); + + abstractIn->seek(abstractIn, 0); + blkx = insertBLKX(abstractOut, abstractIn, USER_OFFSET, (volumeHeader->totalBlocks * volumeHeader->blockSize)/SECTOR_SIZE, + 2, CHECKSUM_CRC32, &BlockSHA1CRC, &uncompressedToken, &CRCProxy, &dataForkToken, volume); + + blkx->checksum.data[0] = uncompressedToken.crc; + printf("Inserting main blkx...\n"); fflush(stdout); + + resources = insertData(resources, "blkx", 2, "Mac_OS_X (Apple_HFSX : 3)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); + free(blkx); + + + printf("Inserting cSum data...\n"); fflush(stdout); + + csum.version = 1; + csum.type = CHECKSUM_MKBLOCK; + csum.checksum = uncompressedToken.block; + + resources = insertData(resources, "cSum", 2, "", (const char*) (&csum), sizeof(csum), 0); + + printf("Inserting nsiz data\n"); fflush(stdout); + + myNSiz = (NSizResource*) malloc(sizeof(NSizResource)); + memset(myNSiz, 0, sizeof(NSizResource)); + myNSiz->isVolume = TRUE; + myNSiz->blockChecksum2 = uncompressedToken.block; + myNSiz->partitionNumber = 2; + myNSiz->version = 6; + myNSiz->bytes = (volumeHeader->totalBlocks - volumeHeader->freeBlocks) * volumeHeader->blockSize; + myNSiz->modifyDate = volumeHeader->modifyDate; + myNSiz->volumeSignature = volumeHeader->signature; + myNSiz->sha1Digest = (unsigned char *)malloc(20); + SHA1Final(myNSiz->sha1Digest, &(uncompressedToken.sha1)); + myNSiz->next = NULL; + if(nsiz == NULL) { + nsiz = myNSiz; + } else { + myNSiz->next = nsiz->next; + nsiz->next = myNSiz; + } + + printf("Writing free partition...\n"); fflush(stdout); + + writeFreePartition(abstractOut, (volumeHeader->totalBlocks * volumeHeader->blockSize)/SECTOR_SIZE, &resources); + + dataForkChecksum = dataForkToken.crc; + + printf("Writing XML data...\n"); fflush(stdout); + curResource = resources; + while(curResource->next != NULL) + curResource = curResource->next; + + curResource->next = writeNSiz(nsiz); + curResource = curResource->next; + releaseNSiz(nsiz); + + curResource->next = makePlst(); + curResource = curResource->next; + + curResource->next = makeSize(volumeHeader); + curResource = curResource->next; + + plistOffset = abstractOut->tell(abstractOut); + writeResources(abstractOut, resources); + plistSize = abstractOut->tell(abstractOut) - plistOffset; + + printf("Generating UDIF metadata...\n"); fflush(stdout); + + koly.fUDIFSignature = KOLY_SIGNATURE; + koly.fUDIFVersion = 4; + koly.fUDIFHeaderSize = sizeof(koly); + koly.fUDIFFlags = kUDIFFlagsFlattened; + koly.fUDIFRunningDataForkOffset = 0; + koly.fUDIFDataForkOffset = 0; + koly.fUDIFDataForkLength = plistOffset; + koly.fUDIFRsrcForkOffset = 0; + koly.fUDIFRsrcForkLength = 0; + + koly.fUDIFSegmentNumber = 1; + koly.fUDIFSegmentCount = 1; + koly.fUDIFSegmentID.data1 = rand(); + koly.fUDIFSegmentID.data2 = rand(); + koly.fUDIFSegmentID.data3 = rand(); + koly.fUDIFSegmentID.data4 = rand(); + koly.fUDIFDataForkChecksum.type = CHECKSUM_CRC32; + koly.fUDIFDataForkChecksum.size = 0x20; + koly.fUDIFDataForkChecksum.data[0] = dataForkChecksum; + koly.fUDIFXMLOffset = plistOffset; + koly.fUDIFXMLLength = plistSize; + memset(&(koly.reserved1), 0, 0x78); + + koly.fUDIFMasterChecksum.type = CHECKSUM_CRC32; + koly.fUDIFMasterChecksum.size = 0x20; + koly.fUDIFMasterChecksum.data[0] = calculateMasterChecksum(resources); + printf("Master checksum: %x\n", koly.fUDIFMasterChecksum.data[0]); fflush(stdout); + + koly.fUDIFImageVariant = kUDIFDeviceImageType; + koly.fUDIFSectorCount = EXTRA_SIZE + (volumeHeader->totalBlocks * volumeHeader->blockSize)/SECTOR_SIZE; + koly.reserved2 = 0; + koly.reserved3 = 0; + koly.reserved4 = 0; + + printf("Writing out UDIF resource file...\n"); fflush(stdout); + + writeUDIFResourceFile(abstractOut, &koly); + + printf("Cleaning up...\n"); fflush(stdout); + + releaseResources(resources); + + abstractOut->close(abstractOut); + closeVolume(volume); + CLOSE(io); + + printf("Done.\n"); fflush(stdout); + + return TRUE; +} + +int convertToDMG(AbstractFile* abstractIn, AbstractFile* abstractOut) { + Partition* partitions; + DriverDescriptorRecord* DDM; + int i; + + BLKXTable* blkx; + ResourceKey* resources; + ResourceKey* curResource; + + ChecksumToken dataForkToken; + ChecksumToken uncompressedToken; + + NSizResource* nsiz; + NSizResource* myNSiz; + CSumResource csum; + + off_t plistOffset; + uint32_t plistSize; + uint32_t dataForkChecksum; + uint64_t numSectors; + + UDIFResourceFile koly; + + char partitionName[512]; + + off_t fileLength; + size_t partitionTableSize; + + unsigned int BlockSize; + + numSectors = 0; + + resources = NULL; + nsiz = NULL; + myNSiz = NULL; + memset(&dataForkToken, 0, sizeof(ChecksumToken)); + memset(koly.fUDIFMasterChecksum.data, 0, sizeof(koly.fUDIFMasterChecksum.data)); + memset(koly.fUDIFDataForkChecksum.data, 0, sizeof(koly.fUDIFDataForkChecksum.data)); + + partitions = (Partition*) malloc(SECTOR_SIZE); + + printf("Processing DDM...\n"); fflush(stdout); + DDM = (DriverDescriptorRecord*) malloc(SECTOR_SIZE); + abstractIn->seek(abstractIn, 0); + ASSERT(abstractIn->read(abstractIn, DDM, SECTOR_SIZE) == SECTOR_SIZE, "fread"); + flipDriverDescriptorRecord(DDM, FALSE); + + if(DDM->sbSig == DRIVER_DESCRIPTOR_SIGNATURE) { + BlockSize = DDM->sbBlkSize; + writeDriverDescriptorMap(abstractOut, DDM, &CRCProxy, (void*) (&dataForkToken), &resources); + free(DDM); + + printf("Processing partition map...\n"); fflush(stdout); + + abstractIn->seek(abstractIn, BlockSize); + ASSERT(abstractIn->read(abstractIn, partitions, BlockSize) == BlockSize, "fread"); + flipPartitionMultiple(partitions, FALSE, FALSE, BlockSize); + + partitionTableSize = BlockSize * partitions->pmMapBlkCnt; + partitions = (Partition*) realloc(partitions, partitionTableSize); + + abstractIn->seek(abstractIn, BlockSize); + ASSERT(abstractIn->read(abstractIn, partitions, partitionTableSize) == partitionTableSize, "fread"); + flipPartition(partitions, FALSE, BlockSize); + + printf("Writing blkx (%d)...\n", partitions->pmMapBlkCnt); fflush(stdout); + + for(i = 0; i < partitions->pmMapBlkCnt; i++) { + if(partitions[i].pmSig != APPLE_PARTITION_MAP_SIGNATURE) { + break; + } + + printf("Processing blkx %d, total %d...\n", i, partitions->pmMapBlkCnt); fflush(stdout); + + sprintf(partitionName, "%s (%s : %d)", partitions[i].pmPartName, partitions[i].pmParType, i + 1); + + memset(&uncompressedToken, 0, sizeof(uncompressedToken)); + + abstractIn->seek(abstractIn, partitions[i].pmPyPartStart * BlockSize); + blkx = insertBLKX(abstractOut, abstractIn, partitions[i].pmPyPartStart, partitions[i].pmPartBlkCnt, i, CHECKSUM_CRC32, + &BlockCRC, &uncompressedToken, &CRCProxy, &dataForkToken, NULL); + + blkx->checksum.data[0] = uncompressedToken.crc; + resources = insertData(resources, "blkx", i, partitionName, (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); + free(blkx); + + memset(&csum, 0, sizeof(CSumResource)); + csum.version = 1; + csum.type = CHECKSUM_MKBLOCK; + csum.checksum = uncompressedToken.block; + resources = insertData(resources, "cSum", i, "", (const char*) (&csum), sizeof(csum), 0); + + if(nsiz == NULL) { + nsiz = myNSiz = (NSizResource*) malloc(sizeof(NSizResource)); + } else { + myNSiz->next = (NSizResource*) malloc(sizeof(NSizResource)); + myNSiz = myNSiz->next; + } + + memset(myNSiz, 0, sizeof(NSizResource)); + myNSiz->isVolume = FALSE; + myNSiz->blockChecksum2 = uncompressedToken.block; + myNSiz->partitionNumber = i; + myNSiz->version = 6; + myNSiz->next = NULL; + + if((partitions[i].pmPyPartStart + partitions[i].pmPartBlkCnt) > numSectors) { + numSectors = partitions[i].pmPyPartStart + partitions[i].pmPartBlkCnt; + } + } + + koly.fUDIFImageVariant = kUDIFDeviceImageType; + } else { + printf("No DDM! Just doing one huge blkx then...\n"); fflush(stdout); + + fileLength = abstractIn->getLength(abstractIn); + + memset(&uncompressedToken, 0, sizeof(uncompressedToken)); + + abstractIn->seek(abstractIn, 0); + blkx = insertBLKX(abstractOut, abstractIn, 0, fileLength/SECTOR_SIZE, ENTIRE_DEVICE_DESCRIPTOR, CHECKSUM_CRC32, + &BlockCRC, &uncompressedToken, &CRCProxy, &dataForkToken, NULL); + blkx->checksum.data[0] = uncompressedToken.crc; + resources = insertData(resources, "blkx", 0, "whole disk (unknown partition : 0)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); + free(blkx); + + memset(&csum, 0, sizeof(CSumResource)); + csum.version = 1; + csum.type = CHECKSUM_MKBLOCK; + csum.checksum = uncompressedToken.block; + resources = insertData(resources, "cSum", 0, "", (const char*) (&csum), sizeof(csum), 0); + + if(nsiz == NULL) { + nsiz = myNSiz = (NSizResource*) malloc(sizeof(NSizResource)); + } else { + myNSiz->next = (NSizResource*) malloc(sizeof(NSizResource)); + myNSiz = myNSiz->next; + } + + memset(myNSiz, 0, sizeof(NSizResource)); + myNSiz->isVolume = FALSE; + myNSiz->blockChecksum2 = uncompressedToken.block; + myNSiz->partitionNumber = 0; + myNSiz->version = 6; + myNSiz->next = NULL; + + koly.fUDIFImageVariant = kUDIFPartitionImageType; + } + + dataForkChecksum = dataForkToken.crc; + + printf("Writing XML data...\n"); fflush(stdout); + curResource = resources; + while(curResource->next != NULL) + curResource = curResource->next; + + curResource->next = writeNSiz(nsiz); + curResource = curResource->next; + releaseNSiz(nsiz); + + curResource->next = makePlst(); + curResource = curResource->next; + + plistOffset = abstractOut->tell(abstractOut); + writeResources(abstractOut, resources); + plistSize = abstractOut->tell(abstractOut) - plistOffset; + + printf("Generating UDIF metadata...\n"); fflush(stdout); + + koly.fUDIFSignature = KOLY_SIGNATURE; + koly.fUDIFVersion = 4; + koly.fUDIFHeaderSize = sizeof(koly); + koly.fUDIFFlags = kUDIFFlagsFlattened; + koly.fUDIFRunningDataForkOffset = 0; + koly.fUDIFDataForkOffset = 0; + koly.fUDIFDataForkLength = plistOffset; + koly.fUDIFRsrcForkOffset = 0; + koly.fUDIFRsrcForkLength = 0; + + koly.fUDIFSegmentNumber = 1; + koly.fUDIFSegmentCount = 1; + koly.fUDIFSegmentID.data1 = rand(); + koly.fUDIFSegmentID.data2 = rand(); + koly.fUDIFSegmentID.data3 = rand(); + koly.fUDIFSegmentID.data4 = rand(); + koly.fUDIFDataForkChecksum.type = CHECKSUM_CRC32; + koly.fUDIFDataForkChecksum.size = 0x20; + koly.fUDIFDataForkChecksum.data[0] = dataForkChecksum; + koly.fUDIFXMLOffset = plistOffset; + koly.fUDIFXMLLength = plistSize; + memset(&(koly.reserved1), 0, 0x78); + + koly.fUDIFMasterChecksum.type = CHECKSUM_CRC32; + koly.fUDIFMasterChecksum.size = 0x20; + koly.fUDIFMasterChecksum.data[0] = calculateMasterChecksum(resources); + printf("Master checksum: %x\n", koly.fUDIFMasterChecksum.data[0]); fflush(stdout); + + koly.fUDIFSectorCount = numSectors; + koly.reserved2 = 0; + koly.reserved3 = 0; + koly.reserved4 = 0; + + printf("Writing out UDIF resource file...\n"); fflush(stdout); + + writeUDIFResourceFile(abstractOut, &koly); + + printf("Cleaning up...\n"); fflush(stdout); + + releaseResources(resources); + + abstractIn->close(abstractIn); + free(partitions); + + printf("Done\n"); fflush(stdout); + + abstractOut->close(abstractOut); + + return TRUE; +} + +int convertToISO(AbstractFile* abstractIn, AbstractFile* abstractOut) { + off_t fileLength; + UDIFResourceFile resourceFile; + ResourceKey* resources; + ResourceData* blkx; + BLKXTable* blkxTable; + + fileLength = abstractIn->getLength(abstractIn); + abstractIn->seek(abstractIn, fileLength - sizeof(UDIFResourceFile)); + readUDIFResourceFile(abstractIn, &resourceFile); + resources = readResources(abstractIn, &resourceFile); + + blkx = (getResourceByKey(resources, "blkx"))->data; + + printf("Writing out data..\n"); fflush(stdout); + + while(blkx != NULL) { + blkxTable = (BLKXTable*)(blkx->data); + abstractOut->seek(abstractOut, blkxTable->firstSectorNumber * 512); + extractBLKX(abstractIn, abstractOut, blkxTable); + blkx = blkx->next; + } + + abstractOut->close(abstractOut); + + releaseResources(resources); + abstractIn->close(abstractIn); + + return TRUE; + +} diff --git a/3rdparty/libdmg-hfsplus/dmg/filevault.c b/3rdparty/libdmg-hfsplus/dmg/filevault.c new file mode 100644 index 000000000..3bda9a0f9 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/filevault.c @@ -0,0 +1,269 @@ +#include +#include +#include + +#include +#include +#include + +#ifdef HAVE_CRYPT + +#include +#include +#include + +#define CHUNKNO(oft, info) ((uint32_t)((oft)/info->blockSize)) +#define CHUNKOFFSET(oft, info) ((size_t)((oft) - ((off_t)(CHUNKNO(oft, info)) * (off_t)info->blockSize))) + +static void flipFileVaultV2Header(FileVaultV2Header* header) { + FLIPENDIAN(header->signature); + FLIPENDIAN(header->version); + FLIPENDIAN(header->encIVSize); + FLIPENDIAN(header->unk1); + FLIPENDIAN(header->unk2); + FLIPENDIAN(header->unk3); + FLIPENDIAN(header->unk4); + FLIPENDIAN(header->unk5); + FLIPENDIAN(header->unk5); + + FLIPENDIAN(header->blockSize); + FLIPENDIAN(header->dataSize); + FLIPENDIAN(header->dataOffset); + FLIPENDIAN(header->kdfAlgorithm); + FLIPENDIAN(header->kdfPRNGAlgorithm); + FLIPENDIAN(header->kdfIterationCount); + FLIPENDIAN(header->kdfSaltLen); + FLIPENDIAN(header->blobEncIVSize); + FLIPENDIAN(header->blobEncKeyBits); + FLIPENDIAN(header->blobEncAlgorithm); + FLIPENDIAN(header->blobEncPadding); + FLIPENDIAN(header->blobEncMode); + FLIPENDIAN(header->encryptedKeyblobSize); +} + +static void writeChunk(FileVaultInfo* info) { + unsigned char buffer[info->blockSize]; + unsigned char buffer2[info->blockSize]; + unsigned char msgDigest[FILEVAULT_MSGDGST_LENGTH]; + uint32_t msgDigestLen; + uint32_t myChunk; + + myChunk = info->curChunk; + + FLIPENDIAN(myChunk); + HMAC_Init_ex(&(info->hmacCTX), NULL, 0, NULL, NULL); + HMAC_Update(&(info->hmacCTX), (unsigned char *) &myChunk, sizeof(uint32_t)); + HMAC_Final(&(info->hmacCTX), msgDigest, &msgDigestLen); + + AES_cbc_encrypt(info->chunk, buffer, info->blockSize, &(info->aesEncKey), msgDigest, AES_ENCRYPT); + + info->file->seek(info->file, (info->curChunk * info->blockSize) + info->dataOffset); + info->file->read(info->file, buffer2, info->blockSize); + + info->file->seek(info->file, (info->curChunk * info->blockSize) + info->dataOffset); + info->file->write(info->file, buffer, info->blockSize); + + info->dirty = FALSE; +} + +static void cacheChunk(FileVaultInfo* info, uint32_t chunk) { + unsigned char buffer[info->blockSize]; + unsigned char msgDigest[FILEVAULT_MSGDGST_LENGTH]; + uint32_t msgDigestLen; + + if(chunk == info->curChunk) { + return; + } + + if(info->dirty) { + writeChunk(info); + } + + info->file->seek(info->file, chunk * info->blockSize + info->dataOffset); + info->file->read(info->file, buffer, info->blockSize); + + info->curChunk = chunk; + + FLIPENDIAN(chunk); + HMAC_Init_ex(&(info->hmacCTX), NULL, 0, NULL, NULL); + HMAC_Update(&(info->hmacCTX), (unsigned char *) &chunk, sizeof(uint32_t)); + HMAC_Final(&(info->hmacCTX), msgDigest, &msgDigestLen); + + AES_cbc_encrypt(buffer, info->chunk, info->blockSize, &(info->aesKey), msgDigest, AES_DECRYPT); +} + +size_t fvRead(AbstractFile* file, void* data, size_t len) { + FileVaultInfo* info; + size_t toRead; + + info = (FileVaultInfo*) (file->data); + + if((CHUNKOFFSET(info->offset, info) + len) > info->blockSize) { + toRead = info->blockSize - CHUNKOFFSET(info->offset, info); + memcpy(data, (void *)((uint8_t*)(&(info->chunk)) + CHUNKOFFSET(info->offset, info)), toRead); + info->offset += toRead; + cacheChunk(info, CHUNKNO(info->offset, info)); + return toRead + fvRead(file, (void *)((uint8_t*)data + toRead), len - toRead); + } else { + toRead = len; + memcpy(data, (void *)((uint8_t*)(&(info->chunk)) + CHUNKOFFSET(info->offset, info)), toRead); + info->offset += toRead; + cacheChunk(info, CHUNKNO(info->offset, info)); + return toRead; + } +} + +size_t fvWrite(AbstractFile* file, const void* data, size_t len) { + FileVaultInfo* info; + size_t toRead; + int i; + + info = (FileVaultInfo*) (file->data); + + if(info->dataSize < (info->offset + len)) { + if(info->version == 2) { + info->header.v2.dataSize = info->offset + len; + } + info->headerDirty = TRUE; + } + + if((CHUNKOFFSET(info->offset, info) + len) > info->blockSize) { + toRead = info->blockSize - CHUNKOFFSET(info->offset, info); + for(i = 0; i < toRead; i++) { + ASSERT(*((char*)((uint8_t*)(&(info->chunk)) + (uint32_t)CHUNKOFFSET(info->offset, info) + i)) == ((char*)data)[i], "blah"); + } + memcpy((void *)((uint8_t*)(&(info->chunk)) + (uint32_t)CHUNKOFFSET(info->offset, info)), data, toRead); + info->dirty = TRUE; + info->offset += toRead; + cacheChunk(info, CHUNKNO(info->offset, info)); + return toRead + fvWrite(file, (void *)((uint8_t*)data + toRead), len - toRead); + } else { + toRead = len; + for(i = 0; i < toRead; i++) { + ASSERT(*((char*)((uint8_t*)(&(info->chunk)) + CHUNKOFFSET(info->offset, info) + i)) == ((char*)data)[i], "blah"); + } + memcpy((void *)((uint8_t*)(&(info->chunk)) + CHUNKOFFSET(info->offset, info)), data, toRead); + info->dirty = TRUE; + info->offset += toRead; + cacheChunk(info, CHUNKNO(info->offset, info)); + return toRead; + } +} + +int fvSeek(AbstractFile* file, off_t offset) { + FileVaultInfo* info = (FileVaultInfo*) (file->data); + info->offset = offset; + cacheChunk(info, CHUNKNO(offset, info)); + return 0; +} + +off_t fvTell(AbstractFile* file) { + FileVaultInfo* info = (FileVaultInfo*) (file->data); + return info->offset; +} + +off_t fvGetLength(AbstractFile* file) { + FileVaultInfo* info = (FileVaultInfo*) (file->data); + return info->dataSize; +} + +void fvClose(AbstractFile* file) { + FileVaultInfo* info = (FileVaultInfo*) (file->data); + + /* force a flush */ + if(info->curChunk == 0) { + cacheChunk(info, 1); + } else { + cacheChunk(info, 0); + } + + HMAC_CTX_cleanup(&(info->hmacCTX)); + + if(info->headerDirty) { + if(info->version == 2) { + file->seek(file, 0); + flipFileVaultV2Header(&(info->header.v2)); + file->write(file, &(info->header.v2), sizeof(FileVaultV2Header)); + } + } + + info->file->close(info->file); + free(info); + free(file); +} + +AbstractFile* createAbstractFileFromFileVault(AbstractFile* file, const char* key) { + FileVaultInfo* info; + AbstractFile* toReturn; + uint64_t signature; + uint8_t aesKey[16]; + uint8_t hmacKey[20]; + + int i; + + if(file == NULL) + return NULL; + + file->seek(file, 0); + file->read(file, &signature, sizeof(uint64_t)); + FLIPENDIAN(signature); + if(signature != FILEVAULT_V2_SIGNATURE) { + printf("Unknown signature: %" PRId64 "\n", signature); + /* no FileVault v1 handling yet */ + return NULL; + } + + toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); + info = (FileVaultInfo*) malloc(sizeof(FileVaultInfo)); + + info->version = 2; + + file->seek(file, 0); + file->read(file, &(info->header.v2), sizeof(FileVaultV2Header)); + flipFileVaultV2Header(&(info->header.v2)); + + for(i = 0; i < 16; i++) { + unsigned int curByte; + sscanf(&(key[i * 2]), "%02x", &curByte); + aesKey[i] = curByte; + } + + for(i = 0; i < 20; i++) { + unsigned int curByte; + sscanf(&(key[(16 * 2) + i * 2]), "%02x", &curByte); + hmacKey[i] = curByte; + } + + HMAC_CTX_init(&(info->hmacCTX)); + HMAC_Init_ex(&(info->hmacCTX), hmacKey, sizeof(hmacKey), EVP_sha1(), NULL); + AES_set_decrypt_key(aesKey, FILEVAULT_CIPHER_KEY_LENGTH * 8, &(info->aesKey)); + AES_set_encrypt_key(aesKey, FILEVAULT_CIPHER_KEY_LENGTH * 8, &(info->aesEncKey)); + + info->dataOffset = info->header.v2.dataOffset; + info->dataSize = info->header.v2.dataSize; + info->blockSize = info->header.v2.blockSize; + info->offset = 0; + info->file = file; + + info->headerDirty = FALSE; + info->dirty = FALSE; + info->curChunk = 1; /* just to set it to a value not 0 */ + cacheChunk(info, 0); + + toReturn->data = info; + toReturn->read = fvRead; + toReturn->write = fvWrite; + toReturn->seek = fvSeek; + toReturn->tell = fvTell; + toReturn->getLength = fvGetLength; + toReturn->close = fvClose; + return toReturn; +} + +#else + +AbstractFile* createAbstractFileFromFileVault(AbstractFile* file, const char* key) { + return NULL; +} + +#endif diff --git a/3rdparty/libdmg-hfsplus/dmg/io.c b/3rdparty/libdmg-hfsplus/dmg/io.c new file mode 100644 index 000000000..1c44f4429 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/io.c @@ -0,0 +1,257 @@ +#include +#include +#include +#include + +#include +#include +#include + +#define SECTORS_AT_A_TIME 0x200 + +BLKXTable* insertBLKX(AbstractFile* out, AbstractFile* in, uint32_t firstSectorNumber, uint32_t numSectors, uint32_t blocksDescriptor, + uint32_t checksumType, ChecksumFunc uncompressedChk, void* uncompressedChkToken, ChecksumFunc compressedChk, + void* compressedChkToken, Volume* volume) { + BLKXTable* blkx; + + uint32_t roomForRuns; + uint32_t curRun; + uint64_t curSector; + + unsigned char* inBuffer; + unsigned char* outBuffer; + size_t bufferSize; + size_t have; + int ret; + + z_stream strm; + + + blkx = (BLKXTable*) malloc(sizeof(BLKXTable) + (2 * sizeof(BLKXRun))); + roomForRuns = 2; + memset(blkx, 0, sizeof(BLKXTable) + (roomForRuns * sizeof(BLKXRun))); + + blkx->fUDIFBlocksSignature = UDIF_BLOCK_SIGNATURE; + blkx->infoVersion = 1; + blkx->firstSectorNumber = firstSectorNumber; + blkx->sectorCount = numSectors; + blkx->dataStart = 0; + blkx->decompressBufferRequested = 0x208; + blkx->blocksDescriptor = blocksDescriptor; + blkx->reserved1 = 0; + blkx->reserved2 = 0; + blkx->reserved3 = 0; + blkx->reserved4 = 0; + blkx->reserved5 = 0; + blkx->reserved6 = 0; + memset(&(blkx->checksum), 0, sizeof(blkx->checksum)); + blkx->checksum.type = checksumType; + blkx->checksum.size = 0x20; + blkx->blocksRunCount = 0; + + bufferSize = SECTOR_SIZE * blkx->decompressBufferRequested; + + ASSERT(inBuffer = (unsigned char*) malloc(bufferSize), "malloc"); + ASSERT(outBuffer = (unsigned char*) malloc(bufferSize), "malloc"); + + curRun = 0; + curSector = 0; + + while(numSectors > 0) { + if(curRun >= roomForRuns) { + roomForRuns <<= 1; + blkx = (BLKXTable*) realloc(blkx, sizeof(BLKXTable) + (roomForRuns * sizeof(BLKXRun))); + } + + blkx->runs[curRun].type = BLOCK_ZLIB; + blkx->runs[curRun].reserved = 0; + blkx->runs[curRun].sectorStart = curSector; + blkx->runs[curRun].sectorCount = (numSectors > SECTORS_AT_A_TIME) ? SECTORS_AT_A_TIME : numSectors; + + memset(&strm, 0, sizeof(strm)); + strm.zalloc = Z_NULL; + strm.zfree = Z_NULL; + strm.opaque = Z_NULL; + + printf("run %d: sectors=%" PRId64 ", left=%d\n", curRun, blkx->runs[curRun].sectorCount, numSectors); + + ASSERT(deflateInit(&strm, Z_DEFAULT_COMPRESSION) == Z_OK, "deflateInit"); + + ASSERT((strm.avail_in = in->read(in, inBuffer, blkx->runs[curRun].sectorCount * SECTOR_SIZE)) == (blkx->runs[curRun].sectorCount * SECTOR_SIZE), "mRead"); + strm.next_in = inBuffer; + + if(uncompressedChk) + (*uncompressedChk)(uncompressedChkToken, inBuffer, blkx->runs[curRun].sectorCount * SECTOR_SIZE); + + blkx->runs[curRun].compOffset = out->tell(out) - blkx->dataStart; + blkx->runs[curRun].compLength = 0; + + strm.avail_out = bufferSize; + strm.next_out = outBuffer; + + ASSERT((ret = deflate(&strm, Z_FINISH)) != Z_STREAM_ERROR, "deflate/Z_STREAM_ERROR"); + if(ret != Z_STREAM_END) { + ASSERT(FALSE, "deflate"); + } + have = bufferSize - strm.avail_out; + + if((have / SECTOR_SIZE) > blkx->runs[curRun].sectorCount) { + blkx->runs[curRun].type = BLOCK_RAW; + ASSERT(out->write(out, inBuffer, blkx->runs[curRun].sectorCount * SECTOR_SIZE) == (blkx->runs[curRun].sectorCount * SECTOR_SIZE), "fwrite"); + blkx->runs[curRun].compLength += blkx->runs[curRun].sectorCount * SECTOR_SIZE; + + if(compressedChk) + (*compressedChk)(compressedChkToken, inBuffer, blkx->runs[curRun].sectorCount * SECTOR_SIZE); + + } else { + ASSERT(out->write(out, outBuffer, have) == have, "fwrite"); + + if(compressedChk) + (*compressedChk)(compressedChkToken, outBuffer, have); + + blkx->runs[curRun].compLength += have; + } + + deflateEnd(&strm); + + curSector += blkx->runs[curRun].sectorCount; + numSectors -= blkx->runs[curRun].sectorCount; + curRun++; + } + + if(curRun >= roomForRuns) { + roomForRuns <<= 1; + blkx = (BLKXTable*) realloc(blkx, sizeof(BLKXTable) + (roomForRuns * sizeof(BLKXRun))); + } + + blkx->runs[curRun].type = BLOCK_TERMINATOR; + blkx->runs[curRun].reserved = 0; + blkx->runs[curRun].sectorStart = curSector; + blkx->runs[curRun].sectorCount = 0; + blkx->runs[curRun].compOffset = out->tell(out) - blkx->dataStart; + blkx->runs[curRun].compLength = 0; + blkx->blocksRunCount = curRun + 1; + + free(inBuffer); + free(outBuffer); + + return blkx; +} + +#define DEFAULT_BUFFER_SIZE (1 * 1024 * 1024) + +void extractBLKX(AbstractFile* in, AbstractFile* out, BLKXTable* blkx) { + unsigned char* inBuffer; + unsigned char* outBuffer; + unsigned char zero; + size_t bufferSize; + size_t have; + off_t initialOffset; + int i; + int ret; + + z_stream strm; + + bufferSize = SECTOR_SIZE * blkx->decompressBufferRequested; + + ASSERT(inBuffer = (unsigned char*) malloc(bufferSize), "malloc"); + ASSERT(outBuffer = (unsigned char*) malloc(bufferSize), "malloc"); + + initialOffset = out->tell(out); + ASSERT(initialOffset != -1, "ftello"); + + zero = 0; + + for(i = 0; i < blkx->blocksRunCount; i++) { + ASSERT(in->seek(in, blkx->dataStart + blkx->runs[i].compOffset) == 0, "fseeko"); + ASSERT(out->seek(out, initialOffset + (blkx->runs[i].sectorStart * SECTOR_SIZE)) == 0, "mSeek"); + + if(blkx->runs[i].sectorCount > 0) { + ASSERT(out->seek(out, initialOffset + (blkx->runs[i].sectorStart + blkx->runs[i].sectorCount) * SECTOR_SIZE - 1) == 0, "mSeek"); + ASSERT(out->write(out, &zero, 1) == 1, "mWrite"); + ASSERT(out->seek(out, initialOffset + (blkx->runs[i].sectorStart * SECTOR_SIZE)) == 0, "mSeek"); + } + + if(blkx->runs[i].type == BLOCK_TERMINATOR) { + break; + } + + if( blkx->runs[i].compLength == 0) { + continue; + } + + printf("run %d: start=%" PRId64 " sectors=%" PRId64 ", length=%" PRId64 ", fileOffset=0x%" PRIx64 "\n", i, initialOffset + (blkx->runs[i].sectorStart * SECTOR_SIZE), blkx->runs[i].sectorCount, blkx->runs[i].compLength, blkx->runs[i].compOffset); + + switch(blkx->runs[i].type) { + case BLOCK_ADC: + { + size_t bufferRead = 0; + do { + ASSERT((strm.avail_in = in->read(in, inBuffer, blkx->runs[i].compLength)) == blkx->runs[i].compLength, "fread"); + strm.avail_out = adc_decompress(strm.avail_in, inBuffer, bufferSize, outBuffer, &have); + ASSERT(out->write(out, outBuffer, have) == have, "mWrite"); + bufferRead+=strm.avail_out; + } while (bufferRead < blkx->runs[i].compLength); + break; + } + + case BLOCK_ZLIB: + strm.zalloc = Z_NULL; + strm.zfree = Z_NULL; + strm.opaque = Z_NULL; + strm.avail_in = 0; + strm.next_in = Z_NULL; + + ASSERT(inflateInit(&strm) == Z_OK, "inflateInit"); + + ASSERT((strm.avail_in = in->read(in, inBuffer, blkx->runs[i].compLength)) == blkx->runs[i].compLength, "fread"); + strm.next_in = inBuffer; + + do { + strm.avail_out = bufferSize; + strm.next_out = outBuffer; + ASSERT((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_ERROR, "inflate/Z_STREAM_ERROR"); + if(ret != Z_OK && ret != Z_BUF_ERROR && ret != Z_STREAM_END) { + ASSERT(FALSE, "inflate"); + } + have = bufferSize - strm.avail_out; + ASSERT(out->write(out, outBuffer, have) == have, "mWrite"); + } while (strm.avail_out == 0); + + ASSERT(inflateEnd(&strm) == Z_OK, "inflateEnd"); + break; + case BLOCK_RAW: + if(blkx->runs[i].compLength > bufferSize) { + uint64_t left = blkx->runs[i].compLength; + void* pageBuffer = malloc(DEFAULT_BUFFER_SIZE); + while(left > 0) { + size_t thisRead; + if(left > DEFAULT_BUFFER_SIZE) { + thisRead = DEFAULT_BUFFER_SIZE; + } else { + thisRead = left; + } + ASSERT((have = in->read(in, pageBuffer, thisRead)) == thisRead, "fread"); + ASSERT(out->write(out, pageBuffer, have) == have, "mWrite"); + left -= have; + } + free(pageBuffer); + } else { + ASSERT((have = in->read(in, inBuffer, blkx->runs[i].compLength)) == blkx->runs[i].compLength, "fread"); + ASSERT(out->write(out, inBuffer, have) == have, "mWrite"); + } + break; + case BLOCK_IGNORE: + break; + case BLOCK_COMMENT: + break; + case BLOCK_TERMINATOR: + break; + default: + break; + } + } + + free(inBuffer); + free(outBuffer); +} diff --git a/3rdparty/libdmg-hfsplus/dmg/partition.c b/3rdparty/libdmg-hfsplus/dmg/partition.c new file mode 100644 index 000000000..dc671dcf4 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/partition.c @@ -0,0 +1,790 @@ +#include +#include + +#include + +static unsigned char atapi_data [4096] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +static void flipDriverDescriptor(DriverDescriptor* descriptor) { + FLIPENDIAN(descriptor->ddBlock); + FLIPENDIAN(descriptor->ddSize); + FLIPENDIAN(descriptor->ddType); +} + +void flipDriverDescriptorRecord(DriverDescriptorRecord* record, char out) { + int i; + + FLIPENDIAN(record->sbSig); + FLIPENDIAN(record->sbBlkSize); + FLIPENDIAN(record->sbBlkCount); + FLIPENDIAN(record->sbDevType); + FLIPENDIAN(record->sbDevId); + FLIPENDIAN(record->sbData); + FLIPENDIAN(record->ddBlock); + FLIPENDIAN(record->ddSize); + FLIPENDIAN(record->ddType); + + if(out) { + for(i = 0; i < record->sbDrvrCount; i++) { + flipDriverDescriptor(&(record->ddPad[i])); + } + FLIPENDIAN(record->sbDrvrCount); + } else { + if(record->sbSig != DRIVER_DESCRIPTOR_SIGNATURE) { + return; + } + + FLIPENDIAN(record->sbDrvrCount); + for(i = 0; i < record->sbDrvrCount; i++) { + flipDriverDescriptor(&(record->ddPad[i])); + } + } +} + +void flipPartitionMultiple(Partition* partition, char multiple, char out, unsigned int BlockSize) { + int i; + int numPartitions; + + if(out) { + numPartitions = partition->pmMapBlkCnt; + } else { + numPartitions = partition->pmMapBlkCnt; + FLIPENDIAN(numPartitions); + } + + for(i = 0; i < numPartitions; i++) { + if(out) { + if(partition->pmSig != APPLE_PARTITION_MAP_SIGNATURE) { + break; + } + FLIPENDIAN(partition->pmSig); + } else { + FLIPENDIAN(partition->pmSig); + if(partition->pmSig != APPLE_PARTITION_MAP_SIGNATURE) { + break; + } + } + + FLIPENDIAN(partition->pmMapBlkCnt); + FLIPENDIAN(partition->pmPyPartStart); + FLIPENDIAN(partition->pmPartBlkCnt); + FLIPENDIAN(partition->pmLgDataStart); + FLIPENDIAN(partition->pmDataCnt); + FLIPENDIAN(partition->pmPartStatus); + FLIPENDIAN(partition->pmLgBootStart); + FLIPENDIAN(partition->pmBootSize); + FLIPENDIAN(partition->pmBootAddr); + FLIPENDIAN(partition->pmBootAddr2); + FLIPENDIAN(partition->pmBootEntry); + FLIPENDIAN(partition->pmBootEntry2); + FLIPENDIAN(partition->pmBootCksum); + FLIPENDIAN(partition->bootCode); + + if(!multiple) { + break; + } + + partition = (Partition*)((uint8_t*)partition + BlockSize); + } +} + +void flipPartition(Partition* partition, char out, unsigned int BlockSize) { + flipPartitionMultiple(partition, TRUE, out, BlockSize); +} + + +void readDriverDescriptorMap(AbstractFile* file, ResourceKey* resources) { + BLKXTable* blkx; + unsigned char* buffer; + AbstractFile* bufferFile; + DriverDescriptorRecord* record; + int i; + + blkx = (BLKXTable*) (getDataByID(getResourceByKey(resources, "blkx"), -1)->data); + + buffer = (unsigned char*) malloc(512); + bufferFile = createAbstractFileFromMemory((void**)&(buffer), 512); + extractBLKX(file, bufferFile, blkx); + bufferFile->close(bufferFile); + + record = (DriverDescriptorRecord*)buffer; + flipDriverDescriptorRecord(record, FALSE); + printf("sbSig:\t\t0x%x\n", record->sbSig); + printf("sbBlkSize:\t0x%x\n", record->sbBlkSize); + printf("sbBlkCount:\t0x%x\n", record->sbBlkCount); + printf("sbDevType:\t0x%x\n", record->sbDevType); + printf("sbDevId:\t0x%x\n", record->sbDevId); + printf("sbData:\t\t0x%x\n", record->sbData); + printf("sbDrvrCount:\t0x%x\n", record->sbDrvrCount); + printf("ddBlock:\t0x%x\n", record->ddBlock); + printf("ddSize:\t\t0x%x\n", record->ddSize); + printf("ddType:\t\t0x%x\n", record->ddType); + + for(i = 0; i < (record->sbDrvrCount - 1); i++) { + printf("\tddBlock:\t0x%x\n", record->ddPad[i].ddBlock); + printf("\tddSize:\t\t0x%x\n", record->ddPad[i].ddSize); + printf("\tddType:\t\t0x%x\n", record->ddPad[i].ddType); + } + + free(buffer); +} + +DriverDescriptorRecord* createDriverDescriptorMap(uint32_t numSectors) { + DriverDescriptorRecord* toReturn; + + toReturn = (DriverDescriptorRecord*) malloc(SECTOR_SIZE); + memset(toReturn, 0, SECTOR_SIZE); + + toReturn->sbSig = DRIVER_DESCRIPTOR_SIGNATURE; + toReturn->sbBlkSize = SECTOR_SIZE; + toReturn->sbBlkCount = numSectors + EXTRA_SIZE; + toReturn->sbDevType = 0; + toReturn->sbDevId = 0; + toReturn->sbData = 0; + toReturn->sbDrvrCount = 1; + toReturn->ddBlock = ATAPI_OFFSET; + toReturn->ddSize = 0x4; + toReturn->ddType = 0x701; + + return toReturn; +} + +void writeDriverDescriptorMap(AbstractFile* file, DriverDescriptorRecord* DDM, ChecksumFunc dataForkChecksum, void* dataForkToken, + ResourceKey **resources) { + AbstractFile* bufferFile; + BLKXTable* blkx; + ChecksumToken uncompressedToken; + DriverDescriptorRecord* buffer; + + buffer = (DriverDescriptorRecord*) malloc(DDM_SIZE * SECTOR_SIZE); + memcpy(buffer, DDM, DDM_SIZE * SECTOR_SIZE); + memset(&uncompressedToken, 0, sizeof(uncompressedToken)); + + flipDriverDescriptorRecord(buffer, TRUE); + + bufferFile = createAbstractFileFromMemory((void**)&buffer, DDM_SIZE * SECTOR_SIZE); + + blkx = insertBLKX(file, bufferFile, DDM_OFFSET, DDM_SIZE, DDM_DESCRIPTOR, CHECKSUM_CRC32, &CRCProxy, &uncompressedToken, + dataForkChecksum, dataForkToken, NULL); + + blkx->checksum.data[0] = uncompressedToken.crc; + + *resources = insertData(*resources, "blkx", -1, "Driver Descriptor Map (DDM : 0)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); + + free(buffer); + bufferFile->close(bufferFile); + free(blkx); +} + +void writeApplePartitionMap(AbstractFile* file, Partition* partitions, ChecksumFunc dataForkChecksum, void* dataForkToken, ResourceKey **resources, NSizResource** nsizIn) { + AbstractFile* bufferFile; + BLKXTable* blkx; + ChecksumToken uncompressedToken; + Partition* buffer; + NSizResource* nsiz; + CSumResource csum; + + buffer = (Partition*) malloc(PARTITION_SIZE * SECTOR_SIZE); + memcpy(buffer, partitions, PARTITION_SIZE * SECTOR_SIZE); + memset(&uncompressedToken, 0, sizeof(uncompressedToken)); + + flipPartition(buffer, TRUE, SECTOR_SIZE); + + bufferFile = createAbstractFileFromMemory((void**)&buffer, PARTITION_SIZE * SECTOR_SIZE); + + blkx = insertBLKX(file, bufferFile, PARTITION_OFFSET, PARTITION_SIZE, 0, CHECKSUM_CRC32, + &BlockCRC, &uncompressedToken, dataForkChecksum, dataForkToken, NULL); + + bufferFile->close(bufferFile); + + *((uint32_t*)blkx->checksum.data) = uncompressedToken.crc; + + csum.version = 1; + csum.type = CHECKSUM_MKBLOCK; + csum.checksum = uncompressedToken.block; + + *resources = insertData(*resources, "blkx", 0, "Apple (Apple_partition_map : 1)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); + *resources = insertData(*resources, "cSum", 0, "", (const char*) (&csum), sizeof(csum), 0); + + nsiz = (NSizResource*) malloc(sizeof(NSizResource)); + memset(nsiz, 0, sizeof(NSizResource)); + nsiz->isVolume = FALSE; + nsiz->blockChecksum2 = uncompressedToken.block; + nsiz->partitionNumber = 0; + nsiz->version = 6; + nsiz->next = NULL; + + if((*nsizIn) == NULL) { + *nsizIn = nsiz; + } else { + nsiz->next = (*nsizIn)->next; + (*nsizIn)->next = nsiz; + } + + free(buffer); + free(blkx); +} + +void writeATAPI(AbstractFile* file, ChecksumFunc dataForkChecksum, void* dataForkToken, ResourceKey **resources, NSizResource** nsizIn) { + AbstractFile* bufferFile; + BLKXTable* blkx; + ChecksumToken uncompressedToken; + NSizResource* nsiz; + CSumResource csum; + char* atapi; + + memset(&uncompressedToken, 0, sizeof(uncompressedToken)); + + atapi = (char*) malloc(ATAPI_SIZE * SECTOR_SIZE); + printf("malloc: %p %d\n", atapi, ATAPI_SIZE * SECTOR_SIZE); fflush(stdout); + memcpy(atapi, atapi_data, ATAPI_SIZE * SECTOR_SIZE); + bufferFile = createAbstractFileFromMemory((void**)&atapi, ATAPI_SIZE * SECTOR_SIZE); + + blkx = insertBLKX(file, bufferFile, ATAPI_OFFSET, ATAPI_SIZE, 1, CHECKSUM_CRC32, + &BlockCRC, &uncompressedToken, dataForkChecksum, dataForkToken, NULL); + + bufferFile->close(bufferFile); + free(atapi); + + blkx->checksum.data[0] = uncompressedToken.crc; + + csum.version = 1; + csum.type = CHECKSUM_MKBLOCK; + csum.checksum = uncompressedToken.block; + + *resources = insertData(*resources, "blkx", 1, "Macintosh (Apple_Driver_ATAPI : 2)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); + *resources = insertData(*resources, "cSum", 1, "", (const char*) (&csum), sizeof(csum), 0); + + nsiz = (NSizResource*) malloc(sizeof(NSizResource)); + memset(nsiz, 0, sizeof(NSizResource)); + nsiz->isVolume = FALSE; + nsiz->blockChecksum2 = uncompressedToken.block; + nsiz->partitionNumber = 1; + nsiz->version = 6; + nsiz->next = NULL; + + if((*nsizIn) == NULL) { + *nsizIn = nsiz; + } else { + nsiz->next = (*nsizIn)->next; + (*nsizIn)->next = nsiz; + } + + free(blkx); +} + + +void readApplePartitionMap(AbstractFile* file, ResourceKey* resources, unsigned int BlockSize) { + AbstractFile* bufferFile; + BLKXTable* blkx; + Partition* partition; + int i; + + blkx = (BLKXTable*) (getDataByID(getResourceByKey(resources, "blkx"), 0)->data); + + partition = (Partition*) malloc(512); + bufferFile = createAbstractFileFromMemory((void**)&partition, 512); + extractBLKX(file, bufferFile, blkx); + bufferFile->close(bufferFile); + + flipPartition(partition, FALSE, BlockSize); + + for(i = 0; i < partition->pmMapBlkCnt; i++) { + if(partition[i].pmSig != APPLE_PARTITION_MAP_SIGNATURE) { + break; + } + + printf("pmSig:\t\t\t0x%x\n", partition[i].pmSig); + printf("pmSigPad:\t\t0x%x\n", partition[i].pmSigPad); + printf("pmMapBlkCnt:\t\t0x%x\n", partition[i].pmMapBlkCnt); + printf("pmPartName:\t\t%s\n", partition[i].pmPartName); + printf("pmParType:\t\t%s\n", partition[i].pmParType); + printf("pmPyPartStart:\t\t0x%x\n", partition[i].pmPyPartStart); + printf("pmPartBlkCnt:\t\t0x%x\n", partition[i].pmPartBlkCnt); + printf("pmLgDataStart:\t\t0x%x\n", partition[i].pmLgDataStart); + printf("pmDataCnt:\t\t0x%x\n", partition[i].pmDataCnt); + printf("pmPartStatus:\t\t0x%x\n", partition[i].pmPartStatus); + printf("pmLgBootStart:\t\t0x%x\n", partition[i].pmLgBootStart); + printf("pmBootSize:\t\t0x%x\n", partition[i].pmBootSize); + printf("pmBootAddr:\t\t0x%x\n", partition[i].pmBootAddr); + printf("pmBootAddr2:\t\t0x%x\n", partition[i].pmBootAddr2); + printf("pmBootEntry:\t\t0x%x\n", partition[i].pmBootEntry); + printf("pmBootEntry2:\t\t0x%x\n", partition[i].pmBootEntry2); + printf("pmBootCksum:\t\t0x%x\n", partition[i].pmBootCksum); + printf("pmProcessor:\t\t\t%s\n\n", partition[i].pmProcessor); + } + + free(partition); +} + +Partition* createApplePartitionMap(uint32_t numSectors, const char* volumeType) { + Partition* partition; + + partition = (Partition*) malloc(SECTOR_SIZE * PARTITION_SIZE); + memset(partition, 0, SECTOR_SIZE * PARTITION_SIZE); + + partition[0].pmSig = APPLE_PARTITION_MAP_SIGNATURE; + partition[0].pmSigPad = 0; + partition[0].pmMapBlkCnt = 0x4; + strcpy((char*)partition[0].pmPartName, "Apple"); + strcpy((char*)partition[0].pmParType, "Apple_partition_map"); + partition[0].pmPyPartStart = PARTITION_OFFSET; + partition[0].pmPartBlkCnt = PARTITION_SIZE; + partition[0].pmLgDataStart = 0; + partition[0].pmDataCnt = PARTITION_SIZE; + partition[0].pmPartStatus = 0x3; + partition[0].pmLgBootStart = 0x0; + partition[0].pmBootSize = 0x0; + partition[0].pmBootAddr = 0x0; + partition[0].pmBootAddr2 = 0x0; + partition[0].pmBootEntry = 0x0; + partition[0].pmBootEntry2 = 0x0; + partition[0].pmBootCksum = 0x0; + partition[0].pmProcessor[0] = '\0'; + partition[0].bootCode = 0; + + partition[1].pmSig = APPLE_PARTITION_MAP_SIGNATURE; + partition[1].pmSigPad = 0; + partition[1].pmMapBlkCnt = 0x4; + strcpy((char*)partition[1].pmPartName, "Macintosh"); + strcpy((char*)partition[1].pmParType, "Apple_Driver_ATAPI"); + partition[1].pmPyPartStart = ATAPI_OFFSET; + partition[1].pmPartBlkCnt = ATAPI_SIZE; + partition[1].pmLgDataStart = 0; + partition[1].pmDataCnt = 0x04; + partition[1].pmPartStatus = 0x303; + partition[1].pmLgBootStart = 0x0; + partition[1].pmBootSize = 0x800; + partition[1].pmBootAddr = 0x0; + partition[1].pmBootAddr2 = 0x0; + partition[1].pmBootEntry = 0x0; + partition[1].pmBootEntry2 = 0x0; + partition[1].pmBootCksum = 0xffff; + partition[1].pmProcessor[0] = '\0'; + partition[1].bootCode = BOOTCODE_DMMY; + + partition[2].pmSig = APPLE_PARTITION_MAP_SIGNATURE; + partition[2].pmSigPad = 0; + partition[2].pmMapBlkCnt = 0x4; + strcpy((char*)partition[2].pmPartName, "Mac_OS_X"); + strcpy((char*)partition[2].pmParType, volumeType); + partition[2].pmPyPartStart = USER_OFFSET; + partition[2].pmPartBlkCnt = numSectors; + partition[2].pmLgDataStart = 0; + partition[2].pmDataCnt = numSectors; + partition[2].pmPartStatus = 0x40000033; + partition[2].pmLgBootStart = 0x0; + partition[2].pmBootSize = 0x0; + partition[2].pmBootAddr = 0x0; + partition[2].pmBootAddr2 = 0x0; + partition[2].pmBootEntry = 0x0; + partition[2].pmBootEntry2 = 0x0; + partition[2].pmBootCksum = 0x0; + partition[2].pmProcessor[0] = '\0'; + partition[2].bootCode = BOOTCODE_GOON; + + partition[3].pmSig = APPLE_PARTITION_MAP_SIGNATURE; + partition[3].pmSigPad = 0; + partition[3].pmMapBlkCnt = 0x4; + partition[3].pmPartName[0] = '\0'; + strcpy((char*)partition[3].pmParType, "Apple_Free"); + partition[3].pmPyPartStart = USER_OFFSET + numSectors; + partition[3].pmPartBlkCnt = FREE_SIZE; + partition[3].pmLgDataStart = 0; + partition[3].pmDataCnt = 0x0; + partition[3].pmPartStatus = 0x0; + partition[3].pmLgBootStart = 0x0; + partition[3].pmBootSize = 0x0; + partition[3].pmBootAddr = 0x0; + partition[3].pmBootAddr2 = 0x0; + partition[3].pmBootEntry = 0x0; + partition[3].pmBootEntry2 = 0x0; + partition[3].pmBootCksum = 0x0; + partition[3].pmProcessor[0] = '\0'; + partition[3].bootCode = 0; + + return partition; +} + +void writeFreePartition(AbstractFile* outFile, uint32_t numSectors, ResourceKey** resources) { + BLKXTable* blkx; + + blkx = (BLKXTable*) malloc(sizeof(BLKXTable) + (2 * sizeof(BLKXRun))); + + blkx->fUDIFBlocksSignature = UDIF_BLOCK_SIGNATURE; + blkx->infoVersion = 1; + blkx->firstSectorNumber = USER_OFFSET + numSectors; + blkx->sectorCount = FREE_SIZE; + blkx->dataStart = 0; + blkx->decompressBufferRequested = 0; + blkx->blocksDescriptor = 3; + blkx->reserved1 = 0; + blkx->reserved2 = 0; + blkx->reserved3 = 0; + blkx->reserved4 = 0; + blkx->reserved5 = 0; + blkx->reserved6 = 0; + memset(&(blkx->checksum), 0, sizeof(blkx->checksum)); + blkx->checksum.type = CHECKSUM_CRC32; + blkx->checksum.size = 0x20; + blkx->blocksRunCount = 2; + blkx->runs[0].type = BLOCK_IGNORE; + blkx->runs[0].reserved = 0; + blkx->runs[0].sectorStart = 0; + blkx->runs[0].sectorCount = FREE_SIZE; + blkx->runs[0].compOffset = outFile->tell(outFile); + blkx->runs[0].compLength = 0; + blkx->runs[1].type = BLOCK_TERMINATOR; + blkx->runs[1].reserved = 0; + blkx->runs[1].sectorStart = FREE_SIZE; + blkx->runs[1].sectorCount = 0; + blkx->runs[1].compOffset = blkx->runs[0].compOffset; + blkx->runs[1].compLength = 0; + + *resources = insertData(*resources, "blkx", 3, " (Apple_Free : 4)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); + + free(blkx); +} diff --git a/3rdparty/libdmg-hfsplus/dmg/resources.c b/3rdparty/libdmg-hfsplus/dmg/resources.c new file mode 100644 index 000000000..ab1a41904 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/resources.c @@ -0,0 +1,850 @@ +#include +#include +#include +#include +#include + +#include + +static char plstData[1032] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +const char* plistHeader = "\n\n\n\n"; +const char* plistFooter = "\n\n"; + +static void flipSizeResource(unsigned char* data, char out) { + SizeResource* size; + + size = (SizeResource*) data; + + FLIPENDIAN(size->version); + FLIPENDIAN(size->isHFS); + FLIPENDIAN(size->unknown2); + FLIPENDIAN(size->unknown3); + FLIPENDIAN(size->volumeModified); + FLIPENDIAN(size->unknown4); + FLIPENDIAN(size->volumeSignature); + FLIPENDIAN(size->sizePresent); +} + +static void flipCSumResource(unsigned char* data, char out) { + CSumResource* cSum; + + cSum = (CSumResource*) data; + + FLIPENDIAN(cSum->version); + FLIPENDIAN(cSum->type); + FLIPENDIAN(cSum->checksum); +} + + +static void flipBLKXRun(BLKXRun* data) { + BLKXRun* run; + + run = (BLKXRun*) data; + + FLIPENDIAN(run->type); + FLIPENDIAN(run->reserved); + FLIPENDIAN(run->sectorStart); + FLIPENDIAN(run->sectorCount); + FLIPENDIAN(run->compOffset); + FLIPENDIAN(run->compLength); +} + +static void flipBLKX(unsigned char* data, char out) { + BLKXTable* blkx; + uint32_t i; + + blkx = (BLKXTable*) data; + + FLIPENDIAN(blkx->fUDIFBlocksSignature); + FLIPENDIAN(blkx->infoVersion); + FLIPENDIAN(blkx->firstSectorNumber); + FLIPENDIAN(blkx->sectorCount); + + FLIPENDIAN(blkx->dataStart); + FLIPENDIAN(blkx->decompressBufferRequested); + FLIPENDIAN(blkx->blocksDescriptor); + + FLIPENDIAN(blkx->reserved1); + FLIPENDIAN(blkx->reserved2); + FLIPENDIAN(blkx->reserved3); + FLIPENDIAN(blkx->reserved4); + FLIPENDIAN(blkx->reserved5); + FLIPENDIAN(blkx->reserved6); + + flipUDIFChecksum(&(blkx->checksum), out); + + if(out) { + for(i = 0; i < blkx->blocksRunCount; i++) { + flipBLKXRun(&(blkx->runs[i])); + } + FLIPENDIAN(blkx->blocksRunCount); + } else { + FLIPENDIAN(blkx->blocksRunCount); + for(i = 0; i < blkx->blocksRunCount; i++) { + flipBLKXRun(&(blkx->runs[i])); + } + + /*printf("fUDIFBlocksSignature: 0x%x\n", blkx->fUDIFBlocksSignature); + printf("infoVersion: 0x%x\n", blkx->infoVersion); + printf("firstSectorNumber: 0x%llx\n", blkx->firstSectorNumber); + printf("sectorCount: 0x%llx\n", blkx->sectorCount); + printf("dataStart: 0x%llx\n", blkx->dataStart); + printf("decompressBufferRequested: 0x%x\n", blkx->decompressBufferRequested); + printf("blocksDescriptor: 0x%x\n", blkx->blocksDescriptor); + printf("blocksRunCount: 0x%x\n", blkx->blocksRunCount);*/ + } +} + +static char* getXMLString(char** location) { + char* curLoc; + char* tagEnd; + char* toReturn; + size_t strLen; + + curLoc = *location; + + curLoc = strstr(curLoc, ""); + if(!curLoc) + return NULL; + curLoc += sizeof("") - 1; + + tagEnd = strstr(curLoc, ""); + + strLen = (size_t)(tagEnd - curLoc); + toReturn = (char*) malloc(strLen + 1); + memcpy(toReturn, curLoc, strLen); + toReturn[strLen] = '\0'; + + curLoc = tagEnd + sizeof("") - 1; + + *location = curLoc; + + return toReturn; +} + +static uint32_t getXMLInteger(char** location) { + char* curLoc; + char* tagEnd; + char* buffer; + uint32_t toReturn; + size_t strLen; + + curLoc = *location; + + curLoc = strstr(curLoc, ""); + if(!curLoc) + return 0; + curLoc += sizeof("") - 1; + + tagEnd = strstr(curLoc, ""); + + strLen = (size_t)(tagEnd - curLoc); + buffer = (char*) malloc(strLen + 1); + memcpy(buffer, curLoc, strLen); + buffer[strLen] = '\0'; + + curLoc = tagEnd + sizeof("") - 1; + + sscanf(buffer, "%d", (int32_t*)(&toReturn)); + + free(buffer); + + *location = curLoc; + + return toReturn; +} + +static unsigned char* getXMLData(char** location, size_t *dataLength) { + char* curLoc; + char* tagEnd; + char* encodedData; + unsigned char* toReturn; + size_t strLen; + + curLoc = *location; + + curLoc = strstr(curLoc, ""); + if(!curLoc) + return NULL; + curLoc += sizeof("") - 1; + + tagEnd = strstr(curLoc, ""); + + + strLen = (size_t)(tagEnd - curLoc); + + encodedData = (char*) malloc(strLen + 1); + memcpy(encodedData, curLoc, strLen); + encodedData[strLen] = '\0'; + + curLoc = tagEnd + sizeof("") - 1; + + *location = curLoc; + + toReturn = decodeBase64(encodedData, dataLength); + + free(encodedData); + + return toReturn; +} + +static void readResourceData(ResourceData* data, char** location, FlipDataFunc flipData) { + char* curLoc; + char* tagBegin; + char* tagEnd; + char* dictEnd; + size_t strLen; + char* buffer; + + curLoc = *location; + + data->name = NULL; + data->attributes = 0; + data->id = 0; + data->data = NULL; + + curLoc = strstr(curLoc, ""); + dictEnd = strstr(curLoc, ""); /* hope there's not a dict type in this resource data! */ + while(curLoc != NULL && curLoc < dictEnd) { + curLoc = strstr(curLoc, ""); + if(!curLoc) + break; + curLoc += sizeof("") - 1; + + tagEnd = strstr(curLoc, ""); + + strLen = (size_t)(tagEnd - curLoc); + tagBegin = curLoc; + curLoc = tagEnd + sizeof("") - 1; + + if(strncmp(tagBegin, "Attributes", strLen) == 0) { + buffer = getXMLString(&curLoc); + sscanf(buffer, "0x%x", &(data->attributes)); + free(buffer); + } else if(strncmp(tagBegin, "Data", strLen) == 0) { + data->data = getXMLData(&curLoc, &(data->dataLength)); + if(flipData) { + (*flipData)(data->data, 0); + } + } else if(strncmp(tagBegin, "ID", strLen) == 0) { + buffer = getXMLString(&curLoc); + sscanf(buffer, "%d", &(data->id)); + free(buffer); + } else if(strncmp(tagBegin, "Name", strLen) == 0) { + data->name = getXMLString(&curLoc); + } + } + + curLoc = dictEnd + sizeof("") - 1; + + *location = curLoc; +} + +static void readNSizResource(NSizResource* data, char** location) { + char* curLoc; + char* tagBegin; + char* tagEnd; + char* dictEnd; + size_t strLen; + size_t dummy; + + curLoc = *location; + + data->isVolume = FALSE; + data->sha1Digest = NULL; + data->blockChecksum2 = 0; + data->bytes = 0; + data->modifyDate = 0; + data->partitionNumber = 0; + data->version = 0; + data->volumeSignature = 0; + + curLoc = strstr(curLoc, ""); + dictEnd = strstr(curLoc, ""); /* hope there's not a dict type in this resource data! */ + while(curLoc != NULL && curLoc < dictEnd) { + curLoc = strstr(curLoc, ""); + if(!curLoc) + break; + curLoc += sizeof("") - 1; + + tagEnd = strstr(curLoc, ""); + + strLen = (size_t)(tagEnd - curLoc); + tagBegin = curLoc; + curLoc = tagEnd + sizeof("") - 1; + + if(strncmp(tagBegin, "SHA-1-digest", strLen) == 0) { + data->sha1Digest = getXMLData(&curLoc, &dummy);; + /*flipEndian(data->sha1Digest, 4);*/ + } else if(strncmp(tagBegin, "block-checksum-2", strLen) == 0) { + data->blockChecksum2 = getXMLInteger(&curLoc); + } else if(strncmp(tagBegin, "bytes", strLen) == 0) { + data->bytes = getXMLInteger(&curLoc); + } else if(strncmp(tagBegin, "date", strLen) == 0) { + data->modifyDate = getXMLInteger(&curLoc); + } else if(strncmp(tagBegin, "part-num", strLen) == 0) { + data->partitionNumber = getXMLInteger(&curLoc); + } else if(strncmp(tagBegin, "version", strLen) == 0) { + data->version = getXMLInteger(&curLoc); + } else if(strncmp(tagBegin, "volume-signature", strLen) == 0) { + data->volumeSignature = getXMLInteger(&curLoc); + data->isVolume = TRUE; + } + } + + curLoc = dictEnd + sizeof("") - 1; + + *location = curLoc; +} + +static void writeNSizResource(NSizResource* data, char* buffer) { + char itemBuffer[1024]; + char* sha1Buffer; + + (*buffer) = '\0'; + itemBuffer[0] = '\0'; + + strcat(buffer, plistHeader); + if(data->sha1Digest != NULL) { + sha1Buffer = convertBase64(data->sha1Digest, 20, 1, 42); + sprintf(itemBuffer, "\tSHA-1-digest\n\t\n%s\t\n", sha1Buffer); + free(sha1Buffer); + strcat(buffer, itemBuffer); + } + sprintf(itemBuffer, "\tblock-checksum-2\n\t%d\n", (int32_t)(data->blockChecksum2)); + strcat(buffer, itemBuffer); + if(data->isVolume) { + sprintf(itemBuffer, "\tbytes\n\t%d\n", (int32_t)(data->bytes)); + strcat(buffer, itemBuffer); + sprintf(itemBuffer, "\tdate\n\t%d\n", (int32_t)(data->modifyDate)); + strcat(buffer, itemBuffer); + } + sprintf(itemBuffer, "\tpart-num\n\t%d\n", (int32_t)(data->partitionNumber)); + strcat(buffer, itemBuffer); + sprintf(itemBuffer, "\tversion\n\t%d\n", (int32_t)(data->version)); + strcat(buffer, itemBuffer); + if(data->isVolume) { + sprintf(itemBuffer, "\tbytes\n\t%d\n", (int32_t)(data->volumeSignature)); + strcat(buffer, itemBuffer); + } + strcat(buffer, plistFooter); +} + + +NSizResource* readNSiz(ResourceKey* resources) { + ResourceData* curData; + NSizResource* toReturn; + NSizResource* curNSiz; + char* curLoc; + uint32_t modifyDate; + + curData = getResourceByKey(resources, "nsiz")->data; + toReturn = NULL; + + while(curData != NULL) { + curLoc = (char*) curData->data; + + if(toReturn == NULL) { + toReturn = (NSizResource*) malloc(sizeof(NSizResource)); + curNSiz = toReturn; + } else { + curNSiz->next = (NSizResource*) malloc(sizeof(NSizResource)); + curNSiz = curNSiz->next; + } + + curNSiz->next = NULL; + + readNSizResource(curNSiz, &curLoc); + + + printf("block-checksum-2:\t0x%x\n", curNSiz->blockChecksum2); + printf("part-num:\t\t0x%x\n", curNSiz->partitionNumber); + printf("version:\t\t0x%x\n", curNSiz->version); + + if(curNSiz->isVolume) { + printf("has SHA1:\t\t%d\n", curNSiz->sha1Digest != NULL); + printf("bytes:\t\t\t0x%x\n", curNSiz->bytes); + modifyDate = APPLE_TO_UNIX_TIME(curNSiz->modifyDate); + printf("date:\t\t\t%s", ctime((time_t*)(&modifyDate))); + printf("volume-signature:\t0x%x\n", curNSiz->volumeSignature); + } + + printf("\n"); + + curData = curData->next; + } + + return toReturn; +} + +ResourceKey* writeNSiz(NSizResource* nSiz) { + NSizResource* curNSiz; + ResourceKey* key; + ResourceData* curData; + char buffer[1024]; + + curNSiz = nSiz; + + key = (ResourceKey*) malloc(sizeof(ResourceKey)); + key->key = (unsigned char*) malloc(sizeof("nsiz") + 1); + strcpy((char*) key->key, "nsiz"); + key->next = NULL; + key->flipData = NULL; + key->data = NULL; + + while(curNSiz != NULL) { + writeNSizResource(curNSiz, buffer); + if(key->data == NULL) { + key->data = (ResourceData*) malloc(sizeof(ResourceData)); + curData = key->data; + } else { + curData->next = (ResourceData*) malloc(sizeof(ResourceData)); + curData = curData->next; + } + + curData->attributes = 0; + curData->id = curNSiz->partitionNumber; + curData->name = (char*) malloc(sizeof(char)); + curData->name[0] = '\0'; + curData->next = NULL; + curData->dataLength = sizeof(char) * strlen(buffer); + curData->data = (unsigned char*) malloc(curData->dataLength); + memcpy(curData->data, buffer, curData->dataLength); + + curNSiz = curNSiz->next; + } + + return key; +} + +void releaseNSiz(NSizResource* nSiz) { + NSizResource* curNSiz; + NSizResource* toRemove; + + curNSiz = nSiz; + + while(curNSiz != NULL) { + if(curNSiz->sha1Digest != NULL) + free(curNSiz->sha1Digest); + + toRemove = curNSiz; + curNSiz = curNSiz->next; + free(toRemove); + } +} + +ResourceKey* readResources(AbstractFile* file, UDIFResourceFile* resourceFile) { + char* xml; + char* curLoc; + char* tagEnd; + size_t strLen; + + ResourceKey* toReturn; + ResourceKey* curResource; + ResourceData* curData; + + xml = (char*) malloc((size_t)resourceFile->fUDIFXMLLength + 1); /* we're not going to handle over 32-bit resource files, that'd be insane */ + xml[(size_t)resourceFile->fUDIFXMLLength] = '\0'; + + if(!xml) + return NULL; + + toReturn = NULL; + curResource = NULL; + curData = NULL; + + file->seek(file, (off_t)(resourceFile->fUDIFXMLOffset)); + ASSERT(file->read(file, xml, (size_t)resourceFile->fUDIFXMLLength) == (size_t)resourceFile->fUDIFXMLLength, "fread"); + + curLoc = strstr(xml, "resource-fork"); + if(!curLoc) + return NULL; + curLoc += sizeof("resource-fork") - 1; + + curLoc = strstr(curLoc, ""); + if(!curLoc) + return NULL; + curLoc += sizeof("") - 1; + + while(TRUE) { + curLoc = strstr(curLoc, ""); + if(!curLoc) + break; + curLoc += sizeof("") - 1; + + tagEnd = strstr(curLoc, ""); + if(!tagEnd) + break; + + if(toReturn == NULL) { + toReturn = (ResourceKey*) malloc(sizeof(ResourceKey)); + curResource = toReturn; + } else { + curResource->next = (ResourceKey*) malloc(sizeof(ResourceKey)); + curResource = curResource->next; + } + + curResource->data = NULL; + curResource->next = NULL; + curResource->flipData = NULL; + + strLen = (size_t)(tagEnd - curLoc); + curResource->key = (unsigned char*) malloc(strLen + 1); + memcpy(curResource->key, curLoc, strLen); + curResource->key[strLen] = '\0'; + + curLoc = tagEnd + sizeof("") - 1; + + curLoc = strstr(curLoc, ""); + if(!curLoc) + return NULL; + curLoc += sizeof("") - 1; + + tagEnd = strstr(curLoc, ""); + if(!tagEnd) + break; + + if(strcmp((char*) curResource->key, "blkx") == 0) { + curResource->flipData = &flipBLKX; + } else if(strcmp((char*) curResource->key, "size") == 0) { + curResource->flipData = &flipSizeResource; + } else if(strcmp((char*) curResource->key, "cSum") == 0) { + curResource->flipData = &flipCSumResource; + } + + curLoc = strstr(curLoc, ""); + while(curLoc != NULL && curLoc < tagEnd) { + if(curResource->data == NULL) { + curResource->data = (ResourceData*) malloc(sizeof(ResourceData)); + curData = curResource->data; + } else { + curData->next = (ResourceData*) malloc(sizeof(ResourceData)); + curData = curData->next; + } + + curData->next = NULL; + + readResourceData(curData, &curLoc, curResource->flipData); + curLoc = strstr(curLoc, ""); + } + + curLoc = tagEnd + sizeof("") - 1; + } + + free(xml); + + return toReturn; +} + +static void writeResourceData(AbstractFile* file, ResourceData* data, FlipDataFunc flipData, int tabLength) { + unsigned char* dataBuf; + char* tabs; + int i; + + tabs = (char*) malloc(sizeof(char) * (tabLength + 1)); + for(i = 0; i < tabLength; i++) { + tabs[i] = '\t'; + } + tabs[tabLength] = '\0'; + + abstractFilePrint(file, "%s\n", tabs); + abstractFilePrint(file, "%s\tAttributes\n%s\t0x%04x\n", tabs, tabs, data->attributes); + abstractFilePrint(file, "%s\tData\n%s\t\n", tabs, tabs); + + if(flipData) { + dataBuf = (unsigned char*) malloc(data->dataLength); + memcpy(dataBuf, data->data, data->dataLength); + (*flipData)(dataBuf, 1); + writeBase64(file, dataBuf, data->dataLength, tabLength + 1, 43); + free(dataBuf); + } else { + writeBase64(file, data->data, data->dataLength, tabLength + 1, 43); + } + + abstractFilePrint(file, "%s\t\n", tabs); + abstractFilePrint(file, "%s\tID\n%s\t%d\n", tabs, tabs, data->id); + abstractFilePrint(file, "%s\tName\n%s\t%s\n", tabs, tabs, data->name); + abstractFilePrint(file, "%s\n", tabs); + + free(tabs); +} + +void writeResources(AbstractFile* file, ResourceKey* resources) { + ResourceKey* curResource; + ResourceData* curData; + + abstractFilePrint(file, plistHeader); + abstractFilePrint(file, "\tresource-fork\n\t\n"); + + curResource = resources; + while(curResource != NULL) { + abstractFilePrint(file, "\t\t%s\n\t\t\n", curResource->key); + curData = curResource->data; + while(curData != NULL) { + writeResourceData(file, curData, curResource->flipData, 3); + curData = curData->next; + } + abstractFilePrint(file, "\t\t\n", curResource->key); + curResource = curResource->next; + } + + abstractFilePrint(file, "\t\n"); + abstractFilePrint(file, plistFooter); + +} + +static void releaseResourceData(ResourceData* data) { + ResourceData* curData; + ResourceData* nextData; + + nextData = data; + while(nextData != NULL) { + curData = nextData; + + if(curData->name) + free(curData->name); + + if(curData->data) + free(curData->data); + + nextData = nextData->next; + free(curData); + } +} + +void releaseResources(ResourceKey* resources) { + ResourceKey* curResource; + ResourceKey* nextResource; + + nextResource = resources; + while(nextResource != NULL) { + curResource = nextResource; + free(curResource->key); + releaseResourceData(curResource->data); + nextResource = nextResource->next; + free(curResource); + } +} + +ResourceKey* getResourceByKey(ResourceKey* resources, const char* key) { + ResourceKey* curResource; + + curResource = resources; + while(curResource != NULL) { + if(strcmp((char*) curResource->key, key) == 0) { + return curResource; + } + curResource = curResource->next; + } + + return NULL; +} + +ResourceData* getDataByID(ResourceKey* resource, int id) { + ResourceData* curData; + + curData = resource->data; + + while(curData != NULL) { + if(curData->id == id) { + return curData; + } + curData = curData->next; + } + + return NULL; +} + +ResourceKey* insertData(ResourceKey* resources, const char* key, int id, const char* name, const char* data, size_t dataLength, uint32_t attributes) { + ResourceKey* curResource; + ResourceKey* lastResource; + ResourceData* curData; + + lastResource = resources; + curResource = resources; + while(curResource != NULL) { + if(strcmp((char*) curResource->key, key) == 0) { + break; + } + lastResource = curResource; + curResource = curResource->next; + } + + if(curResource == NULL) { + if(lastResource == NULL) { + curResource = (ResourceKey*) malloc(sizeof(ResourceKey)); + } else { + lastResource->next = (ResourceKey*) malloc(sizeof(ResourceKey)); + curResource = lastResource->next; + } + + curResource->key = (unsigned char*) malloc(strlen(key) + 1); + strcpy((char*) curResource->key, key); + curResource->next = NULL; + + if(strcmp((char*) curResource->key, "blkx") == 0) { + curResource->flipData = &flipBLKX; + } else if(strcmp((char*) curResource->key, "size") == 0) { + printf("we know to flip this size resource\n"); + curResource->flipData = &flipSizeResource; + } else if(strcmp((char*) curResource->key, "cSum") == 0) { + curResource->flipData = &flipCSumResource; + } else { + curResource->flipData = NULL; + } + + curResource->data = NULL; + } + + if(curResource->data == NULL) { + curData = (ResourceData*) malloc(sizeof(ResourceData)); + curResource->data = curData; + curData->next = NULL; + } else { + curData = curResource->data; + while(curData->next != NULL) { + if(curData->id == id) { + break; + } + curData = curData->next; + } + + if(curData->id != id) { + curData->next = (ResourceData*) malloc(sizeof(ResourceData)); + curData = curData->next; + curData->next = NULL; + } else { + free(curData->data); + free(curData->name); + } + } + + curData->attributes = attributes; + curData->dataLength = dataLength; + curData->id = id; + curData->name = (char*) malloc(strlen(name) + 1); + strcpy((char*) curData->name, name); + curData->data = (unsigned char*) malloc(dataLength); + memcpy(curData->data, data, dataLength); + + int i = 0; + if(resources) { + curResource = resources; + while(curResource) { + curResource = curResource->next; + i++; + } + return resources; + } else { + return curResource; + } +} + +ResourceKey* makePlst() { + return insertData(NULL, "plst", 0, "", plstData, sizeof(plstData), ATTRIBUTE_HDIUTIL); +} + +ResourceKey* makeSize(HFSPlusVolumeHeader* volumeHeader) { + SizeResource size; + memset(&size, 0, sizeof(SizeResource)); + size.version = 5; + size.isHFS = 1; + size.unknown2 = 0; + size.unknown3 = 0; + size.volumeModified = volumeHeader->modifyDate; + size.unknown4 = 0; + size.volumeSignature = volumeHeader->signature; + size.sizePresent = 1; + + printf("making size data\n"); + return insertData(NULL, "size", 0, "", (const char*)(&size), sizeof(SizeResource), 0); +} + diff --git a/3rdparty/libdmg-hfsplus/dmg/udif.c b/3rdparty/libdmg-hfsplus/dmg/udif.c new file mode 100644 index 000000000..56003e794 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/udif.c @@ -0,0 +1,129 @@ +#include +#include +#include + +#include + +void flipUDIFChecksum(UDIFChecksum* o, char out) { + int i; + + FLIPENDIAN(o->type); + + if(out) { + for(i = 0; i < o->size; i++) { + FLIPENDIAN(o->data[i]); + } + FLIPENDIAN(o->size); + } else { + FLIPENDIAN(o->size); + for(i = 0; i < o->size; i++) { + FLIPENDIAN(o->data[i]); + } + } +} + +void readUDIFChecksum(AbstractFile* file, UDIFChecksum* o) { + int i; + + o->type = readUInt32(file); + o->size = readUInt32(file); + + for(i = 0; i < 0x20; i++) { + o->data[i] = readUInt32(file); + } +} + +void writeUDIFChecksum(AbstractFile* file, UDIFChecksum* o) { + int i; + + writeUInt32(file, o->type); + writeUInt32(file, o->size); + + for(i = 0; i < o->size; i++) { + writeUInt32(file, o->data[i]); + } +} + +void readUDIFID(AbstractFile* file, UDIFID* o) { + o->data4 = readUInt32(file); FLIPENDIAN(o->data4); + o->data3 = readUInt32(file); FLIPENDIAN(o->data3); + o->data2 = readUInt32(file); FLIPENDIAN(o->data2); + o->data1 = readUInt32(file); FLIPENDIAN(o->data1); +} + +void writeUDIFID(AbstractFile* file, UDIFID* o) { + FLIPENDIAN(o->data4); writeUInt32(file, o->data4); FLIPENDIAN(o->data4); + FLIPENDIAN(o->data3); writeUInt32(file, o->data3); FLIPENDIAN(o->data3); + FLIPENDIAN(o->data2); writeUInt32(file, o->data2); FLIPENDIAN(o->data2); + FLIPENDIAN(o->data1); writeUInt32(file, o->data1); FLIPENDIAN(o->data1); +} + +void readUDIFResourceFile(AbstractFile* file, UDIFResourceFile* o) { + o->fUDIFSignature = readUInt32(file); + + ASSERT(o->fUDIFSignature == 0x6B6F6C79, "readUDIFResourceFile - signature incorrect"); + + o->fUDIFVersion = readUInt32(file); + o->fUDIFHeaderSize = readUInt32(file); + o->fUDIFFlags = readUInt32(file); + + o->fUDIFRunningDataForkOffset = readUInt64(file); + o->fUDIFDataForkOffset = readUInt64(file); + o->fUDIFDataForkLength = readUInt64(file); + o->fUDIFRsrcForkOffset = readUInt64(file); + o->fUDIFRsrcForkLength = readUInt64(file); + + o->fUDIFSegmentNumber = readUInt32(file); + o->fUDIFSegmentCount = readUInt32(file); + readUDIFID(file, &(o->fUDIFSegmentID)); + + readUDIFChecksum(file, &(o->fUDIFDataForkChecksum)); + + o->fUDIFXMLOffset = readUInt64(file); + o->fUDIFXMLLength = readUInt64(file); + + ASSERT(file->read(file, &(o->reserved1), 0x78) == 0x78, "fread"); + + readUDIFChecksum(file, &(o->fUDIFMasterChecksum)); + + o->fUDIFImageVariant = readUInt32(file); + o->fUDIFSectorCount = readUInt64(file); + + o->reserved2 = readUInt32(file); + o->reserved3 = readUInt32(file); + o->reserved4 = readUInt32(file); +} + +void writeUDIFResourceFile(AbstractFile* file, UDIFResourceFile* o) { + writeUInt32(file, o->fUDIFSignature); + writeUInt32(file, o->fUDIFVersion); + writeUInt32(file, o->fUDIFHeaderSize); + writeUInt32(file, o->fUDIFFlags); + + writeUInt64(file, o->fUDIFRunningDataForkOffset); + writeUInt64(file, o->fUDIFDataForkOffset); + writeUInt64(file, o->fUDIFDataForkLength); + writeUInt64(file, o->fUDIFRsrcForkOffset); + writeUInt64(file, o->fUDIFRsrcForkLength); + + writeUInt32(file, o->fUDIFSegmentNumber); + writeUInt32(file, o->fUDIFSegmentCount); + writeUDIFID(file, &(o->fUDIFSegmentID)); + + writeUDIFChecksum(file, &(o->fUDIFDataForkChecksum)); + + writeUInt64(file, o->fUDIFXMLOffset); + writeUInt64(file, o->fUDIFXMLLength); + + ASSERT(file->write(file, &(o->reserved1), 0x78) == 0x78, "fwrite"); + + writeUDIFChecksum(file, &(o->fUDIFMasterChecksum)); + + writeUInt32(file, o->fUDIFImageVariant); + writeUInt64(file, o->fUDIFSectorCount); + + writeUInt32(file, o->reserved2); + writeUInt32(file, o->reserved3); + writeUInt32(file, o->reserved4); +} + diff --git a/3rdparty/libdmg-hfsplus/dmg/win32test.c b/3rdparty/libdmg-hfsplus/dmg/win32test.c new file mode 100644 index 000000000..cbc610666 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/dmg/win32test.c @@ -0,0 +1,9 @@ +#include + +#ifdef WIN32 +blahfs-o_f-0-(){ {}A +#else +int main(int argc, char* argv[]) { + return 0; +} +#endif diff --git a/3rdparty/libdmg-hfsplus/hdutil/CMakeLists.txt b/3rdparty/libdmg-hfsplus/hdutil/CMakeLists.txt new file mode 100644 index 000000000..4c1750a35 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hdutil/CMakeLists.txt @@ -0,0 +1,8 @@ +link_directories(${PROJECT_BINARY_DIR}/common ${PROJECT_BINARY_DIR}/hfs ${PROJECT_BINARY_DIR}/dmg) + +add_executable(hdutil hdutil.c) + +target_link_libraries (hdutil dmg hfs common) + +install(TARGETS hdutil DESTINATION .) + diff --git a/3rdparty/libdmg-hfsplus/hdutil/hdutil.c b/3rdparty/libdmg-hfsplus/hdutil/hdutil.c new file mode 100644 index 000000000..110137e63 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hdutil/hdutil.c @@ -0,0 +1,327 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "hfs/hfslib.h" +#include + +char endianness; + +void cmd_ls(Volume* volume, int argc, const char *argv[]) { + if(argc > 1) + hfs_ls(volume, argv[1]); + else + hfs_ls(volume, "/"); +} + +void cmd_cat(Volume* volume, int argc, const char *argv[]) { + HFSPlusCatalogRecord* record; + AbstractFile* stdoutFile; + + record = getRecordFromPath(argv[1], volume, NULL, NULL); + + stdoutFile = createAbstractFileFromFile(stdout); + + if(record != NULL) { + if(record->recordType == kHFSPlusFileRecord) + writeToFile((HFSPlusCatalogFile*)record, stdoutFile, volume); + else + printf("Not a file\n"); + } else { + printf("No such file or directory\n"); + } + + free(record); + free(stdoutFile); +} + +void cmd_extract(Volume* volume, int argc, const char *argv[]) { + HFSPlusCatalogRecord* record; + AbstractFile *outFile; + + if(argc < 3) { + printf("Not enough arguments"); + return; + } + + outFile = createAbstractFileFromFile(fopen(argv[2], "wb")); + + if(outFile == NULL) { + printf("cannot create file"); + } + + record = getRecordFromPath(argv[1], volume, NULL, NULL); + + if(record != NULL) { + if(record->recordType == kHFSPlusFileRecord) + writeToFile((HFSPlusCatalogFile*)record, outFile, volume); + else + printf("Not a file\n"); + } else { + printf("No such file or directory\n"); + } + + outFile->close(outFile); + free(record); +} + +void cmd_mv(Volume* volume, int argc, const char *argv[]) { + if(argc > 2) { + move(argv[1], argv[2], volume); + } else { + printf("Not enough arguments"); + } +} + +void cmd_symlink(Volume* volume, int argc, const char *argv[]) { + if(argc > 2) { + makeSymlink(argv[1], argv[2], volume); + } else { + printf("Not enough arguments"); + } +} + +void cmd_mkdir(Volume* volume, int argc, const char *argv[]) { + if(argc > 1) { + newFolder(argv[1], volume); + } else { + printf("Not enough arguments"); + } +} + +void cmd_add(Volume* volume, int argc, const char *argv[]) { + AbstractFile *inFile; + + if(argc < 3) { + printf("Not enough arguments"); + return; + } + + inFile = createAbstractFileFromFile(fopen(argv[1], "rb")); + + if(inFile == NULL) { + printf("file to add not found"); + } + + add_hfs(volume, inFile, argv[2]); +} + +void cmd_rm(Volume* volume, int argc, const char *argv[]) { + if(argc > 1) { + removeFile(argv[1], volume); + } else { + printf("Not enough arguments"); + } +} + +void cmd_chmod(Volume* volume, int argc, const char *argv[]) { + int mode; + + if(argc > 2) { + sscanf(argv[1], "%o", &mode); + chmodFile(argv[2], mode, volume); + } else { + printf("Not enough arguments"); + } +} + +void cmd_extractall(Volume* volume, int argc, const char *argv[]) { + HFSPlusCatalogRecord* record; + char cwd[1024]; + char* name; + + ASSERT(getcwd(cwd, 1024) != NULL, "cannot get current working directory"); + + if(argc > 1) + record = getRecordFromPath(argv[1], volume, &name, NULL); + else + record = getRecordFromPath("/", volume, &name, NULL); + + if(argc > 2) { + ASSERT(chdir(argv[2]) == 0, "chdir"); + } + + if(record != NULL) { + if(record->recordType == kHFSPlusFolderRecord) + extractAllInFolder(((HFSPlusCatalogFolder*)record)->folderID, volume); + else + printf("Not a folder\n"); + } else { + printf("No such file or directory\n"); + } + free(record); + + ASSERT(chdir(cwd) == 0, "chdir"); +} + + +void cmd_rmall(Volume* volume, int argc, const char *argv[]) { + HFSPlusCatalogRecord* record; + char* name; + char initPath[1024]; + int lastCharOfPath; + + if(argc > 1) { + record = getRecordFromPath(argv[1], volume, &name, NULL); + strcpy(initPath, argv[1]); + lastCharOfPath = strlen(argv[1]) - 1; + if(argv[1][lastCharOfPath] != '/') { + initPath[lastCharOfPath + 1] = '/'; + initPath[lastCharOfPath + 2] = '\0'; + } + } else { + record = getRecordFromPath("/", volume, &name, NULL); + initPath[0] = '/'; + initPath[1] = '\0'; + } + + if(record != NULL) { + if(record->recordType == kHFSPlusFolderRecord) { + removeAllInFolder(((HFSPlusCatalogFolder*)record)->folderID, volume, initPath); + } else { + printf("Not a folder\n"); + } + } else { + printf("No such file or directory\n"); + } + free(record); +} + +void cmd_addall(Volume* volume, int argc, const char *argv[]) { + if(argc < 2) { + printf("Not enough arguments"); + return; + } + + if(argc > 2) { + addall_hfs(volume, argv[1], argv[2]); + } else { + addall_hfs(volume, argv[1], "/"); + } +} + +void cmd_grow(Volume* volume, int argc, const char *argv[]) { + uint64_t newSize; + + if(argc < 2) { + printf("Not enough arguments\n"); + return; + } + + newSize = 0; + sscanf(argv[1], "%" PRId64, &newSize); + + grow_hfs(volume, newSize); + + printf("grew volume: %" PRId64 "\n", newSize); +} + +void cmd_untar(Volume* volume, int argc, const char *argv[]) { + AbstractFile *inFile; + + if(argc < 2) { + printf("Not enough arguments"); + return; + } + + inFile = createAbstractFileFromFile(fopen(argv[1], "rb")); + + if(inFile == NULL) { + printf("file to untar not found"); + } + + hfs_untar(volume, inFile); +} + +void TestByteOrder() +{ + short int word = 0x0001; + char *byte = (char *) &word; + endianness = byte[0] ? IS_LITTLE_ENDIAN : IS_BIG_ENDIAN; +} + +int main(int argc, const char *argv[]) { + io_func* io; + Volume* volume; + AbstractFile* image; + int argOff; + + TestByteOrder(); + + if(argc < 3) { + printf("usage: %s (-k ) \n", argv[0]); + return 0; + } + + argOff = 2; + + if(strstr(argv[1], ".dmg")) { + image = createAbstractFileFromFile(fopen(argv[1], "rb")); + if(argc > 3) { + if(strcmp(argv[2], "-k") == 0) { + image = createAbstractFileFromFileVault(image, argv[3]); + argOff = 4; + } + } + io = openDmgFilePartition(image, -1); + } else { + io = openFlatFile(argv[1]); + } + + if(io == NULL) { + fprintf(stderr, "error: Cannot open image-file.\n"); + return 1; + } + + volume = openVolume(io); + if(volume == NULL) { + fprintf(stderr, "error: Cannot open volume.\n"); + CLOSE(io); + return 1; + } + + if(argc > argOff) { + if(strcmp(argv[argOff], "ls") == 0) { + cmd_ls(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "cat") == 0) { + cmd_cat(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "mv") == 0) { + cmd_mv(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[2], "symlink") == 0) { + cmd_symlink(volume, argc - 2, argv + 2); + } else if(strcmp(argv[argOff], "mkdir") == 0) { + cmd_mkdir(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "add") == 0) { + cmd_add(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "rm") == 0) { + cmd_rm(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "chmod") == 0) { + cmd_chmod(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "extract") == 0) { + cmd_extract(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "extractall") == 0) { + cmd_extractall(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "rmall") == 0) { + cmd_rmall(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "addall") == 0) { + cmd_addall(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "grow") == 0) { + cmd_grow(volume, argc - argOff, argv + argOff); + } else if(strcmp(argv[argOff], "untar") == 0) { + cmd_untar(volume, argc - argOff, argv + argOff); + } + } + + closeVolume(volume); + CLOSE(io); + + return 0; +} diff --git a/3rdparty/libdmg-hfsplus/hdutil/win32test.c b/3rdparty/libdmg-hfsplus/hdutil/win32test.c new file mode 100644 index 000000000..cbc610666 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hdutil/win32test.c @@ -0,0 +1,9 @@ +#include + +#ifdef WIN32 +blahfs-o_f-0-(){ {}A +#else +int main(int argc, char* argv[]) { + return 0; +} +#endif diff --git a/3rdparty/libdmg-hfsplus/hfs/CMakeLists.txt b/3rdparty/libdmg-hfsplus/hfs/CMakeLists.txt new file mode 100644 index 000000000..b4e30e1e0 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/CMakeLists.txt @@ -0,0 +1,9 @@ +link_directories (${PROJECT_BINARY_DIR}/common) +add_library(hfs btree.c catalog.c extents.c fastunicodecompare.c flatfile.c hfslib.c rawfile.c utility.c volume.c) +target_link_libraries(hfs common) + +add_executable(hfsplus hfs.c) +target_link_libraries (hfsplus hfs) + +install(TARGETS hfsplus DESTINATION .) + diff --git a/3rdparty/libdmg-hfsplus/hfs/btree.c b/3rdparty/libdmg-hfsplus/hfs/btree.c new file mode 100644 index 000000000..1e6fb6f0a --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/btree.c @@ -0,0 +1,1533 @@ +#include +#include + +BTNodeDescriptor* readBTNodeDescriptor(uint32_t num, BTree* tree) { + BTNodeDescriptor* descriptor; + + descriptor = (BTNodeDescriptor*) malloc(sizeof(BTNodeDescriptor)); + + if(!READ(tree->io, num * tree->headerRec->nodeSize, sizeof(BTNodeDescriptor), descriptor)) + return NULL; + + FLIPENDIAN(descriptor->fLink); + FLIPENDIAN(descriptor->bLink); + FLIPENDIAN(descriptor->numRecords); + + return descriptor; +} + +static int writeBTNodeDescriptor(BTNodeDescriptor* descriptor, uint32_t num, BTree* tree) { + BTNodeDescriptor myDescriptor; + + myDescriptor = *descriptor; + + FLIPENDIAN(myDescriptor.fLink); + FLIPENDIAN(myDescriptor.bLink); + FLIPENDIAN(myDescriptor.numRecords); + + if(!WRITE(tree->io, num * tree->headerRec->nodeSize, sizeof(BTNodeDescriptor), &myDescriptor)) + return FALSE; + + return TRUE; +} + +BTHeaderRec* readBTHeaderRec(io_func* io) { + BTHeaderRec* headerRec; + + headerRec = (BTHeaderRec*) malloc(sizeof(BTHeaderRec)); + + if(!READ(io, sizeof(BTNodeDescriptor), sizeof(BTHeaderRec), headerRec)) + return NULL; + + FLIPENDIAN(headerRec->treeDepth); + FLIPENDIAN(headerRec->rootNode); + FLIPENDIAN(headerRec->leafRecords); + FLIPENDIAN(headerRec->firstLeafNode); + FLIPENDIAN(headerRec->lastLeafNode); + FLIPENDIAN(headerRec->nodeSize); + FLIPENDIAN(headerRec->maxKeyLength); + FLIPENDIAN(headerRec->totalNodes); + FLIPENDIAN(headerRec->freeNodes); + FLIPENDIAN(headerRec->clumpSize); + FLIPENDIAN(headerRec->attributes); + + /*printf("treeDepth: %d\n", headerRec->treeDepth); + printf("rootNode: %d\n", headerRec->rootNode); + printf("leafRecords: %d\n", headerRec->leafRecords); + printf("firstLeafNode: %d\n", headerRec->firstLeafNode); + printf("lastLeafNode: %d\n", headerRec->lastLeafNode); + printf("nodeSize: %d\n", headerRec->nodeSize); + printf("maxKeyLength: %d\n", headerRec->maxKeyLength); + printf("totalNodes: %d\n", headerRec->totalNodes); + printf("freeNodes: %d\n", headerRec->freeNodes); + printf("clumpSize: %d\n", headerRec->clumpSize); + printf("bTreeType: 0x%x\n", headerRec->btreeType); + printf("keyCompareType: 0x%x\n", headerRec->keyCompareType); + printf("attributes: 0x%x\n", headerRec->attributes); + fflush(stdout);*/ + + return headerRec; +} + +static int writeBTHeaderRec(BTree* tree) { + BTHeaderRec headerRec; + + headerRec = *tree->headerRec; + + FLIPENDIAN(headerRec.treeDepth); + FLIPENDIAN(headerRec.rootNode); + FLIPENDIAN(headerRec.leafRecords); + FLIPENDIAN(headerRec.firstLeafNode); + FLIPENDIAN(headerRec.lastLeafNode); + FLIPENDIAN(headerRec.nodeSize); + FLIPENDIAN(headerRec.maxKeyLength); + FLIPENDIAN(headerRec.totalNodes); + FLIPENDIAN(headerRec.freeNodes); + FLIPENDIAN(headerRec.clumpSize); + FLIPENDIAN(headerRec.attributes); + + if(!WRITE(tree->io, sizeof(BTNodeDescriptor), sizeof(BTHeaderRec), &headerRec)) + return FALSE; + + return TRUE; +} + + +BTree* openBTree(io_func* io, compareFunc compare, dataReadFunc keyRead, keyWriteFunc keyWrite, keyPrintFunc keyPrint, dataReadFunc dataRead) { + BTree* tree; + + tree = (BTree*) malloc(sizeof(BTree)); + tree->io = io; + tree->headerRec = readBTHeaderRec(tree->io); + + if(tree->headerRec == NULL) { + free(tree); + return NULL; + } + + tree->compare = compare; + tree->keyRead = keyRead; + tree->keyWrite = keyWrite; + tree->keyPrint = keyPrint; + tree->dataRead = dataRead; + + return tree; +} + +void closeBTree(BTree* tree) { + (*tree->io->close)(tree->io); + free(tree->headerRec); + free(tree); +} + +off_t getRecordOffset(int num, uint32_t nodeNum, BTree* tree) { + uint16_t offset; + off_t nodeOffset; + + nodeOffset = nodeNum * tree->headerRec->nodeSize; + + if(!READ(tree->io, nodeOffset + tree->headerRec->nodeSize - (sizeof(uint16_t) * (num + 1)), sizeof(uint16_t), &offset)) { + hfs_panic("cannot get record offset!"); + } + + FLIPENDIAN(offset); + + //printf("%d: %d %d\n", nodeOffset + tree->headerRec->nodeSize - (sizeof(uint16_t) * (num + 1)), nodeOffset + offset, offset); + + return (nodeOffset + offset); +} + +static off_t getFreeSpace(uint32_t nodeNum, BTNodeDescriptor* descriptor, BTree* tree) { + uint16_t num; + off_t nodeOffset; + off_t freespaceOffsetOffset; + uint16_t offset; + off_t freespaceOffset; + + num = descriptor->numRecords; + + nodeOffset = nodeNum * tree->headerRec->nodeSize; + freespaceOffsetOffset = nodeOffset + tree->headerRec->nodeSize - (sizeof(uint16_t) * (num + 1)); + + if(!READ(tree->io, freespaceOffsetOffset, sizeof(uint16_t), &offset)) { + hfs_panic("cannot get record offset!"); + } + + FLIPENDIAN(offset); + + freespaceOffset = nodeOffset + offset; + + return (freespaceOffsetOffset - freespaceOffset); +} + +off_t getNodeNumberFromPointerRecord(off_t offset, io_func* io) { + uint32_t nodeNum; + + if(!READ(io, offset, sizeof(uint32_t), &nodeNum)) { + hfs_panic("cannot get node number from pointer record!"); + } + + FLIPENDIAN(nodeNum); + + return nodeNum; +} + +static void* searchNode(BTree* tree, uint32_t root, BTKey* searchKey, int *exact, uint32_t *nodeNumber, int *recordNumber) { + BTNodeDescriptor* descriptor; + BTKey* key; + off_t recordOffset; + off_t recordDataOffset; + off_t lastRecordDataOffset; + + int res; + int i; + + descriptor = readBTNodeDescriptor(root, tree); + + if(descriptor == NULL) + return NULL; + + lastRecordDataOffset = 0; + + for(i = 0; i < descriptor->numRecords; i++) { + recordOffset = getRecordOffset(i, root, tree); + key = READ_KEY(tree, recordOffset, tree->io); + recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); + + res = COMPARE(tree, key, searchKey); + free(key); + if(res == 0) { + if(descriptor->kind == kBTLeafNode) { + if(nodeNumber != NULL) + *nodeNumber = root; + + if(recordNumber != NULL) + *recordNumber = i; + + if(exact != NULL) + *exact = TRUE; + + free(descriptor); + + return READ_DATA(tree, recordDataOffset, tree->io); + } else { + + free(descriptor); + return searchNode(tree, getNodeNumberFromPointerRecord(recordDataOffset, tree->io), searchKey, exact, nodeNumber, recordNumber); + } + } else if(res > 0) { + break; + } + + lastRecordDataOffset = recordDataOffset; + } + + if(lastRecordDataOffset == 0) { + hfs_panic("BTree inconsistent!"); + return NULL; + } + + if(descriptor->kind == kBTLeafNode) { + if(nodeNumber != NULL) + *nodeNumber = root; + + if(recordNumber != NULL) + *recordNumber = i; + + if(exact != NULL) + *exact = FALSE; + + free(descriptor); + return READ_DATA(tree, lastRecordDataOffset, tree->io); + } else { + + free(descriptor); + return searchNode(tree, getNodeNumberFromPointerRecord(lastRecordDataOffset, tree->io), searchKey, exact, nodeNumber, recordNumber); + } +} + +void* search(BTree* tree, BTKey* searchKey, int *exact, uint32_t *nodeNumber, int *recordNumber) { + return searchNode(tree, tree->headerRec->rootNode, searchKey, exact, nodeNumber, recordNumber); +} + +static uint32_t linearCheck(uint32_t* heightTable, unsigned char* map, BTree* tree, uint32_t *errCount) { + uint8_t i; + uint8_t j; + uint32_t node; + + uint32_t count; + uint32_t leafRecords; + + BTNodeDescriptor* descriptor; + + uint32_t prevNode; + + off_t recordOffset; + BTKey* key; + BTKey* previousKey; + + count = 0; + + leafRecords = 0; + + for(i = 0; i <= tree->headerRec->treeDepth; i++) { + node = heightTable[i]; + if(node != 0) { + descriptor = readBTNodeDescriptor(node, tree); + while(descriptor->bLink != 0) { + node = descriptor->bLink; + free(descriptor); + descriptor = readBTNodeDescriptor(node, tree); + } + free(descriptor); + + prevNode = 0; + previousKey = NULL; + + if(i == 1) { + if(node != tree->headerRec->firstLeafNode) { + printf("BTREE CONSISTENCY ERROR: First leaf node (%d) is not correct. Should be: %d\n", tree->headerRec->firstLeafNode, node); + (*errCount)++; + } + } + + while(node != 0) { + descriptor = readBTNodeDescriptor(node, tree); + if(descriptor->bLink != prevNode) { + printf("BTREE CONSISTENCY ERROR: Node %d is not properly linked with previous node %d\n", node, prevNode); + (*errCount)++; + } + + if(descriptor->height != i) { + printf("BTREE CONSISTENCY ERROR: Node %d (%d) is not properly linked with nodes of the same height %d\n", node, descriptor->height, i); + (*errCount)++; + } + + if((map[node / 8] & (1 << (7 - (node % 8)))) == 0) { + printf("BTREE CONSISTENCY ERROR: Node %d not marked allocated\n", node); + (*errCount)++; + } + + /*if(descriptor->kind == kBTIndexNode && descriptor->numRecords < 2) { + printf("BTREE CONSISTENCY ERROR: Node %d does not have at least two children\n", node); + (*errCount)++; + }*/ + + for(j = 0; j < descriptor->numRecords; j++) { + recordOffset = getRecordOffset(j, node, tree); + key = READ_KEY(tree, recordOffset, tree->io); + if(previousKey != NULL) { + if(COMPARE(tree, key, previousKey) < 0) { + printf("BTREE CONSISTENCY ERROR: Ordering not preserved during linear check for record %d node %d: ", j, node); + (*errCount)++; + tree->keyPrint(previousKey); + printf(" < "); + tree->keyPrint(key); + printf("\n"); + } + free(previousKey); + } + + if(i == 1) { + leafRecords++; + } + previousKey = key; + } + + count++; + + prevNode = node; + node = descriptor->fLink; + free(descriptor); + } + + if(i == 1) { + if(prevNode != tree->headerRec->lastLeafNode) { + printf("BTREE CONSISTENCY ERROR: Last leaf node (%d) is not correct. Should be: %d\n", tree->headerRec->lastLeafNode, node); + (*errCount)++; + } + } + + free(previousKey); + } + } + + if(leafRecords != tree->headerRec->leafRecords) { + printf("BTREE CONSISTENCY ERROR: leafRecords (%d) is not correct. Should be: %d\n", tree->headerRec->leafRecords, leafRecords); + (*errCount)++; + } + + return count; +} + +static uint32_t traverseNode(uint32_t nodeNum, BTree* tree, unsigned char* map, int parentHeight, BTKey** firstKey, BTKey** lastKey, + uint32_t* heightTable, uint32_t* errCount, int displayTree) { + BTNodeDescriptor* descriptor; + BTKey* key; + BTKey* previousKey; + BTKey* retFirstKey; + BTKey* retLastKey; + int i, j; + + int res; + + uint32_t count; + + off_t recordOffset; + off_t recordDataOffset; + + off_t lastrecordDataOffset; + + descriptor = readBTNodeDescriptor(nodeNum, tree); + + previousKey = NULL; + + count = 1; + + if(displayTree) { + for(i = 0; i < descriptor->height; i++) { + printf(" "); + } + } + + if(descriptor->kind == kBTLeafNode) { + if(displayTree) + printf("Leaf %d: %d", nodeNum, descriptor->numRecords); + + if(descriptor->height != 1) { + printf("BTREE CONSISTENCY ERROR: Leaf node %d does not have height 1\n", nodeNum); fflush(stdout); + (*errCount)++; + } + } else if(descriptor->kind == kBTIndexNode) { + if(displayTree) + printf("Index %d: %d", nodeNum, descriptor->numRecords); + + } else { + printf("BTREE CONSISTENCY ERROR: Unexpected node %d has kind %d\n", nodeNum, descriptor->kind); fflush(stdout); + (*errCount)++; + } + + if(displayTree) { + printf("\n"); fflush(stdout); + } + + if((map[nodeNum / 8] & (1 << (7 - (nodeNum % 8)))) == 0) { + printf("BTREE CONSISTENCY ERROR: Node %d not marked allocated\n", nodeNum); fflush(stdout); + (*errCount)++; + } + + if(nodeNum == tree->headerRec->rootNode) { + if(descriptor->height != tree->headerRec->treeDepth) { + printf("BTREE CONSISTENCY ERROR: Root node %d (%d) does not have the proper height (%d)\n", nodeNum, + descriptor->height, tree->headerRec->treeDepth); fflush(stdout); + (*errCount)++; + } + } else { + if(descriptor->height != (parentHeight - 1)) { + printf("BTREE CONSISTENCY ERROR: Node %d does not have the proper height\n", nodeNum); fflush(stdout); + (*errCount)++; + } + } + + /*if(descriptor->kind == kBTIndexNode && descriptor->numRecords < 2) { + printf("BTREE CONSISTENCY ERROR: Node %d does not have at least two children\n", nodeNum); + (*errCount)++; + }*/ + + heightTable[descriptor->height] = nodeNum; + lastrecordDataOffset = 0; + + for(i = 0; i < descriptor->numRecords; i++) { + recordOffset = getRecordOffset(i, nodeNum, tree); + key = READ_KEY(tree, recordOffset, tree->io); + recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); + + if((recordDataOffset - (nodeNum * tree->headerRec->nodeSize)) > (tree->headerRec->nodeSize - (sizeof(uint16_t) * (descriptor->numRecords + 1)))) { + printf("BTREE CONSISTENCY ERROR: Record data extends past offsets in node %d record %d\n", nodeNum, i); fflush(stdout); + (*errCount)++; + } + + if(i == 0) { + *firstKey = READ_KEY(tree, recordOffset, tree->io); + } + + if(i == (descriptor->numRecords - 1)) { + *lastKey = READ_KEY(tree, recordOffset, tree->io); + } + + if(previousKey != NULL) { + res = COMPARE(tree, key, previousKey); + if(res < 0) { + printf("BTREE CONSISTENCY ERROR(traverse): Ordering between records within node not preserved in record %d node %d for ", i, nodeNum); + (*errCount)++; + tree->keyPrint(previousKey); + printf(" < "); + tree->keyPrint(key); + printf("\n"); fflush(stdout); + } + free(previousKey); + } + + if(displayTree) { + for(j = 0; j < (descriptor->height - 1); j++) { + printf(" "); + } + tree->keyPrint(key); + printf("\n"); + } + + if(descriptor->kind == kBTIndexNode) { + count += traverseNode(getNodeNumberFromPointerRecord(recordDataOffset, tree->io), + tree, map, descriptor->height, &retFirstKey, &retLastKey, heightTable, errCount, displayTree); + + if(COMPARE(tree, retFirstKey, key) != 0) { + printf("BTREE CONSISTENCY ERROR: Index node key does not match first key in record %d node %d\n", i, nodeNum); fflush(stdout); + (*errCount)++; + } + if(COMPARE(tree, retLastKey, key) < 0) { + printf("BTREE CONSISTENCY ERROR: Last key is less than the index node key in record %d node %d\n", i, nodeNum); fflush(stdout); + (*errCount)++; + } + free(retFirstKey); + free(key); + previousKey = retLastKey; + } else { + previousKey = key; + } + + if(recordOffset < lastrecordDataOffset) { + printf("BTREE CONSISTENCY ERROR: Record offsets are not in order in node %d starting at record %d\n", nodeNum, i); fflush(stdout); + (*errCount)++; + } + + lastrecordDataOffset = recordDataOffset; + } + + free(descriptor); + + return count; + +} + +static unsigned char* mapNodes(BTree* tree, uint32_t* numMapNodes, uint32_t* errCount) { + unsigned char *map; + + BTNodeDescriptor* descriptor; + + unsigned char byte; + + uint32_t totalNodes; + uint32_t freeNodes; + + uint32_t byteNumber; + uint32_t byteTracker; + + uint32_t mapNode; + + off_t mapRecordStart; + off_t mapRecordLength; + + int i; + + map = (unsigned char *)malloc(tree->headerRec->totalNodes/8 + 1); + + byteTracker = 0; + freeNodes = 0; + totalNodes = 0; + + mapRecordStart = getRecordOffset(2, 0, tree); + mapRecordLength = tree->headerRec->nodeSize - 256; + byteNumber = 0; + mapNode = 0; + + *numMapNodes = 0; + + while(TRUE) { + while(byteNumber < mapRecordLength) { + READ(tree->io, mapRecordStart + byteNumber, 1, &byte); + map[byteTracker] = byte; + byteTracker++; + byteNumber++; + for(i = 0; i < 8; i++) { + if((byte & (1 << (7 - i))) == 0) { + freeNodes++; + } + totalNodes++; + + if(totalNodes == tree->headerRec->totalNodes) + goto done; + } + } + + descriptor = readBTNodeDescriptor(mapNode, tree); + mapNode = descriptor->fLink; + free(descriptor); + + (*numMapNodes)++; + + if(mapNode == 0) { + printf("BTREE CONSISTENCY ERROR: Not enough map nodes allocated! Allocated for: %d, needed: %d\n", totalNodes, tree->headerRec->totalNodes); + (*errCount)++; + break; + } + + mapRecordStart = mapNode * tree->headerRec->nodeSize + 14; + mapRecordLength = tree->headerRec->nodeSize - 20; + byteNumber = 0; + } + + done: + + if(freeNodes != tree->headerRec->freeNodes) { + printf("BTREE CONSISTENCY ERROR: Free nodes %d differ from actually allocated %d\n", tree->headerRec->freeNodes, freeNodes); + (*errCount)++; + } + + return map; +} + +int debugBTree(BTree* tree, int displayTree) { + unsigned char* map; + uint32_t *heightTable; + BTKey* retFirstKey; + BTKey* retLastKey; + + uint32_t numMapNodes; + uint32_t traverseCount; + uint32_t linearCount; + uint32_t errorCount; + + uint8_t i; + + errorCount = 0; + + printf("Mapping nodes...\n"); fflush(stdout); + map = mapNodes(tree, &numMapNodes, &errorCount); + + printf("Initializing height table...\n"); fflush(stdout); + heightTable = (uint32_t*) malloc(sizeof(uint32_t) * (tree->headerRec->treeDepth + 1)); + for(i = 0; i <= tree->headerRec->treeDepth; i++) { + heightTable[i] = 0; + } + + if(tree->headerRec->rootNode == 0) { + if(tree->headerRec->firstLeafNode == 0 && tree->headerRec->lastLeafNode == 0) { + traverseCount = 0; + linearCount = 0; + } else { + printf("BTREE CONSISTENCY ERROR: First leaf node (%d) and last leaf node (%d) inconsistent with empty BTree\n", + tree->headerRec->firstLeafNode, tree->headerRec->lastLeafNode); + + // Try to see if we can get a linear count + if(tree->headerRec->firstLeafNode != 0) + heightTable[1] = tree->headerRec->firstLeafNode; + else + heightTable[1] = tree->headerRec->lastLeafNode; + + linearCount = linearCheck(heightTable, map, tree, &errorCount); + } + } else { + printf("Performing tree traversal...\n"); fflush(stdout); + traverseCount = traverseNode(tree->headerRec->rootNode, tree, map, 0, &retFirstKey, &retLastKey, heightTable, &errorCount, displayTree); + + printf("Performing linear traversal...\n"); fflush(stdout); + linearCount = linearCheck(heightTable, map, tree, &errorCount); + } + + printf("Total traverse nodes: %d\n", traverseCount); fflush(stdout); + printf("Total linear nodes: %d\n", linearCount); fflush(stdout); + printf("Error count: %d\n", errorCount); fflush(stdout); + + if(traverseCount != linearCount) { + printf("BTREE CONSISTENCY ERROR: Linear count and traverse count are inconsistent\n"); + } + + if(traverseCount != (tree->headerRec->totalNodes - tree->headerRec->freeNodes - numMapNodes - 1)) { + printf("BTREE CONSISTENCY ERROR: Free nodes and total nodes (%d) and traverse count are inconsistent\n", + tree->headerRec->totalNodes - tree->headerRec->freeNodes); + } + + free(heightTable); + free(map); + + return errorCount; +} + +static uint32_t findFree(BTree* tree) { + unsigned char byte; + uint32_t byteNumber; + uint32_t mapNode; + + BTNodeDescriptor* descriptor; + + off_t mapRecordStart; + off_t mapRecordLength; + + int i; + + mapRecordStart = getRecordOffset(2, 0, tree); + mapRecordLength = tree->headerRec->nodeSize - 256; + mapNode = 0; + byteNumber = 0; + + while(TRUE) { + while(byteNumber < mapRecordLength) { + READ(tree->io, mapRecordStart + byteNumber, 1, &byte); + if(byte != 0xFF) { + for(i = 0; i < 8; i++) { + if((byte & (1 << (7 - i))) == 0) { + byte |= (1 << (7 - i)); + tree->headerRec->freeNodes--; + ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); + ASSERT(WRITE(tree->io, mapRecordStart + byteNumber, 1, &byte), "WRITE"); + return ((byteNumber * 8) + i); + } + } + } + byteNumber++; + } + + descriptor = readBTNodeDescriptor(mapNode, tree); + mapNode = descriptor->fLink; + free(descriptor); + + if(mapNode == 0) { + return 0; + } + + mapRecordStart = mapNode * tree->headerRec->nodeSize + 14; + mapRecordLength = tree->headerRec->nodeSize - 20; + byteNumber = 0; + } +} + +static int markUsed(uint32_t node, BTree* tree) { + BTNodeDescriptor* descriptor; + uint32_t mapNode; + uint32_t byteNumber; + + unsigned char byte; + + mapNode = 0; + byteNumber = node / 8; + + if(byteNumber >= (tree->headerRec->nodeSize - 256)) { + while(TRUE) { + descriptor = readBTNodeDescriptor(mapNode, tree); + mapNode = descriptor->fLink; + free(descriptor); + + if(byteNumber > (tree->headerRec->nodeSize - 20)) { + byteNumber -= tree->headerRec->nodeSize - 20; + } else { + break; + } + } + } + + ASSERT(READ(tree->io, mapNode * tree->headerRec->nodeSize + 14 + byteNumber, 1, &byte), "READ"); + byte |= (1 << (7 - (node % 8))); + ASSERT(WRITE(tree->io, mapNode * tree->headerRec->nodeSize + 14 + byteNumber, 1, &byte), "WRITE"); + + return TRUE; +} + +static int growBTree(BTree* tree) { + int i; + unsigned char* buffer; + uint16_t offset; + + uint32_t byteNumber; + uint32_t mapNode; + int increasedNodes; + + off_t newNodeOffset; + uint32_t newNodesStart; + + BTNodeDescriptor* descriptor; + BTNodeDescriptor newDescriptor; + + allocate((RawFile*)(tree->io->data), ((RawFile*)(tree->io->data))->forkData->logicalSize + ((RawFile*)(tree->io->data))->forkData->clumpSize); + increasedNodes = (((RawFile*)(tree->io->data))->forkData->logicalSize/tree->headerRec->nodeSize) - tree->headerRec->totalNodes; + + newNodesStart = tree->headerRec->totalNodes / tree->headerRec->nodeSize; + + tree->headerRec->freeNodes += increasedNodes; + tree->headerRec->totalNodes += increasedNodes; + + byteNumber = tree->headerRec->totalNodes / 8; + mapNode = 0; + + buffer = (unsigned char*) malloc(tree->headerRec->nodeSize - 20); + for(i = 0; i < (tree->headerRec->nodeSize - 20); i++) { + buffer[i] = 0; + } + + if(byteNumber < (tree->headerRec->nodeSize - 256)) { + ASSERT(writeBTHeaderRec(tree), "writeBTHeaderREc"); + return TRUE; + } else { + byteNumber -= tree->headerRec->nodeSize - 256; + + while(TRUE) { + descriptor = readBTNodeDescriptor(mapNode, tree); + + if(descriptor->fLink == 0) { + descriptor->fLink = newNodesStart; + ASSERT(writeBTNodeDescriptor(descriptor, mapNode, tree), "writeBTNodeDescriptor"); + + newDescriptor.fLink = 0; + newDescriptor.bLink = 0; + newDescriptor.kind = kBTMapNode; + newDescriptor.height = 0; + newDescriptor.numRecords = 1; + newDescriptor.reserved = 0; + ASSERT(writeBTNodeDescriptor(&newDescriptor, descriptor->fLink, tree), "writeBTNodeDescriptor"); + + newNodeOffset = descriptor->fLink * tree->headerRec->nodeSize; + + ASSERT(WRITE(tree->io, newNodeOffset + 14, tree->headerRec->nodeSize - 20, buffer), "WRITE"); + offset = 14; + FLIPENDIAN(offset); + ASSERT(WRITE(tree->io, newNodeOffset + tree->headerRec->nodeSize - 2, sizeof(offset), &offset), "WRITE"); + offset = 14 + tree->headerRec->nodeSize - 20; + FLIPENDIAN(offset); + ASSERT(WRITE(tree->io, newNodeOffset + tree->headerRec->nodeSize - 4, sizeof(offset), &offset), "WRITE"); + + // mark the map node as being used + ASSERT(markUsed(newNodesStart, tree), "markUsed"); + tree->headerRec->freeNodes--; + newNodesStart++; + } + mapNode = descriptor->fLink; + + if(byteNumber > (tree->headerRec->nodeSize - 20)) { + byteNumber -= tree->headerRec->nodeSize - 20; + } else { + free(buffer); + + ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); + return TRUE; + } + } + } + + return FALSE; +} + +static uint32_t getNewNode(BTree* tree) { + if(tree->headerRec->freeNodes == 0) { + growBTree(tree); + } + + return findFree(tree); +} + +static uint32_t removeNode(BTree* tree, uint32_t node) { + unsigned char byte; + off_t mapRecordStart; + uint32_t mapNode; + size_t mapRecordLength; + BTNodeDescriptor *descriptor; + BTNodeDescriptor *oDescriptor; + + mapRecordStart = getRecordOffset(2, 0, tree); + mapRecordLength = tree->headerRec->nodeSize - 256; + mapNode = 0; + + while((node / 8) >= mapRecordLength) { + descriptor = readBTNodeDescriptor(mapNode, tree); + mapNode = descriptor->fLink; + free(descriptor); + + if(mapNode == 0) { + hfs_panic("Cannot remove node because I can't map it!"); + return 0; + } + + mapRecordStart = mapNode * tree->headerRec->nodeSize + 14; + mapRecordLength = tree->headerRec->nodeSize - 20; + node -= mapRecordLength * 8; + } + + READ(tree->io, mapRecordStart + (node / 8), 1, &byte); + + byte &= ~(1 << (7 - (node % 8))); + + tree->headerRec->freeNodes++; + + descriptor = readBTNodeDescriptor(node, tree); + + if(tree->headerRec->firstLeafNode == node) { + tree->headerRec->firstLeafNode = descriptor->fLink; + } + + if(tree->headerRec->lastLeafNode == node) { + tree->headerRec->lastLeafNode = descriptor->bLink; + } + + if(node == tree->headerRec->rootNode) { + tree->headerRec->rootNode = 0; + } + + if(descriptor->bLink != 0) { + oDescriptor = readBTNodeDescriptor(descriptor->bLink, tree); + oDescriptor->fLink = descriptor->fLink; + ASSERT(writeBTNodeDescriptor(oDescriptor, descriptor->bLink, tree), "writeBTNodeDescriptor"); + free(oDescriptor); + } + + if(descriptor->fLink != 0) { + oDescriptor = readBTNodeDescriptor(descriptor->fLink, tree); + oDescriptor->bLink = descriptor->bLink; + ASSERT(writeBTNodeDescriptor(oDescriptor, descriptor->fLink, tree), "writeBTNodeDescriptor"); + free(oDescriptor); + } + + free(descriptor); + + ASSERT(WRITE(tree->io, mapRecordStart + (node / 8), 1, &byte), "WRITE"); + ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); + + return TRUE; +} + +static uint32_t splitNode(uint32_t node, BTNodeDescriptor* descriptor, BTree* tree) { + int nodesToMove; + + int i; + off_t internalOffset; + + BTNodeDescriptor* fDescriptor; + + BTNodeDescriptor newDescriptor; + uint32_t newNodeNum; + off_t newNodeOffset; + + off_t toMove; + size_t toMoveLength; + unsigned char *buffer; + + off_t offsetsToMove; + size_t offsetsToMoveLength; + uint16_t *offsetsBuffer; + + nodesToMove = descriptor->numRecords - (descriptor->numRecords/2); + + toMove = getRecordOffset(descriptor->numRecords/2, node, tree); + toMoveLength = getRecordOffset(descriptor->numRecords, node, tree) - toMove; + buffer = (unsigned char *)malloc(toMoveLength); + ASSERT(READ(tree->io, toMove, toMoveLength, buffer), "READ"); + + offsetsToMove = (node * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * (descriptor->numRecords + 1)); + offsetsToMoveLength = sizeof(uint16_t) * (nodesToMove + 1); + offsetsBuffer = (uint16_t *)malloc(offsetsToMoveLength); + ASSERT(READ(tree->io, offsetsToMove, offsetsToMoveLength, offsetsBuffer), "READ"); + + for(i = 0; i < (nodesToMove + 1); i++) { + FLIPENDIAN(offsetsBuffer[i]); + } + + internalOffset = offsetsBuffer[nodesToMove] - 14; + + for(i = 0; i < (nodesToMove + 1); i++) { + offsetsBuffer[i] -= internalOffset; + FLIPENDIAN(offsetsBuffer[i]); + } + + newNodeNum = getNewNode(tree); + newNodeOffset = newNodeNum * tree->headerRec->nodeSize; + + newDescriptor.fLink = descriptor->fLink; + newDescriptor.bLink = node; + newDescriptor.kind = descriptor->kind; + newDescriptor.height = descriptor->height; + newDescriptor.numRecords = nodesToMove; + newDescriptor.reserved = 0; + ASSERT(writeBTNodeDescriptor(&newDescriptor, newNodeNum, tree), "writeBTNodeDescriptor"); + + if(newDescriptor.fLink != 0) { + fDescriptor = readBTNodeDescriptor(newDescriptor.fLink, tree); + fDescriptor->bLink = newNodeNum; + ASSERT(writeBTNodeDescriptor(fDescriptor, newDescriptor.fLink, tree), "writeBTNodeDescriptor"); + free(fDescriptor); + } + + descriptor->fLink = newNodeNum; + descriptor->numRecords = descriptor->numRecords/2; + ASSERT(writeBTNodeDescriptor(descriptor, node, tree), "writeBTNodeDescriptor"); + + ASSERT(WRITE(tree->io, newNodeOffset + 14, toMoveLength, buffer), "WRITE"); + ASSERT(WRITE(tree->io, newNodeOffset + tree->headerRec->nodeSize - (sizeof(uint16_t) * (nodesToMove + 1)), offsetsToMoveLength, offsetsBuffer), "WRITE"); + + // The offset for the existing descriptor's new numRecords will happen to be where the old data was, which is now where the free space starts + // So we don't have to manually set the free space offset + + free(buffer); + free(offsetsBuffer); + + if(descriptor->kind == kBTLeafNode && node == tree->headerRec->lastLeafNode) { + tree->headerRec->lastLeafNode = newNodeNum; + ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); + } + + return newNodeNum; +} + +static int moveRecordsDown(BTree* tree, BTNodeDescriptor* descriptor, int record, uint32_t node, int length, int moveOffsets) { + off_t firstRecordStart; + off_t lastRecordEnd; + unsigned char* records; + + off_t firstOffsetStart; + off_t lastOffsetEnd; + uint16_t* offsets; + + int i; + + firstRecordStart = getRecordOffset(record, node, tree); + lastRecordEnd = getRecordOffset(descriptor->numRecords, node, tree); + + records = (unsigned char*)malloc(lastRecordEnd - firstRecordStart); + + ASSERT(READ(tree->io, firstRecordStart, lastRecordEnd - firstRecordStart, records), "READ"); + firstOffsetStart = (node * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * (descriptor->numRecords + 1)); + lastOffsetEnd = (node * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * record); + + offsets = (uint16_t*)malloc(lastOffsetEnd - firstOffsetStart); + ASSERT(READ(tree->io, firstOffsetStart, lastOffsetEnd - firstOffsetStart, offsets), "READ"); + + for(i = 0; i < (lastOffsetEnd - firstOffsetStart)/sizeof(uint16_t); i++) { + FLIPENDIAN(offsets[i]); + offsets[i] += length; + FLIPENDIAN(offsets[i]); + } + + ASSERT(WRITE(tree->io, firstRecordStart + length, lastRecordEnd - firstRecordStart, records), "WRITE"); + + if(moveOffsets > 0) { + ASSERT(WRITE(tree->io, firstOffsetStart - sizeof(uint16_t), lastOffsetEnd - firstOffsetStart, offsets), "WRITE"); + } else if(moveOffsets < 0) { + ASSERT(WRITE(tree->io, firstOffsetStart + sizeof(uint16_t), lastOffsetEnd - firstOffsetStart, offsets), "WRITE"); + } else { + ASSERT(WRITE(tree->io, firstOffsetStart, lastOffsetEnd - firstOffsetStart, offsets), "WRITE"); + } + + free(records); + free(offsets); + + return TRUE; +} + +static int doAddRecord(BTree* tree, uint32_t root, BTKey* searchKey, size_t length, unsigned char* content) { + BTNodeDescriptor* descriptor; + BTKey* key; + off_t recordOffset; + off_t recordDataOffset; + off_t lastRecordDataOffset; + + uint16_t offset; + + int res; + int i; + + descriptor = readBTNodeDescriptor(root, tree); + + if(descriptor == NULL) + return FALSE; + + lastRecordDataOffset = 0; + + for(i = 0; i < descriptor->numRecords; i++) { + recordOffset = getRecordOffset(i, root, tree); + key = READ_KEY(tree, recordOffset, tree->io); + recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); + + res = COMPARE(tree, key, searchKey); + if(res == 0) { + free(key); + free(descriptor); + + return FALSE; + } else if(res > 0) { + free(key); + + break; + } + + free(key); + + lastRecordDataOffset = recordDataOffset; + } + + if(i != descriptor->numRecords) { + // first, move everyone else down + + moveRecordsDown(tree, descriptor, i, root, sizeof(searchKey->keyLength) + searchKey->keyLength + length, 1); + + // then insert ourself + ASSERT(WRITE_KEY(tree, recordOffset, searchKey, tree->io), "WRITE_KEY"); + ASSERT(WRITE(tree->io, recordOffset + sizeof(searchKey->keyLength) + searchKey->keyLength, length, content), "WRITE"); + + offset = recordOffset - (root * tree->headerRec->nodeSize); + FLIPENDIAN(offset); + ASSERT(WRITE(tree->io, (root * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * (i + 1)), + sizeof(uint16_t), &offset), "WRITE"); + } else { + // just insert ourself at the end + recordOffset = getRecordOffset(i, root, tree); + ASSERT(WRITE_KEY(tree, recordOffset, searchKey, tree->io), "WRITE_KEY"); + ASSERT(WRITE(tree->io, recordOffset + sizeof(uint16_t) + searchKey->keyLength, length, content), "WRITE"); + + // write the new free offset + offset = (recordOffset + sizeof(searchKey->keyLength) + searchKey->keyLength + length) - (root * tree->headerRec->nodeSize); + FLIPENDIAN(offset); + ASSERT(WRITE(tree->io, (root * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * (descriptor->numRecords + 2)), + sizeof(uint16_t), &offset), "WRITE"); + } + + descriptor->numRecords++; + + if(descriptor->height == 1) { + tree->headerRec->leafRecords++; + } + + ASSERT(writeBTNodeDescriptor(descriptor, root, tree), "writeBTNodeDescriptor"); + ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); + + free(descriptor); + return TRUE; +} + +static int addRecord(BTree* tree, uint32_t root, BTKey* searchKey, size_t length, unsigned char* content, int* callAgain) { + BTNodeDescriptor* descriptor; + BTKey* key; + off_t recordOffset; + off_t recordDataOffset; + off_t lastRecordDataOffset; + + size_t freeSpace; + + int res; + int i; + + uint32_t newNode; + uint32_t newNodeBigEndian; + + uint32_t nodeBigEndian; + + descriptor = readBTNodeDescriptor(root, tree); + + if(descriptor == NULL) + return 0; + + freeSpace = getFreeSpace(root, descriptor, tree); + + lastRecordDataOffset = 0; + + for(i = 0; i < descriptor->numRecords; i++) { + recordOffset = getRecordOffset(i, root, tree); + key = READ_KEY(tree, recordOffset, tree->io); + recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); + + res = COMPARE(tree, key, searchKey); + if(res == 0) { + free(key); + free(descriptor); + + return 0; + } else if(res > 0) { + free(key); + + break; + } + + free(key); + + lastRecordDataOffset = recordDataOffset; + } + + if(descriptor->kind == kBTLeafNode) { + if(freeSpace < (sizeof(searchKey->keyLength) + searchKey->keyLength + length + sizeof(uint16_t))) { + newNode = splitNode(root, descriptor, tree); + if(i < descriptor->numRecords) { + doAddRecord(tree, root, searchKey, length, content); + } else { + doAddRecord(tree, newNode, searchKey, length, content); + } + + free(descriptor); + return newNode; + } else { + doAddRecord(tree, root, searchKey, length, content); + + free(descriptor); + return 0; + } + } else { + if(lastRecordDataOffset == 0) { + if(descriptor->numRecords == 0) { + hfs_panic("empty index node in btree"); + return 0; + } + + key = READ_KEY(tree, (root * tree->headerRec->nodeSize) + 14, tree->io); + + recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); + nodeBigEndian = getNodeNumberFromPointerRecord(recordDataOffset, tree->io); + + FLIPENDIAN(nodeBigEndian); + + free(key); + key = READ_KEY(tree, (root * tree->headerRec->nodeSize) + 14, tree->io); + recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); + + if(searchKey->keyLength != key->keyLength) { + if(searchKey->keyLength > key->keyLength && freeSpace < (searchKey->keyLength - key->keyLength)) { + // very unlikely. We need to split this node before we can resize the key of this index. Do that first, and tell them to call again. + *callAgain = TRUE; + return splitNode(root, descriptor, tree); + } + + moveRecordsDown(tree, descriptor, 1, root, searchKey->keyLength - key->keyLength, 0); + } + + free(key); + + ASSERT(WRITE_KEY(tree, recordOffset, searchKey, tree->io), "WRITE_KEY"); + ASSERT(WRITE(tree->io, recordOffset + sizeof(uint16_t) + searchKey->keyLength, sizeof(uint32_t), &nodeBigEndian), "WRITE"); + + FLIPENDIAN(nodeBigEndian); + + newNode = addRecord(tree, nodeBigEndian, searchKey, length, content, callAgain); + } else { + newNode = addRecord(tree, getNodeNumberFromPointerRecord(lastRecordDataOffset, tree->io), searchKey, length, content, callAgain); + } + + if(newNode == 0) { + free(descriptor); + return 0; + } else { + newNodeBigEndian = newNode; + key = READ_KEY(tree, newNode * tree->headerRec->nodeSize + 14, tree->io); + FLIPENDIAN(newNodeBigEndian); + + if(freeSpace < (sizeof(key->keyLength) + key->keyLength + sizeof(newNodeBigEndian) + sizeof(uint16_t))) { + newNode = splitNode(root, descriptor, tree); + + if(i < descriptor->numRecords) { + doAddRecord(tree, root, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); + } else { + doAddRecord(tree, newNode, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); + } + + free(key); + free(descriptor); + return newNode; + } else { + doAddRecord(tree, root, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); + + free(key); + free(descriptor); + return 0; + } + } + } +} + +static int increaseHeight(BTree* tree, uint32_t newNode) { + uint32_t oldRoot; + uint32_t newRoot; + BTNodeDescriptor newDescriptor; + + BTKey* oldRootKey; + BTKey* newNodeKey; + + uint16_t oldRootOffset; + uint16_t newNodeOffset; + uint16_t freeOffset; + + oldRoot = tree->headerRec->rootNode; + + oldRootKey = READ_KEY(tree, (oldRoot * tree->headerRec->nodeSize) + 14, tree->io); + newNodeKey = READ_KEY(tree, (newNode * tree->headerRec->nodeSize) + 14, tree->io); + + newRoot = getNewNode(tree); + + newDescriptor.fLink = 0; + newDescriptor.bLink = 0; + newDescriptor.kind = kBTIndexNode; + newDescriptor.height = tree->headerRec->treeDepth + 1; + newDescriptor.numRecords = 2; + newDescriptor.reserved = 0; + + oldRootOffset = 14; + newNodeOffset = oldRootOffset + sizeof(oldRootKey->keyLength) + oldRootKey->keyLength + sizeof(uint32_t); + freeOffset = newNodeOffset + sizeof(newNodeKey->keyLength) + newNodeKey->keyLength + sizeof(uint32_t); + + tree->headerRec->rootNode = newRoot; + tree->headerRec->treeDepth = newDescriptor.height; + + ASSERT(WRITE_KEY(tree, newRoot * tree->headerRec->nodeSize + oldRootOffset, oldRootKey, tree->io), "WRITE_KEY"); + FLIPENDIAN(oldRoot); + ASSERT(WRITE(tree->io, newRoot * tree->headerRec->nodeSize + oldRootOffset + sizeof(oldRootKey->keyLength) + oldRootKey->keyLength, + sizeof(uint32_t), &oldRoot), "WRITE"); + + ASSERT(WRITE_KEY(tree, newRoot * tree->headerRec->nodeSize + newNodeOffset, newNodeKey, tree->io), "WRITE_KEY"); + FLIPENDIAN(newNode); + ASSERT(WRITE(tree->io, newRoot * tree->headerRec->nodeSize + newNodeOffset + sizeof(newNodeKey->keyLength) + newNodeKey->keyLength, + sizeof(uint32_t), &newNode), "WRITE"); + + FLIPENDIAN(oldRootOffset); + ASSERT(WRITE(tree->io, (newRoot * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * 1), + sizeof(uint16_t), &oldRootOffset), "WRITE"); + + FLIPENDIAN(newNodeOffset); + ASSERT(WRITE(tree->io, (newRoot * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * 2), + sizeof(uint16_t), &newNodeOffset), "WRITE"); + + FLIPENDIAN(freeOffset); + ASSERT(WRITE(tree->io, (newRoot * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * 3), + sizeof(uint16_t), &freeOffset), "WRITE"); + + ASSERT(writeBTNodeDescriptor(&newDescriptor, tree->headerRec->rootNode, tree), "writeBTNodeDescriptor"); + ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); + + return TRUE; +} + +int addToBTree(BTree* tree, BTKey* searchKey, size_t length, unsigned char* content) { + int callAgain; + BTNodeDescriptor newDescriptor; + uint16_t offset; + uint16_t freeOffset; + uint32_t newNode; + + if(tree->headerRec->rootNode != 0) { + do { + callAgain = FALSE; + newNode = addRecord(tree, tree->headerRec->rootNode, searchKey, length, content, &callAgain); + if(newNode != 0) { + increaseHeight(tree, newNode); + } + } while(callAgain); + } else { + // add the first leaf node + tree->headerRec->rootNode = getNewNode(tree); + tree->headerRec->firstLeafNode = tree->headerRec->rootNode; + tree->headerRec->lastLeafNode = tree->headerRec->rootNode; + tree->headerRec->leafRecords = 1; + tree->headerRec->treeDepth = 1; + + newDescriptor.fLink = 0; + newDescriptor.bLink = 0; + newDescriptor.kind = kBTLeafNode; + newDescriptor.height = 1; + newDescriptor.numRecords = 1; + newDescriptor.reserved = 0; + + offset = 14; + freeOffset = offset + sizeof(searchKey->keyLength) + searchKey->keyLength + length; + + ASSERT(WRITE_KEY(tree, tree->headerRec->rootNode * tree->headerRec->nodeSize + offset, searchKey, tree->io), "WRITE_KEY"); + ASSERT(WRITE(tree->io, tree->headerRec->rootNode * tree->headerRec->nodeSize + offset + sizeof(searchKey->keyLength) + searchKey->keyLength, + length, content), "WRITE"); + + FLIPENDIAN(offset); + ASSERT(WRITE(tree->io, (tree->headerRec->rootNode * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * 1), + sizeof(uint16_t), &offset), "WRITE"); + + FLIPENDIAN(freeOffset); + ASSERT(WRITE(tree->io, (tree->headerRec->rootNode * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * 2), + sizeof(uint16_t), &freeOffset), "WRITE"); + + ASSERT(writeBTNodeDescriptor(&newDescriptor, tree->headerRec->rootNode, tree), "writeBTNodeDescriptor"); + ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); + } + + return TRUE; +} + +static uint32_t removeRecord(BTree* tree, uint32_t root, BTKey* searchKey, int* callAgain, int* gone) { + BTNodeDescriptor* descriptor; + int length; + int i; + int res; + + uint32_t newNode; + uint32_t nodeToTraverse; + uint32_t newNodeBigEndian; + + BTKey* key; + off_t recordOffset; + off_t recordDataOffset; + off_t lastRecordDataOffset; + + int childGone; + int checkForChangedKey ; + + size_t freeSpace; + + descriptor = readBTNodeDescriptor(root, tree); + + freeSpace = getFreeSpace(root, descriptor, tree); + + nodeToTraverse = 0; + lastRecordDataOffset = 0; + newNode = 0; + + (*gone) = FALSE; + checkForChangedKey = FALSE; + + for(i = 0; i < descriptor->numRecords; i++) { + recordOffset = getRecordOffset(i, root, tree); + key = READ_KEY(tree, recordOffset, tree->io); + recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); + + res = COMPARE(tree, key, searchKey); + if(res == 0) { + free(key); + + if(descriptor->kind == kBTLeafNode) { + if(i != (descriptor->numRecords - 1)) { + length = getRecordOffset(i + 1, root, tree) - recordOffset; + moveRecordsDown(tree, descriptor, i + 1, root, -length, -1); + } // don't need to do that if we're the last record, because our old offset pointer will be the new free space pointer + + descriptor->numRecords--; + tree->headerRec->leafRecords--; + ASSERT(writeBTNodeDescriptor(descriptor, root, tree), "writeBTNodeDescriptor"); + ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); + + if(descriptor->numRecords >= 1) { + free(descriptor); + return 0; + } else { + free(descriptor); + removeNode(tree, root); + (*gone) = TRUE; + return 0; + } + } else { + nodeToTraverse = getNodeNumberFromPointerRecord(recordDataOffset, tree->io); + checkForChangedKey = TRUE; + break; + } + } else if(res > 0) { + free(key); + + if(lastRecordDataOffset == 0 || descriptor->kind == kBTLeafNode) { + // not found; + free(descriptor); + return 0; + } else { + nodeToTraverse = getNodeNumberFromPointerRecord(lastRecordDataOffset, tree->io); + break; + } + } + + lastRecordDataOffset = recordDataOffset; + + free(key); + } + + if(nodeToTraverse == 0) { + nodeToTraverse = getNodeNumberFromPointerRecord(lastRecordDataOffset, tree->io); + } + + if(i == descriptor->numRecords) { + i = descriptor->numRecords - 1; + } + + newNode = removeRecord(tree, nodeToTraverse, searchKey, callAgain, &childGone); + + if(childGone) { + if(i != (descriptor->numRecords - 1)) { + length = getRecordOffset(i + 1, root, tree) - recordOffset; + moveRecordsDown(tree, descriptor, i + 1, root, -length, -1); + } // don't need to do that if we're the last record, because our old offset pointer will be the new free space pointer + + descriptor->numRecords--; + ASSERT(writeBTNodeDescriptor(descriptor, root, tree), "writeBTNodeDescriptor"); + } else { + if(checkForChangedKey) { + // we will remove the first item in the child node, so our index has to change + + key = READ_KEY(tree, getRecordOffset(0, nodeToTraverse, tree), tree->io); + + if(searchKey->keyLength != key->keyLength) { + if(key->keyLength > searchKey->keyLength && freeSpace < (key->keyLength - searchKey->keyLength)) { + // very unlikely. We need to split this node before we can resize the key of this index. Do that first, and tell them to call again. + *callAgain = TRUE; + return splitNode(root, descriptor, tree); + } + + moveRecordsDown(tree, descriptor, i + 1, root, key->keyLength - searchKey->keyLength, 0); + } + + ASSERT(WRITE_KEY(tree, recordOffset, key, tree->io), "WRITE_KEY"); + FLIPENDIAN(nodeToTraverse); + ASSERT(WRITE(tree->io, recordOffset + sizeof(uint16_t) + key->keyLength, sizeof(uint32_t), &nodeToTraverse), "WRITE"); + FLIPENDIAN(nodeToTraverse); + + free(key); + } + } + + if(newNode == 0) { + if(descriptor->numRecords == 0) { + removeNode(tree, root); + (*gone) = TRUE; + } + + free(descriptor); + return 0; + } else { + newNodeBigEndian = newNode; + key = READ_KEY(tree, newNode * tree->headerRec->nodeSize + 14, tree->io); + FLIPENDIAN(newNodeBigEndian); + + if(freeSpace < (sizeof(key->keyLength) + key->keyLength + sizeof(newNodeBigEndian) + sizeof(uint16_t))) { + newNode = splitNode(root, descriptor, tree); + + if(i < descriptor->numRecords) { + doAddRecord(tree, root, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); + } else { + doAddRecord(tree, newNode, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); + } + + if(descriptor->numRecords == 0) { + removeNode(tree, root); + (*gone) = TRUE; + } + + free(key); + free(descriptor); + return newNode; + } else { + doAddRecord(tree, root, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); + + free(key); + free(descriptor); + return 0; + } + } + + return FALSE; +} + +int removeFromBTree(BTree* tree, BTKey* searchKey) { + int callAgain; + int gone; + uint32_t newNode; + + do { + callAgain = FALSE; + newNode = removeRecord(tree, tree->headerRec->rootNode, searchKey, &callAgain, &gone); + if(newNode != 0) { + increaseHeight(tree, newNode); + } + } while(callAgain); + + return TRUE; +} diff --git a/3rdparty/libdmg-hfsplus/hfs/catalog.c b/3rdparty/libdmg-hfsplus/hfs/catalog.c new file mode 100644 index 000000000..e048511bc --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/catalog.c @@ -0,0 +1,1091 @@ +#include +#include +#include +#include + +static inline void flipBSDInfo(HFSPlusBSDInfo* info) { + FLIPENDIAN(info->ownerID); + FLIPENDIAN(info->groupID); + FLIPENDIAN(info->fileMode); + FLIPENDIAN(info->special); +} + +static inline void flipPoint(Point* point) { + FLIPENDIAN(point->v); + FLIPENDIAN(point->h); +} + +static inline void flipRect(Rect* rect) { + FLIPENDIAN(rect->top); + FLIPENDIAN(rect->left); + FLIPENDIAN(rect->bottom); + FLIPENDIAN(rect->right); +} + +static inline void flipFolderInfo(FolderInfo* info) { + flipRect(&info->windowBounds); + FLIPENDIAN(info->finderFlags); + flipPoint(&info->location); +} + +static inline void flipExtendedFolderInfo(ExtendedFolderInfo* info) { + flipPoint(&info->scrollPosition); + FLIPENDIAN(info->extendedFinderFlags); + FLIPENDIAN(info->putAwayFolderID); +} + +static inline void flipFileInfo(FileInfo* info) { + FLIPENDIAN(info->fileType); + FLIPENDIAN(info->fileCreator); + FLIPENDIAN(info->finderFlags); + flipPoint(&info->location); +} + +static inline void flipExtendedFileInfo(ExtendedFileInfo* info) { + FLIPENDIAN(info->extendedFinderFlags); + FLIPENDIAN(info->putAwayFolderID); +} + +void flipCatalogFolder(HFSPlusCatalogFolder* record) { + FLIPENDIAN(record->recordType); + FLIPENDIAN(record->flags); + FLIPENDIAN(record->valence); + FLIPENDIAN(record->folderID); + FLIPENDIAN(record->createDate); + FLIPENDIAN(record->contentModDate); + FLIPENDIAN(record->attributeModDate); + FLIPENDIAN(record->accessDate); + FLIPENDIAN(record->backupDate); + + flipBSDInfo(&record->permissions); + flipFolderInfo(&record->userInfo); + flipExtendedFolderInfo(&record->finderInfo); + + FLIPENDIAN(record->textEncoding); + FLIPENDIAN(record->folderCount); +} + +void flipCatalogFile(HFSPlusCatalogFile* record) { + FLIPENDIAN(record->recordType); + FLIPENDIAN(record->flags); + FLIPENDIAN(record->fileID); + FLIPENDIAN(record->createDate); + FLIPENDIAN(record->contentModDate); + FLIPENDIAN(record->attributeModDate); + FLIPENDIAN(record->accessDate); + FLIPENDIAN(record->backupDate); + + flipBSDInfo(&record->permissions); + flipFileInfo(&record->userInfo); + flipExtendedFileInfo(&record->finderInfo); + + FLIPENDIAN(record->textEncoding); + + flipForkData(&record->dataFork); + flipForkData(&record->resourceFork); +} + +void flipCatalogThread(HFSPlusCatalogThread* record, int out) { + int i; + int nameLength; + + FLIPENDIAN(record->recordType); + FLIPENDIAN(record->parentID); + if(out) { + nameLength = record->nodeName.length; + FLIPENDIAN(record->nodeName.length); + } else { + FLIPENDIAN(record->nodeName.length); + nameLength = record->nodeName.length; + } + + for(i = 0; i < nameLength; i++) { + if(out) { + if(record->nodeName.unicode[i] == ':') { + record->nodeName.unicode[i] = '/'; + } + FLIPENDIAN(record->nodeName.unicode[i]); + } else { + FLIPENDIAN(record->nodeName.unicode[i]); + if(record->nodeName.unicode[i] == '/') { + record->nodeName.unicode[i] = ':'; + } + } + } +} + +#define UNICODE_START (sizeof(uint16_t) + sizeof(HFSCatalogNodeID) + sizeof(uint16_t)) + +static void catalogKeyPrint(BTKey* toPrint) { + HFSPlusCatalogKey* key; + + key = (HFSPlusCatalogKey*) toPrint; + + printf("%d:", key->parentID); + printUnicode(&key->nodeName); +} + +static int catalogCompare(BTKey* vLeft, BTKey* vRight) { + HFSPlusCatalogKey* left; + HFSPlusCatalogKey* right; + uint16_t i; + + uint16_t cLeft; + uint16_t cRight; + + left = (HFSPlusCatalogKey*) vLeft; + right =(HFSPlusCatalogKey*) vRight; + + if(left->parentID < right->parentID) { + return -1; + } else if(left->parentID > right->parentID) { + return 1; + } else { + for(i = 0; i < left->nodeName.length; i++) { + if(i >= right->nodeName.length) { + return 1; + } else { + /* ugly hack to support weird : to / conversion on iPhone */ + if(left->nodeName.unicode[i] == ':') { + cLeft = '/'; + } else { + cLeft = left->nodeName.unicode[i] ; + } + + if(right->nodeName.unicode[i] == ':') { + cRight = '/'; + } else { + cRight = right->nodeName.unicode[i]; + } + + if(cLeft < cRight) + return -1; + else if(cLeft > cRight) + return 1; + } + } + + if(i < right->nodeName.length) { + return -1; + } else { + /* do a safety check on key length. Otherwise, bad things may happen later on when we try to add or remove with this key */ + /*if(left->keyLength == right->keyLength) { + return 0; + } else if(left->keyLength < right->keyLength) { + return -1; + } else { + return 1; + }*/ + return 0; + } + } +} + +static int catalogCompareCS(BTKey* vLeft, BTKey* vRight) { + HFSPlusCatalogKey* left; + HFSPlusCatalogKey* right; + + left = (HFSPlusCatalogKey*) vLeft; + right =(HFSPlusCatalogKey*) vRight; + + if(left->parentID < right->parentID) { + return -1; + } else if(left->parentID > right->parentID) { + return 1; + } else { + return FastUnicodeCompare(left->nodeName.unicode, left->nodeName.length, right->nodeName.unicode, right->nodeName.length); + } +} + +static BTKey* catalogKeyRead(off_t offset, io_func* io) { + HFSPlusCatalogKey* key; + uint16_t i; + + key = (HFSPlusCatalogKey*) malloc(sizeof(HFSPlusCatalogKey)); + + if(!READ(io, offset, UNICODE_START, key)) + return NULL; + + FLIPENDIAN(key->keyLength); + FLIPENDIAN(key->parentID); + FLIPENDIAN(key->nodeName.length); + + if(!READ(io, offset + UNICODE_START, key->nodeName.length * sizeof(uint16_t), ((unsigned char *)key) + UNICODE_START)) + return NULL; + + for(i = 0; i < key->nodeName.length; i++) { + FLIPENDIAN(key->nodeName.unicode[i]); + if(key->nodeName.unicode[i] == '/') /* ugly hack that iPhone seems to do */ + key->nodeName.unicode[i] = ':'; + } + + return (BTKey*)key; +} + +static int catalogKeyWrite(off_t offset, BTKey* toWrite, io_func* io) { + HFSPlusCatalogKey* key; + uint16_t i; + uint16_t keyLength; + uint16_t nodeNameLength; + + keyLength = toWrite->keyLength + sizeof(uint16_t); + key = (HFSPlusCatalogKey*) malloc(keyLength); + memcpy(key, toWrite, keyLength); + + nodeNameLength = key->nodeName.length; + + FLIPENDIAN(key->keyLength); + FLIPENDIAN(key->parentID); + FLIPENDIAN(key->nodeName.length); + + for(i = 0; i < nodeNameLength; i++) { + if(key->nodeName.unicode[i] == ':') /* ugly hack that iPhone seems to do */ + key->nodeName.unicode[i] = '/'; + + FLIPENDIAN(key->nodeName.unicode[i]); + } + + if(!WRITE(io, offset, keyLength, key)) + return FALSE; + + free(key); + + return TRUE; +} + +static BTKey* catalogDataRead(off_t offset, io_func* io) { + int16_t recordType; + HFSPlusCatalogRecord* record; + uint16_t nameLength; + + if(!READ(io, offset, sizeof(int16_t), &recordType)) + return NULL; + + FLIPENDIAN(recordType); fflush(stdout); + + switch(recordType) { + case kHFSPlusFolderRecord: + record = (HFSPlusCatalogRecord*) malloc(sizeof(HFSPlusCatalogFolder)); + if(!READ(io, offset, sizeof(HFSPlusCatalogFolder), record)) + return NULL; + flipCatalogFolder((HFSPlusCatalogFolder*)record); + break; + + case kHFSPlusFileRecord: + record = (HFSPlusCatalogRecord*) malloc(sizeof(HFSPlusCatalogFile)); + if(!READ(io, offset, sizeof(HFSPlusCatalogFile), record)) + return NULL; + flipCatalogFile((HFSPlusCatalogFile*)record); + break; + + case kHFSPlusFolderThreadRecord: + case kHFSPlusFileThreadRecord: + record = (HFSPlusCatalogRecord*) malloc(sizeof(HFSPlusCatalogThread)); + + if(!READ(io, offset + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t), sizeof(uint16_t), &nameLength)) + return NULL; + + FLIPENDIAN(nameLength); + + if(!READ(io, offset, sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t) + sizeof(uint16_t) + (sizeof(uint16_t) * nameLength), record)) + return NULL; + + flipCatalogThread((HFSPlusCatalogThread*)record, FALSE); + break; + } + + return (BTKey*)record; +} + +void ASCIIToUnicode(const char* ascii, HFSUniStr255* unistr) { + int count; + + count = 0; + while(ascii[count] != '\0') { + unistr->unicode[count] = ascii[count]; + count++; + } + + unistr->length = count; +} + +HFSPlusCatalogRecord* getRecordByCNID(HFSCatalogNodeID CNID, Volume* volume) { + HFSPlusCatalogKey key; + HFSPlusCatalogThread* thread; + HFSPlusCatalogRecord* record; + int exact; + + key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); + key.parentID = CNID; + key.nodeName.length = 0; + + thread = (HFSPlusCatalogThread*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); + + if(thread == NULL) { + return NULL; + } + + if(exact == FALSE) { + free(thread); + return NULL; + } + + key.parentID = thread->parentID; + key.nodeName = thread->nodeName; + + free(thread); + + record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); + + if(record == NULL || exact == FALSE) + return NULL; + else + return record; +} + +CatalogRecordList* getFolderContents(HFSCatalogNodeID CNID, Volume* volume) { + BTree* tree; + HFSPlusCatalogThread* record; + HFSPlusCatalogKey key; + uint32_t nodeNumber; + int recordNumber; + + BTNodeDescriptor* descriptor; + off_t recordOffset; + off_t recordDataOffset; + HFSPlusCatalogKey* currentKey; + + CatalogRecordList* list; + CatalogRecordList* lastItem; + CatalogRecordList* item; + + tree = volume->catalogTree; + + key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); + key.parentID = CNID; + key.nodeName.length = 0; + + list = NULL; + + record = (HFSPlusCatalogThread*) search(tree, (BTKey*)(&key), NULL, &nodeNumber, &recordNumber); + + if(record == NULL) + return NULL; + + free(record); + + ++recordNumber; + + while(nodeNumber != 0) { + descriptor = readBTNodeDescriptor(nodeNumber, tree); + + while(recordNumber < descriptor->numRecords) { + recordOffset = getRecordOffset(recordNumber, nodeNumber, tree); + currentKey = (HFSPlusCatalogKey*) READ_KEY(tree, recordOffset, tree->io); + recordDataOffset = recordOffset + currentKey->keyLength + sizeof(currentKey->keyLength); + + if(currentKey->parentID == CNID) { + item = (CatalogRecordList*) malloc(sizeof(CatalogRecordList)); + item->name = currentKey->nodeName; + item->record = (HFSPlusCatalogRecord*) READ_DATA(tree, recordDataOffset, tree->io); + item->next = NULL; + + if(list == NULL) { + list = item; + } else { + lastItem->next = item; + } + + lastItem = item; + free(currentKey); + } else { + free(currentKey); + free(descriptor); + return list; + } + + recordNumber++; + } + + nodeNumber = descriptor->fLink; + recordNumber = 0; + + free(descriptor); + } + + return list; +} + +void releaseCatalogRecordList(CatalogRecordList* list) { + CatalogRecordList* next; + while(list) { + next = list->next; + free(list->record); + free(list); + list = next; + } +} + +HFSPlusCatalogRecord* getLinkTarget(HFSPlusCatalogRecord* record, HFSCatalogNodeID parentID, HFSPlusCatalogKey *key, Volume* volume) { + io_func* io; + char pathBuffer[1024]; + HFSPlusCatalogRecord* toReturn; + + if(record->recordType == kHFSPlusFileRecord && (((HFSPlusCatalogFile*)record)->permissions.fileMode & S_IFLNK) == S_IFLNK) { + io = openRawFile(((HFSPlusCatalogFile*)record)->fileID, &(((HFSPlusCatalogFile*)record)->dataFork), record, volume); + READ(io, 0, (((HFSPlusCatalogFile*)record)->dataFork).logicalSize, pathBuffer); + CLOSE(io); + pathBuffer[(((HFSPlusCatalogFile*)record)->dataFork).logicalSize] = '\0'; + toReturn = getRecordFromPath3(pathBuffer, volume, NULL, key, TRUE, TRUE, parentID); + free(record); + return toReturn; + } else { + return record; + } +} + +HFSPlusCatalogRecord* getRecordFromPath(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey) { + return getRecordFromPath2(path, volume, name, retKey, TRUE); +} + +HFSPlusCatalogRecord* getRecordFromPath2(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey, char traverse) { + return getRecordFromPath3(path, volume, name, retKey, TRUE, TRUE, kHFSRootFolderID); +} + +HFSPlusCatalogRecord* getRecordFromPath3(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey, char traverse, char returnLink, HFSCatalogNodeID parentID) { + HFSPlusCatalogKey key; + HFSPlusCatalogRecord* record; + + char* origPath; + char* myPath; + char* word; + char* pathLimit; + + uint32_t realParent; + + int exact; + + if(path[0] == '\0' || (path[0] == '/' && path[1] == '\0')) { + if(name != NULL) + *name = (char*)path; + + key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); + key.parentID = kHFSRootFolderID; + key.nodeName.length = 0; + + record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); + key.parentID = ((HFSPlusCatalogThread*)record)->parentID; + key.nodeName = ((HFSPlusCatalogThread*)record)->nodeName; + + free(record); + + record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); + return record; + } + + myPath = strdup(path); + origPath = myPath; + + record = NULL; + + if(path[0] == '/') { + key.parentID = kHFSRootFolderID; + } else { + key.parentID = parentID; + } + + pathLimit = myPath + strlen(myPath); + + for(word = (char*)strtok(myPath, "/"); word && (word < pathLimit); + word = ((word + strlen(word) + 1) < pathLimit) ? (char*)strtok(word + strlen(word) + 1, "/") : NULL) { + + if(name != NULL) + *name = (char*)(path + (word - origPath)); + + if(record != NULL) { + free(record); + record = NULL; + } + + if(word[0] == '\0') { + continue; + } + + ASCIIToUnicode(word, &key.nodeName); + + key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length) + (sizeof(uint16_t) * key.nodeName.length); + record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); + + if(record == NULL || exact == FALSE) { + free(origPath); + if(record != NULL) { + free(record); + } + return NULL; + } + + if(traverse) { + if(((word + strlen(word) + 1) < pathLimit) || returnLink) { + record = getLinkTarget(record, key.parentID, &key, volume); + if(record == NULL || exact == FALSE) { + free(origPath); + return NULL; + } + } + } + + if(record->recordType == kHFSPlusFileRecord) { + if((word + strlen(word) + 1) >= pathLimit) { + free(origPath); + + if(retKey != NULL) { + memcpy(retKey, &key, sizeof(HFSPlusCatalogKey)); + } + + return record; + } else { + free(origPath); + free(record); + return NULL; + } + } + + if(record->recordType != kHFSPlusFolderRecord) + hfs_panic("inconsistent catalog tree!"); + + realParent = key.parentID; + key.parentID = ((HFSPlusCatalogFolder*)record)->folderID; + } + + if(retKey != NULL) { + memcpy(retKey, &key, sizeof(HFSPlusCatalogKey)); + retKey->parentID = realParent; + } + + free(origPath); + return record; +} + +int updateCatalog(Volume* volume, HFSPlusCatalogRecord* catalogRecord) { + HFSPlusCatalogKey key; + HFSPlusCatalogRecord* record; + HFSPlusCatalogFile file; + HFSPlusCatalogFolder folder; + int exact; + + key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); + if(catalogRecord->recordType == kHFSPlusFolderRecord) { + key.parentID = ((HFSPlusCatalogFolder*)catalogRecord)->folderID; + } else if(catalogRecord->recordType == kHFSPlusFileRecord) { + key.parentID = ((HFSPlusCatalogFile*)catalogRecord)->fileID; + } else { + /* unexpected */ + return FALSE; + } + key.nodeName.length = 0; + + record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); + + key.parentID = ((HFSPlusCatalogThread*)record)->parentID; + key.nodeName = ((HFSPlusCatalogThread*)record)->nodeName; + key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length) + (sizeof(uint16_t) * key.nodeName.length); + + free(record); + + record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); + + removeFromBTree(volume->catalogTree, (BTKey*)(&key)); + + switch(record->recordType) { + case kHFSPlusFolderRecord: + memcpy(&folder, catalogRecord, sizeof(HFSPlusCatalogFolder)); + flipCatalogFolder(&folder); + free(record); + return addToBTree(volume->catalogTree, (BTKey*)(&key), sizeof(HFSPlusCatalogFolder), (unsigned char *)(&folder)); + break; + + case kHFSPlusFileRecord: + memcpy(&file, catalogRecord, sizeof(HFSPlusCatalogFile)); + flipCatalogFile(&file); + free(record); + return addToBTree(volume->catalogTree, (BTKey*)(&key), sizeof(HFSPlusCatalogFile), (unsigned char *)(&file)); + break; + } + + return TRUE; +} + +int move(const char* source, const char* dest, Volume* volume) { + HFSPlusCatalogRecord* srcRec; + HFSPlusCatalogFolder* srcFolderRec; + HFSPlusCatalogFolder* destRec; + char* destPath; + char* destName; + char* curChar; + char* lastSeparator; + + int i; + int threadLength; + + HFSPlusCatalogKey srcKey; + HFSPlusCatalogKey destKey; + HFSPlusCatalogThread* thread; + + srcRec = getRecordFromPath3(source, volume, NULL, &srcKey, TRUE, FALSE, kHFSRootFolderID); + if(srcRec == NULL) { + free(srcRec); + return FALSE; + } + + srcFolderRec = (HFSPlusCatalogFolder*) getRecordByCNID(srcKey.parentID, volume); + + if(srcFolderRec == NULL || srcFolderRec->recordType != kHFSPlusFolderRecord) { + free(srcRec); + free(srcFolderRec); + return FALSE; + } + + destPath = strdup(dest); + + curChar = destPath; + lastSeparator = NULL; + + while((*curChar) != '\0') { + if((*curChar) == '/') + lastSeparator = curChar; + curChar++; + } + + if(lastSeparator == NULL) { + destRec = (HFSPlusCatalogFolder*) getRecordFromPath("/", volume, NULL, NULL); + destName = destPath; + } else { + destName = lastSeparator + 1; + *lastSeparator = '\0'; + destRec = (HFSPlusCatalogFolder*) getRecordFromPath(destPath, volume, NULL, NULL); + + if(destRec == NULL || destRec->recordType != kHFSPlusFolderRecord) { + free(destPath); + free(srcRec); + free(destRec); + free(srcFolderRec); + return FALSE; + } + } + + removeFromBTree(volume->catalogTree, (BTKey*)(&srcKey)); + + srcKey.nodeName.length = 0; + if(srcRec->recordType == kHFSPlusFolderRecord) { + srcKey.parentID = ((HFSPlusCatalogFolder*)srcRec)->folderID; + } else if(srcRec->recordType == kHFSPlusFileRecord) { + srcKey.parentID = ((HFSPlusCatalogFile*)srcRec)->fileID; + } else { + /* unexpected */ + return FALSE; + } + srcKey.keyLength = sizeof(srcKey.parentID) + sizeof(srcKey.nodeName.length); + + removeFromBTree(volume->catalogTree, (BTKey*)(&srcKey)); + + + destKey.nodeName.length = strlen(destName); + + threadLength = sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t) + sizeof(uint16_t) + (sizeof(uint16_t) * destKey.nodeName.length); + thread = (HFSPlusCatalogThread*) malloc(threadLength); + thread->reserved = 0; + destKey.parentID = destRec->folderID; + thread->parentID = destKey.parentID; + thread->nodeName.length = destKey.nodeName.length; + for(i = 0; i < destKey.nodeName.length; i++) { + destKey.nodeName.unicode[i] = destName[i]; + thread->nodeName.unicode[i] = destName[i]; + } + + destKey.keyLength = sizeof(uint32_t) + sizeof(uint16_t) + (sizeof(uint16_t) * destKey.nodeName.length); + + switch(srcRec->recordType) { + case kHFSPlusFolderRecord: + thread->recordType = kHFSPlusFolderThreadRecord; + flipCatalogFolder((HFSPlusCatalogFolder*)srcRec); + addToBTree(volume->catalogTree, (BTKey*)(&destKey), sizeof(HFSPlusCatalogFolder), (unsigned char *)(srcRec)); + break; + + case kHFSPlusFileRecord: + thread->recordType = kHFSPlusFileThreadRecord; + flipCatalogFile((HFSPlusCatalogFile*)srcRec); + addToBTree(volume->catalogTree, (BTKey*)(&destKey), sizeof(HFSPlusCatalogFile), (unsigned char *)(srcRec)); + break; + } + + destKey.nodeName.length = 0; + destKey.parentID = srcKey.parentID; + destKey.keyLength = sizeof(destKey.parentID) + sizeof(destKey.nodeName.length); + + flipCatalogThread(thread, TRUE); + addToBTree(volume->catalogTree, (BTKey*)(&destKey), threadLength, (unsigned char *)(thread)); + + /* adjust valence */ + srcFolderRec->valence--; + updateCatalog(volume, (HFSPlusCatalogRecord*) srcFolderRec); + destRec->valence++; + updateCatalog(volume, (HFSPlusCatalogRecord*) destRec); + + free(thread); + free(destPath); + free(srcRec); + free(destRec); + free(srcFolderRec); + + return TRUE; +} + +int removeFile(const char* fileName, Volume* volume) { + HFSPlusCatalogRecord* record; + HFSPlusCatalogKey key; + io_func* io; + HFSPlusCatalogFolder* parentFolder; + + record = getRecordFromPath3(fileName, volume, NULL, &key, TRUE, FALSE, kHFSRootFolderID); + if(record != NULL) { + parentFolder = (HFSPlusCatalogFolder*) getRecordByCNID(key.parentID, volume); + if(parentFolder != NULL) { + if(parentFolder->recordType != kHFSPlusFolderRecord) { + ASSERT(FALSE, "parent not folder"); + free(parentFolder); + return FALSE; + } + } else { + ASSERT(FALSE, "can't find parent"); + return FALSE; + } + + if(record->recordType == kHFSPlusFileRecord) { + io = openRawFile(((HFSPlusCatalogFile*)record)->fileID, &((HFSPlusCatalogFile*)record)->dataFork, record, volume); + allocate((RawFile*)io->data, 0); + CLOSE(io); + + removeFromBTree(volume->catalogTree, (BTKey*)(&key)); + + key.nodeName.length = 0; + key.parentID = ((HFSPlusCatalogFile*)record)->fileID; + key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); + removeFromBTree(volume->catalogTree, (BTKey*)(&key)); + + volume->volumeHeader->fileCount--; + } else { + if(((HFSPlusCatalogFolder*)record)->valence > 0) { + free(record); + free(parentFolder); + ASSERT(FALSE, "folder not empty"); + return FALSE; + } else { + removeFromBTree(volume->catalogTree, (BTKey*)(&key)); + + key.nodeName.length = 0; + key.parentID = ((HFSPlusCatalogFolder*)record)->folderID; + key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); + removeFromBTree(volume->catalogTree, (BTKey*)(&key)); + } + + parentFolder->folderCount--; + volume->volumeHeader->folderCount--; + } + parentFolder->valence--; + updateCatalog(volume, (HFSPlusCatalogRecord*) parentFolder); + updateVolume(volume); + + free(record); + free(parentFolder); + + return TRUE; + } else { + free(parentFolder); + ASSERT(FALSE, "cannot find record"); + return FALSE; + } +} + +int makeSymlink(const char* pathName, const char* target, Volume* volume) { + io_func* io; + HFSPlusCatalogFile* record; + + record = (HFSPlusCatalogFile*) getRecordFromPath3(pathName, volume, NULL, NULL, TRUE, FALSE, kHFSRootFolderID); + + if(!record) { + newFile(pathName, volume); + record = (HFSPlusCatalogFile*) getRecordFromPath(pathName, volume, NULL, NULL); + if(!record) { + return FALSE; + } + record->permissions.fileMode |= S_IFLNK; + record->userInfo.fileType = kSymLinkFileType; + record->userInfo.fileCreator = kSymLinkCreator; + updateCatalog(volume, (HFSPlusCatalogRecord*) record); + } else { + if(record->recordType != kHFSPlusFileRecord || (((HFSPlusCatalogFile*)record)->permissions.fileMode & S_IFLNK) != S_IFLNK) { + free(record); + return FALSE; + } + } + + io = openRawFile(record->fileID, &record->dataFork, (HFSPlusCatalogRecord*) record, volume); + WRITE(io, 0, strlen(target), (void*) target); + CLOSE(io); + free(record); + + return TRUE; +} + +HFSCatalogNodeID newFolder(const char* pathName, Volume* volume) { + HFSPlusCatalogFolder* parentFolder; + HFSPlusCatalogFolder folder; + HFSPlusCatalogKey key; + HFSPlusCatalogThread thread; + + uint32_t newFolderID; + + int threadLength; + + char* path; + char* name; + char* curChar; + char* lastSeparator; + + path = strdup(pathName); + + curChar = path; + lastSeparator = NULL; + + while((*curChar) != '\0') { + if((*curChar) == '/') + lastSeparator = curChar; + curChar++; + } + + if(lastSeparator == NULL) { + parentFolder = (HFSPlusCatalogFolder*) getRecordFromPath("/", volume, NULL, NULL); + name = path; + } else { + name = lastSeparator + 1; + *lastSeparator = '\0'; + parentFolder = (HFSPlusCatalogFolder*) getRecordFromPath(path, volume, NULL, NULL); + } + + if(parentFolder == NULL || parentFolder->recordType != kHFSPlusFolderRecord) { + free(path); + free(parentFolder); + return FALSE; + } + + newFolderID = volume->volumeHeader->nextCatalogID++; + volume->volumeHeader->folderCount++; + + folder.recordType = kHFSPlusFolderRecord; + folder.flags = kHFSHasFolderCountMask; + folder.valence = 0; + folder.folderID = newFolderID; + folder.createDate = UNIX_TO_APPLE_TIME(time(NULL)); + folder.contentModDate = folder.createDate; + folder.attributeModDate = folder.createDate; + folder.accessDate = folder.createDate; + folder.backupDate = folder.createDate; + folder.permissions.ownerID = parentFolder->permissions.ownerID; + folder.permissions.groupID = parentFolder->permissions.groupID; + folder.permissions.adminFlags = 0; + folder.permissions.ownerFlags = 0; + folder.permissions.fileMode = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; + folder.permissions.special.iNodeNum = 0; + memset(&folder.userInfo, 0, sizeof(folder.userInfo)); + memset(&folder.finderInfo, 0, sizeof(folder.finderInfo)); + folder.textEncoding = 0; + folder.folderCount = 0; + + key.parentID = parentFolder->folderID; + ASCIIToUnicode(name, &key.nodeName); + key.keyLength = sizeof(key.parentID) + STR_SIZE(key.nodeName); + + thread.recordType = kHFSPlusFolderThreadRecord; + thread.reserved = 0; + thread.parentID = parentFolder->folderID; + ASCIIToUnicode(name, &thread.nodeName); + threadLength = sizeof(thread.recordType) + sizeof(thread.reserved) + sizeof(thread.parentID) + STR_SIZE(thread.nodeName); + flipCatalogThread(&thread, TRUE); + flipCatalogFolder(&folder); + + ASSERT(addToBTree(volume->catalogTree, (BTKey*)(&key), sizeof(HFSPlusCatalogFolder), (unsigned char *)(&folder)), "addToBTree"); + key.nodeName.length = 0; + key.parentID = newFolderID; + key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); + ASSERT(addToBTree(volume->catalogTree, (BTKey*)(&key), threadLength, (unsigned char *)(&thread)), "addToBTree"); + + parentFolder->folderCount++; + parentFolder->valence++; + updateCatalog(volume, (HFSPlusCatalogRecord*) parentFolder); + + updateVolume(volume); + + free(parentFolder); + free(path); + + return newFolderID; +} + +HFSCatalogNodeID newFile(const char* pathName, Volume* volume) { + HFSPlusCatalogFolder* parentFolder; + HFSPlusCatalogFile file; + HFSPlusCatalogKey key; + HFSPlusCatalogThread thread; + + uint32_t newFileID; + + int threadLength; + + char* path; + char* name; + char* curChar; + char* lastSeparator; + + path = strdup(pathName); + + curChar = path; + lastSeparator = NULL; + + while((*curChar) != '\0') { + if((*curChar) == '/') + lastSeparator = curChar; + curChar++; + } + + if(lastSeparator == NULL) { + parentFolder = (HFSPlusCatalogFolder*) getRecordFromPath("/", volume, NULL, NULL); + name = path; + } else { + name = lastSeparator + 1; + *lastSeparator = '\0'; + parentFolder = (HFSPlusCatalogFolder*) getRecordFromPath(path, volume, NULL, NULL); + } + + if(parentFolder == NULL || parentFolder->recordType != kHFSPlusFolderRecord) { + free(path); + free(parentFolder); + return FALSE; + } + + newFileID = volume->volumeHeader->nextCatalogID++; + volume->volumeHeader->fileCount++; + + file.recordType = kHFSPlusFileRecord; + file.flags = kHFSThreadExistsMask; + file.reserved1 = 0; + file.fileID = newFileID; + file.createDate = UNIX_TO_APPLE_TIME(time(NULL)); + file.contentModDate = file.createDate; + file.attributeModDate = file.createDate; + file.accessDate = file.createDate; + file.backupDate = file.createDate; + file.permissions.ownerID = parentFolder->permissions.ownerID; + file.permissions.groupID = parentFolder->permissions.groupID; + file.permissions.adminFlags = 0; + file.permissions.ownerFlags = 0; + file.permissions.fileMode = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH; + file.permissions.special.iNodeNum = 0; + memset(&file.userInfo, 0, sizeof(file.userInfo)); + memset(&file.finderInfo, 0, sizeof(file.finderInfo)); + file.textEncoding = 0; + file.reserved2 = 0; + memset(&file.dataFork, 0, sizeof(file.dataFork)); + memset(&file.resourceFork, 0, sizeof(file.resourceFork)); + + key.parentID = parentFolder->folderID; + ASCIIToUnicode(name, &key.nodeName); + key.keyLength = sizeof(key.parentID) + STR_SIZE(key.nodeName); + + thread.recordType = kHFSPlusFileThreadRecord; + thread.reserved = 0; + thread.parentID = parentFolder->folderID; + ASCIIToUnicode(name, &thread.nodeName); + threadLength = sizeof(thread.recordType) + sizeof(thread.reserved) + sizeof(thread.parentID) + STR_SIZE(thread.nodeName); + flipCatalogThread(&thread, TRUE); + flipCatalogFile(&file); + + ASSERT(addToBTree(volume->catalogTree, (BTKey*)(&key), sizeof(HFSPlusCatalogFile), (unsigned char *)(&file)), "addToBTree"); + key.nodeName.length = 0; + key.parentID = newFileID; + key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); + ASSERT(addToBTree(volume->catalogTree, (BTKey*)(&key), threadLength, (unsigned char *)(&thread)), "addToBTree"); + + parentFolder->valence++; + updateCatalog(volume, (HFSPlusCatalogRecord*) parentFolder); + + updateVolume(volume); + + free(parentFolder); + free(path); + + return newFileID; +} + +int chmodFile(const char* pathName, int mode, Volume* volume) { + HFSPlusCatalogRecord* record; + + record = getRecordFromPath(pathName, volume, NULL, NULL); + + if(record == NULL) { + return FALSE; + } + + if(record->recordType == kHFSPlusFolderRecord) { + ((HFSPlusCatalogFolder*)record)->permissions.fileMode = (((HFSPlusCatalogFolder*)record)->permissions.fileMode & 0770000) | mode; + } else if(record->recordType == kHFSPlusFileRecord) { + ((HFSPlusCatalogFile*)record)->permissions.fileMode = (((HFSPlusCatalogFolder*)record)->permissions.fileMode & 0770000) | mode; + } else { + return FALSE; + } + + updateCatalog(volume, record); + + free(record); + + return TRUE; +} + +int chownFile(const char* pathName, uint32_t owner, uint32_t group, Volume* volume) { + HFSPlusCatalogRecord* record; + + record = getRecordFromPath(pathName, volume, NULL, NULL); + + if(record == NULL) { + return FALSE; + } + + if(record->recordType == kHFSPlusFolderRecord) { + ((HFSPlusCatalogFolder*)record)->permissions.ownerID = owner; + ((HFSPlusCatalogFolder*)record)->permissions.groupID = group; + } else if(record->recordType == kHFSPlusFileRecord) { + ((HFSPlusCatalogFile*)record)->permissions.ownerID = owner; + ((HFSPlusCatalogFile*)record)->permissions.groupID = group; + } else { + return FALSE; + } + + updateCatalog(volume, record); + + free(record); + + return TRUE; +} + + +BTree* openCatalogTree(io_func* file) { + BTree* btree; + + btree = openBTree(file, &catalogCompare, &catalogKeyRead, &catalogKeyWrite, &catalogKeyPrint, &catalogDataRead); + + if(btree->headerRec->keyCompareType == kHFSCaseFolding) { + btree->compare = &catalogCompareCS; + } + + return btree; +} + diff --git a/3rdparty/libdmg-hfsplus/hfs/extents.c b/3rdparty/libdmg-hfsplus/hfs/extents.c new file mode 100644 index 000000000..43a615240 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/extents.c @@ -0,0 +1,119 @@ +#include +#include +#include + +static inline void flipExtentDescriptor(HFSPlusExtentDescriptor* extentDescriptor) { + FLIPENDIAN(extentDescriptor->startBlock); + FLIPENDIAN(extentDescriptor->blockCount); +} + +void flipExtentRecord(HFSPlusExtentRecord* extentRecord) { + HFSPlusExtentDescriptor *extentDescriptor; + extentDescriptor = (HFSPlusExtentDescriptor*)extentRecord; + + flipExtentDescriptor(&extentDescriptor[0]); + flipExtentDescriptor(&extentDescriptor[1]); + flipExtentDescriptor(&extentDescriptor[2]); + flipExtentDescriptor(&extentDescriptor[3]); + flipExtentDescriptor(&extentDescriptor[4]); + flipExtentDescriptor(&extentDescriptor[5]); + flipExtentDescriptor(&extentDescriptor[6]); + flipExtentDescriptor(&extentDescriptor[7]); +} + +static int extentCompare(BTKey* vLeft, BTKey* vRight) { + HFSPlusExtentKey* left; + HFSPlusExtentKey* right; + + left = (HFSPlusExtentKey*) vLeft; + right =(HFSPlusExtentKey*) vRight; + + if(left->forkType < right->forkType) { + return -1; + } else if(left->forkType > right->forkType) { + return 1; + } else { + if(left->fileID < right->fileID) { + return -1; + } else if(left->fileID > right->fileID) { + return 1; + } else { + if(left->startBlock < right->startBlock) { + return -1; + } else if(left->startBlock > right->startBlock) { + return 1; + } else { + /* do a safety check on key length. Otherwise, bad things may happen later on when we try to add or remove with this key */ + if(left->keyLength == right->keyLength) { + return 0; + } else if(left->keyLength < right->keyLength) { + return -1; + } else { + return 1; + } + return 0; + } + } + } +} + +static BTKey* extentKeyRead(off_t offset, io_func* io) { + HFSPlusExtentKey* key; + + key = (HFSPlusExtentKey*) malloc(sizeof(HFSPlusExtentKey)); + + if(!READ(io, offset, sizeof(HFSPlusExtentKey), key)) + return NULL; + + FLIPENDIAN(key->keyLength); + FLIPENDIAN(key->forkType); + FLIPENDIAN(key->fileID); + FLIPENDIAN(key->startBlock); + + return (BTKey*)key; +} + +static int extentKeyWrite(off_t offset, BTKey* toWrite, io_func* io) { + HFSPlusExtentKey* key; + + key = (HFSPlusExtentKey*) malloc(sizeof(HFSPlusExtentKey)); + + memcpy(key, toWrite, sizeof(HFSPlusExtentKey)); + + FLIPENDIAN(key->keyLength); + FLIPENDIAN(key->forkType); + FLIPENDIAN(key->fileID); + FLIPENDIAN(key->startBlock); + + if(!WRITE(io, offset, sizeof(HFSPlusExtentKey), key)) + return FALSE; + + free(key); + + return TRUE; +} + +static void extentKeyPrint(BTKey* toPrint) { + HFSPlusExtentKey* key; + + key = (HFSPlusExtentKey*)toPrint; + + printf("extent%d:%d:%d", key->forkType, key->fileID, key->startBlock); +} + +static BTKey* extentDataRead(off_t offset, io_func* io) { + HFSPlusExtentRecord* record; + + record = (HFSPlusExtentRecord*) malloc(sizeof(HFSPlusExtentRecord)); + + if(!READ(io, offset, sizeof(HFSPlusExtentRecord), record)) + return NULL; + + flipExtentRecord(record); + + return (BTKey*)record; +} + +BTree* openExtentsTree(io_func* file) { + return openBTree(file, &extentCompare, &extentKeyRead, &extentKeyWrite, &extentKeyPrint, &extentDataRead); +} diff --git a/3rdparty/libdmg-hfsplus/hfs/fastunicodecompare.c b/3rdparty/libdmg-hfsplus/hfs/fastunicodecompare.c new file mode 100644 index 000000000..25793b325 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/fastunicodecompare.c @@ -0,0 +1,418 @@ +#include +#include + +/* This routine is taken from Apple's TN 1150, with adaptations for C */ + +/* The lower case table consists of a 256-entry high-byte table followed by + some number of 256-entry subtables. The high-byte table contains either an + offset to the subtable for characters with that high byte or zero, which + means that there are no case mappings or ignored characters in that block. + Ignored characters are mapped to zero. + */ + +uint16_t gLowerCaseTable[] = { + + /* 0 */ 0x0100, 0x0200, 0x0000, 0x0300, 0x0400, 0x0500, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 1 */ 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 2 */ 0x0700, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 4 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 5 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 6 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 7 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 9 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* A */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* B */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* C */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* D */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* E */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* F */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0A00, + + /* 0 */ 0xFFFF, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + /* 1 */ 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + /* 2 */ 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + /* 3 */ 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + /* 4 */ 0x0040, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + /* 5 */ 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + /* 6 */ 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + /* 7 */ 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + /* 8 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + /* 9 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + /* A */ 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + /* B */ 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + /* C */ 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00E6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + /* D */ 0x00F0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, + 0x00F8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00FE, 0x00DF, + /* E */ 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + /* F */ 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, + + /* 0 */ 0x0100, 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, + 0x0108, 0x0109, 0x010A, 0x010B, 0x010C, 0x010D, 0x010E, 0x010F, + /* 1 */ 0x0111, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, + 0x0118, 0x0119, 0x011A, 0x011B, 0x011C, 0x011D, 0x011E, 0x011F, + /* 2 */ 0x0120, 0x0121, 0x0122, 0x0123, 0x0124, 0x0125, 0x0127, 0x0127, + 0x0128, 0x0129, 0x012A, 0x012B, 0x012C, 0x012D, 0x012E, 0x012F, + /* 3 */ 0x0130, 0x0131, 0x0133, 0x0133, 0x0134, 0x0135, 0x0136, 0x0137, + 0x0138, 0x0139, 0x013A, 0x013B, 0x013C, 0x013D, 0x013E, 0x0140, + /* 4 */ 0x0140, 0x0142, 0x0142, 0x0143, 0x0144, 0x0145, 0x0146, 0x0147, + 0x0148, 0x0149, 0x014B, 0x014B, 0x014C, 0x014D, 0x014E, 0x014F, + /* 5 */ 0x0150, 0x0151, 0x0153, 0x0153, 0x0154, 0x0155, 0x0156, 0x0157, + 0x0158, 0x0159, 0x015A, 0x015B, 0x015C, 0x015D, 0x015E, 0x015F, + /* 6 */ 0x0160, 0x0161, 0x0162, 0x0163, 0x0164, 0x0165, 0x0167, 0x0167, + 0x0168, 0x0169, 0x016A, 0x016B, 0x016C, 0x016D, 0x016E, 0x016F, + /* 7 */ 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x0175, 0x0176, 0x0177, + 0x0178, 0x0179, 0x017A, 0x017B, 0x017C, 0x017D, 0x017E, 0x017F, + /* 8 */ 0x0180, 0x0253, 0x0183, 0x0183, 0x0185, 0x0185, 0x0254, 0x0188, + 0x0188, 0x0256, 0x0257, 0x018C, 0x018C, 0x018D, 0x01DD, 0x0259, + /* 9 */ 0x025B, 0x0192, 0x0192, 0x0260, 0x0263, 0x0195, 0x0269, 0x0268, + 0x0199, 0x0199, 0x019A, 0x019B, 0x026F, 0x0272, 0x019E, 0x0275, + /* A */ 0x01A0, 0x01A1, 0x01A3, 0x01A3, 0x01A5, 0x01A5, 0x01A6, 0x01A8, + 0x01A8, 0x0283, 0x01AA, 0x01AB, 0x01AD, 0x01AD, 0x0288, 0x01AF, + /* B */ 0x01B0, 0x028A, 0x028B, 0x01B4, 0x01B4, 0x01B6, 0x01B6, 0x0292, + 0x01B9, 0x01B9, 0x01BA, 0x01BB, 0x01BD, 0x01BD, 0x01BE, 0x01BF, + /* C */ 0x01C0, 0x01C1, 0x01C2, 0x01C3, 0x01C6, 0x01C6, 0x01C6, 0x01C9, + 0x01C9, 0x01C9, 0x01CC, 0x01CC, 0x01CC, 0x01CD, 0x01CE, 0x01CF, + /* D */ 0x01D0, 0x01D1, 0x01D2, 0x01D3, 0x01D4, 0x01D5, 0x01D6, 0x01D7, + 0x01D8, 0x01D9, 0x01DA, 0x01DB, 0x01DC, 0x01DD, 0x01DE, 0x01DF, + /* E */ 0x01E0, 0x01E1, 0x01E2, 0x01E3, 0x01E5, 0x01E5, 0x01E6, 0x01E7, + 0x01E8, 0x01E9, 0x01EA, 0x01EB, 0x01EC, 0x01ED, 0x01EE, 0x01EF, + /* F */ 0x01F0, 0x01F3, 0x01F3, 0x01F3, 0x01F4, 0x01F5, 0x01F6, 0x01F7, + 0x01F8, 0x01F9, 0x01FA, 0x01FB, 0x01FC, 0x01FD, 0x01FE, 0x01FF, + + /* 0 */ 0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0305, 0x0306, 0x0307, + 0x0308, 0x0309, 0x030A, 0x030B, 0x030C, 0x030D, 0x030E, 0x030F, + /* 1 */ 0x0310, 0x0311, 0x0312, 0x0313, 0x0314, 0x0315, 0x0316, 0x0317, + 0x0318, 0x0319, 0x031A, 0x031B, 0x031C, 0x031D, 0x031E, 0x031F, + /* 2 */ 0x0320, 0x0321, 0x0322, 0x0323, 0x0324, 0x0325, 0x0326, 0x0327, + 0x0328, 0x0329, 0x032A, 0x032B, 0x032C, 0x032D, 0x032E, 0x032F, + /* 3 */ 0x0330, 0x0331, 0x0332, 0x0333, 0x0334, 0x0335, 0x0336, 0x0337, + 0x0338, 0x0339, 0x033A, 0x033B, 0x033C, 0x033D, 0x033E, 0x033F, + /* 4 */ 0x0340, 0x0341, 0x0342, 0x0343, 0x0344, 0x0345, 0x0346, 0x0347, + 0x0348, 0x0349, 0x034A, 0x034B, 0x034C, 0x034D, 0x034E, 0x034F, + /* 5 */ 0x0350, 0x0351, 0x0352, 0x0353, 0x0354, 0x0355, 0x0356, 0x0357, + 0x0358, 0x0359, 0x035A, 0x035B, 0x035C, 0x035D, 0x035E, 0x035F, + /* 6 */ 0x0360, 0x0361, 0x0362, 0x0363, 0x0364, 0x0365, 0x0366, 0x0367, + 0x0368, 0x0369, 0x036A, 0x036B, 0x036C, 0x036D, 0x036E, 0x036F, + /* 7 */ 0x0370, 0x0371, 0x0372, 0x0373, 0x0374, 0x0375, 0x0376, 0x0377, + 0x0378, 0x0379, 0x037A, 0x037B, 0x037C, 0x037D, 0x037E, 0x037F, + /* 8 */ 0x0380, 0x0381, 0x0382, 0x0383, 0x0384, 0x0385, 0x0386, 0x0387, + 0x0388, 0x0389, 0x038A, 0x038B, 0x038C, 0x038D, 0x038E, 0x038F, + /* 9 */ 0x0390, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, + 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, + /* A */ 0x03C0, 0x03C1, 0x03A2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, + 0x03C8, 0x03C9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, + /* B */ 0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, + 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, + /* C */ 0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, + 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0x03CF, + /* D */ 0x03D0, 0x03D1, 0x03D2, 0x03D3, 0x03D4, 0x03D5, 0x03D6, 0x03D7, + 0x03D8, 0x03D9, 0x03DA, 0x03DB, 0x03DC, 0x03DD, 0x03DE, 0x03DF, + /* E */ 0x03E0, 0x03E1, 0x03E3, 0x03E3, 0x03E5, 0x03E5, 0x03E7, 0x03E7, + 0x03E9, 0x03E9, 0x03EB, 0x03EB, 0x03ED, 0x03ED, 0x03EF, 0x03EF, + /* F */ 0x03F0, 0x03F1, 0x03F2, 0x03F3, 0x03F4, 0x03F5, 0x03F6, 0x03F7, + 0x03F8, 0x03F9, 0x03FA, 0x03FB, 0x03FC, 0x03FD, 0x03FE, 0x03FF, + + /* 0 */ 0x0400, 0x0401, 0x0452, 0x0403, 0x0454, 0x0455, 0x0456, 0x0407, + 0x0458, 0x0459, 0x045A, 0x045B, 0x040C, 0x040D, 0x040E, 0x045F, + /* 1 */ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0419, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + /* 2 */ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + /* 3 */ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + /* 4 */ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + /* 5 */ 0x0450, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, + 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x045D, 0x045E, 0x045F, + /* 6 */ 0x0461, 0x0461, 0x0463, 0x0463, 0x0465, 0x0465, 0x0467, 0x0467, + 0x0469, 0x0469, 0x046B, 0x046B, 0x046D, 0x046D, 0x046F, 0x046F, + /* 7 */ 0x0471, 0x0471, 0x0473, 0x0473, 0x0475, 0x0475, 0x0476, 0x0477, + 0x0479, 0x0479, 0x047B, 0x047B, 0x047D, 0x047D, 0x047F, 0x047F, + /* 8 */ 0x0481, 0x0481, 0x0482, 0x0483, 0x0484, 0x0485, 0x0486, 0x0487, + 0x0488, 0x0489, 0x048A, 0x048B, 0x048C, 0x048D, 0x048E, 0x048F, + /* 9 */ 0x0491, 0x0491, 0x0493, 0x0493, 0x0495, 0x0495, 0x0497, 0x0497, + 0x0499, 0x0499, 0x049B, 0x049B, 0x049D, 0x049D, 0x049F, 0x049F, + /* A */ 0x04A1, 0x04A1, 0x04A3, 0x04A3, 0x04A5, 0x04A5, 0x04A7, 0x04A7, + 0x04A9, 0x04A9, 0x04AB, 0x04AB, 0x04AD, 0x04AD, 0x04AF, 0x04AF, + /* B */ 0x04B1, 0x04B1, 0x04B3, 0x04B3, 0x04B5, 0x04B5, 0x04B7, 0x04B7, + 0x04B9, 0x04B9, 0x04BB, 0x04BB, 0x04BD, 0x04BD, 0x04BF, 0x04BF, + /* C */ 0x04C0, 0x04C1, 0x04C2, 0x04C4, 0x04C4, 0x04C5, 0x04C6, 0x04C8, + 0x04C8, 0x04C9, 0x04CA, 0x04CC, 0x04CC, 0x04CD, 0x04CE, 0x04CF, + /* D */ 0x04D0, 0x04D1, 0x04D2, 0x04D3, 0x04D4, 0x04D5, 0x04D6, 0x04D7, + 0x04D8, 0x04D9, 0x04DA, 0x04DB, 0x04DC, 0x04DD, 0x04DE, 0x04DF, + /* E */ 0x04E0, 0x04E1, 0x04E2, 0x04E3, 0x04E4, 0x04E5, 0x04E6, 0x04E7, + 0x04E8, 0x04E9, 0x04EA, 0x04EB, 0x04EC, 0x04ED, 0x04EE, 0x04EF, + /* F */ 0x04F0, 0x04F1, 0x04F2, 0x04F3, 0x04F4, 0x04F5, 0x04F6, 0x04F7, + 0x04F8, 0x04F9, 0x04FA, 0x04FB, 0x04FC, 0x04FD, 0x04FE, 0x04FF, + + /* 0 */ 0x0500, 0x0501, 0x0502, 0x0503, 0x0504, 0x0505, 0x0506, 0x0507, + 0x0508, 0x0509, 0x050A, 0x050B, 0x050C, 0x050D, 0x050E, 0x050F, + /* 1 */ 0x0510, 0x0511, 0x0512, 0x0513, 0x0514, 0x0515, 0x0516, 0x0517, + 0x0518, 0x0519, 0x051A, 0x051B, 0x051C, 0x051D, 0x051E, 0x051F, + /* 2 */ 0x0520, 0x0521, 0x0522, 0x0523, 0x0524, 0x0525, 0x0526, 0x0527, + 0x0528, 0x0529, 0x052A, 0x052B, 0x052C, 0x052D, 0x052E, 0x052F, + /* 3 */ 0x0530, 0x0561, 0x0562, 0x0563, 0x0564, 0x0565, 0x0566, 0x0567, + 0x0568, 0x0569, 0x056A, 0x056B, 0x056C, 0x056D, 0x056E, 0x056F, + /* 4 */ 0x0570, 0x0571, 0x0572, 0x0573, 0x0574, 0x0575, 0x0576, 0x0577, + 0x0578, 0x0579, 0x057A, 0x057B, 0x057C, 0x057D, 0x057E, 0x057F, + /* 5 */ 0x0580, 0x0581, 0x0582, 0x0583, 0x0584, 0x0585, 0x0586, 0x0557, + 0x0558, 0x0559, 0x055A, 0x055B, 0x055C, 0x055D, 0x055E, 0x055F, + /* 6 */ 0x0560, 0x0561, 0x0562, 0x0563, 0x0564, 0x0565, 0x0566, 0x0567, + 0x0568, 0x0569, 0x056A, 0x056B, 0x056C, 0x056D, 0x056E, 0x056F, + /* 7 */ 0x0570, 0x0571, 0x0572, 0x0573, 0x0574, 0x0575, 0x0576, 0x0577, + 0x0578, 0x0579, 0x057A, 0x057B, 0x057C, 0x057D, 0x057E, 0x057F, + /* 8 */ 0x0580, 0x0581, 0x0582, 0x0583, 0x0584, 0x0585, 0x0586, 0x0587, + 0x0588, 0x0589, 0x058A, 0x058B, 0x058C, 0x058D, 0x058E, 0x058F, + /* 9 */ 0x0590, 0x0591, 0x0592, 0x0593, 0x0594, 0x0595, 0x0596, 0x0597, + 0x0598, 0x0599, 0x059A, 0x059B, 0x059C, 0x059D, 0x059E, 0x059F, + /* A */ 0x05A0, 0x05A1, 0x05A2, 0x05A3, 0x05A4, 0x05A5, 0x05A6, 0x05A7, + 0x05A8, 0x05A9, 0x05AA, 0x05AB, 0x05AC, 0x05AD, 0x05AE, 0x05AF, + /* B */ 0x05B0, 0x05B1, 0x05B2, 0x05B3, 0x05B4, 0x05B5, 0x05B6, 0x05B7, + 0x05B8, 0x05B9, 0x05BA, 0x05BB, 0x05BC, 0x05BD, 0x05BE, 0x05BF, + /* C */ 0x05C0, 0x05C1, 0x05C2, 0x05C3, 0x05C4, 0x05C5, 0x05C6, 0x05C7, + 0x05C8, 0x05C9, 0x05CA, 0x05CB, 0x05CC, 0x05CD, 0x05CE, 0x05CF, + /* D */ 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, + 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, + /* E */ 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, + 0x05E8, 0x05E9, 0x05EA, 0x05EB, 0x05EC, 0x05ED, 0x05EE, 0x05EF, + /* F */ 0x05F0, 0x05F1, 0x05F2, 0x05F3, 0x05F4, 0x05F5, 0x05F6, 0x05F7, + 0x05F8, 0x05F9, 0x05FA, 0x05FB, 0x05FC, 0x05FD, 0x05FE, 0x05FF, + + /* 0 */ 0x1000, 0x1001, 0x1002, 0x1003, 0x1004, 0x1005, 0x1006, 0x1007, + 0x1008, 0x1009, 0x100A, 0x100B, 0x100C, 0x100D, 0x100E, 0x100F, + /* 1 */ 0x1010, 0x1011, 0x1012, 0x1013, 0x1014, 0x1015, 0x1016, 0x1017, + 0x1018, 0x1019, 0x101A, 0x101B, 0x101C, 0x101D, 0x101E, 0x101F, + /* 2 */ 0x1020, 0x1021, 0x1022, 0x1023, 0x1024, 0x1025, 0x1026, 0x1027, + 0x1028, 0x1029, 0x102A, 0x102B, 0x102C, 0x102D, 0x102E, 0x102F, + /* 3 */ 0x1030, 0x1031, 0x1032, 0x1033, 0x1034, 0x1035, 0x1036, 0x1037, + 0x1038, 0x1039, 0x103A, 0x103B, 0x103C, 0x103D, 0x103E, 0x103F, + /* 4 */ 0x1040, 0x1041, 0x1042, 0x1043, 0x1044, 0x1045, 0x1046, 0x1047, + 0x1048, 0x1049, 0x104A, 0x104B, 0x104C, 0x104D, 0x104E, 0x104F, + /* 5 */ 0x1050, 0x1051, 0x1052, 0x1053, 0x1054, 0x1055, 0x1056, 0x1057, + 0x1058, 0x1059, 0x105A, 0x105B, 0x105C, 0x105D, 0x105E, 0x105F, + /* 6 */ 0x1060, 0x1061, 0x1062, 0x1063, 0x1064, 0x1065, 0x1066, 0x1067, + 0x1068, 0x1069, 0x106A, 0x106B, 0x106C, 0x106D, 0x106E, 0x106F, + /* 7 */ 0x1070, 0x1071, 0x1072, 0x1073, 0x1074, 0x1075, 0x1076, 0x1077, + 0x1078, 0x1079, 0x107A, 0x107B, 0x107C, 0x107D, 0x107E, 0x107F, + /* 8 */ 0x1080, 0x1081, 0x1082, 0x1083, 0x1084, 0x1085, 0x1086, 0x1087, + 0x1088, 0x1089, 0x108A, 0x108B, 0x108C, 0x108D, 0x108E, 0x108F, + /* 9 */ 0x1090, 0x1091, 0x1092, 0x1093, 0x1094, 0x1095, 0x1096, 0x1097, + 0x1098, 0x1099, 0x109A, 0x109B, 0x109C, 0x109D, 0x109E, 0x109F, + /* A */ 0x10D0, 0x10D1, 0x10D2, 0x10D3, 0x10D4, 0x10D5, 0x10D6, 0x10D7, + 0x10D8, 0x10D9, 0x10DA, 0x10DB, 0x10DC, 0x10DD, 0x10DE, 0x10DF, + /* B */ 0x10E0, 0x10E1, 0x10E2, 0x10E3, 0x10E4, 0x10E5, 0x10E6, 0x10E7, + 0x10E8, 0x10E9, 0x10EA, 0x10EB, 0x10EC, 0x10ED, 0x10EE, 0x10EF, + /* C */ 0x10F0, 0x10F1, 0x10F2, 0x10F3, 0x10F4, 0x10F5, 0x10C6, 0x10C7, + 0x10C8, 0x10C9, 0x10CA, 0x10CB, 0x10CC, 0x10CD, 0x10CE, 0x10CF, + /* D */ 0x10D0, 0x10D1, 0x10D2, 0x10D3, 0x10D4, 0x10D5, 0x10D6, 0x10D7, + 0x10D8, 0x10D9, 0x10DA, 0x10DB, 0x10DC, 0x10DD, 0x10DE, 0x10DF, + /* E */ 0x10E0, 0x10E1, 0x10E2, 0x10E3, 0x10E4, 0x10E5, 0x10E6, 0x10E7, + 0x10E8, 0x10E9, 0x10EA, 0x10EB, 0x10EC, 0x10ED, 0x10EE, 0x10EF, + /* F */ 0x10F0, 0x10F1, 0x10F2, 0x10F3, 0x10F4, 0x10F5, 0x10F6, 0x10F7, + 0x10F8, 0x10F9, 0x10FA, 0x10FB, 0x10FC, 0x10FD, 0x10FE, 0x10FF, + + /* 0 */ 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, + 0x2008, 0x2009, 0x200A, 0x200B, 0x0000, 0x0000, 0x0000, 0x0000, + /* 1 */ 0x2010, 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2016, 0x2017, + 0x2018, 0x2019, 0x201A, 0x201B, 0x201C, 0x201D, 0x201E, 0x201F, + /* 2 */ 0x2020, 0x2021, 0x2022, 0x2023, 0x2024, 0x2025, 0x2026, 0x2027, + 0x2028, 0x2029, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x202F, + /* 3 */ 0x2030, 0x2031, 0x2032, 0x2033, 0x2034, 0x2035, 0x2036, 0x2037, + 0x2038, 0x2039, 0x203A, 0x203B, 0x203C, 0x203D, 0x203E, 0x203F, + /* 4 */ 0x2040, 0x2041, 0x2042, 0x2043, 0x2044, 0x2045, 0x2046, 0x2047, + 0x2048, 0x2049, 0x204A, 0x204B, 0x204C, 0x204D, 0x204E, 0x204F, + /* 5 */ 0x2050, 0x2051, 0x2052, 0x2053, 0x2054, 0x2055, 0x2056, 0x2057, + 0x2058, 0x2059, 0x205A, 0x205B, 0x205C, 0x205D, 0x205E, 0x205F, + /* 6 */ 0x2060, 0x2061, 0x2062, 0x2063, 0x2064, 0x2065, 0x2066, 0x2067, + 0x2068, 0x2069, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + /* 7 */ 0x2070, 0x2071, 0x2072, 0x2073, 0x2074, 0x2075, 0x2076, 0x2077, + 0x2078, 0x2079, 0x207A, 0x207B, 0x207C, 0x207D, 0x207E, 0x207F, + /* 8 */ 0x2080, 0x2081, 0x2082, 0x2083, 0x2084, 0x2085, 0x2086, 0x2087, + 0x2088, 0x2089, 0x208A, 0x208B, 0x208C, 0x208D, 0x208E, 0x208F, + /* 9 */ 0x2090, 0x2091, 0x2092, 0x2093, 0x2094, 0x2095, 0x2096, 0x2097, + 0x2098, 0x2099, 0x209A, 0x209B, 0x209C, 0x209D, 0x209E, 0x209F, + /* A */ 0x20A0, 0x20A1, 0x20A2, 0x20A3, 0x20A4, 0x20A5, 0x20A6, 0x20A7, + 0x20A8, 0x20A9, 0x20AA, 0x20AB, 0x20AC, 0x20AD, 0x20AE, 0x20AF, + /* B */ 0x20B0, 0x20B1, 0x20B2, 0x20B3, 0x20B4, 0x20B5, 0x20B6, 0x20B7, + 0x20B8, 0x20B9, 0x20BA, 0x20BB, 0x20BC, 0x20BD, 0x20BE, 0x20BF, + /* C */ 0x20C0, 0x20C1, 0x20C2, 0x20C3, 0x20C4, 0x20C5, 0x20C6, 0x20C7, + 0x20C8, 0x20C9, 0x20CA, 0x20CB, 0x20CC, 0x20CD, 0x20CE, 0x20CF, + /* D */ 0x20D0, 0x20D1, 0x20D2, 0x20D3, 0x20D4, 0x20D5, 0x20D6, 0x20D7, + 0x20D8, 0x20D9, 0x20DA, 0x20DB, 0x20DC, 0x20DD, 0x20DE, 0x20DF, + /* E */ 0x20E0, 0x20E1, 0x20E2, 0x20E3, 0x20E4, 0x20E5, 0x20E6, 0x20E7, + 0x20E8, 0x20E9, 0x20EA, 0x20EB, 0x20EC, 0x20ED, 0x20EE, 0x20EF, + /* F */ 0x20F0, 0x20F1, 0x20F2, 0x20F3, 0x20F4, 0x20F5, 0x20F6, 0x20F7, + 0x20F8, 0x20F9, 0x20FA, 0x20FB, 0x20FC, 0x20FD, 0x20FE, 0x20FF, + + /* 0 */ 0x2100, 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, + 0x2108, 0x2109, 0x210A, 0x210B, 0x210C, 0x210D, 0x210E, 0x210F, + /* 1 */ 0x2110, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, + 0x2118, 0x2119, 0x211A, 0x211B, 0x211C, 0x211D, 0x211E, 0x211F, + /* 2 */ 0x2120, 0x2121, 0x2122, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, + 0x2128, 0x2129, 0x212A, 0x212B, 0x212C, 0x212D, 0x212E, 0x212F, + /* 3 */ 0x2130, 0x2131, 0x2132, 0x2133, 0x2134, 0x2135, 0x2136, 0x2137, + 0x2138, 0x2139, 0x213A, 0x213B, 0x213C, 0x213D, 0x213E, 0x213F, + /* 4 */ 0x2140, 0x2141, 0x2142, 0x2143, 0x2144, 0x2145, 0x2146, 0x2147, + 0x2148, 0x2149, 0x214A, 0x214B, 0x214C, 0x214D, 0x214E, 0x214F, + /* 5 */ 0x2150, 0x2151, 0x2152, 0x2153, 0x2154, 0x2155, 0x2156, 0x2157, + 0x2158, 0x2159, 0x215A, 0x215B, 0x215C, 0x215D, 0x215E, 0x215F, + /* 6 */ 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, + 0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, + /* 7 */ 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, + 0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, + /* 8 */ 0x2180, 0x2181, 0x2182, 0x2183, 0x2184, 0x2185, 0x2186, 0x2187, + 0x2188, 0x2189, 0x218A, 0x218B, 0x218C, 0x218D, 0x218E, 0x218F, + /* 9 */ 0x2190, 0x2191, 0x2192, 0x2193, 0x2194, 0x2195, 0x2196, 0x2197, + 0x2198, 0x2199, 0x219A, 0x219B, 0x219C, 0x219D, 0x219E, 0x219F, + /* A */ 0x21A0, 0x21A1, 0x21A2, 0x21A3, 0x21A4, 0x21A5, 0x21A6, 0x21A7, + 0x21A8, 0x21A9, 0x21AA, 0x21AB, 0x21AC, 0x21AD, 0x21AE, 0x21AF, + /* B */ 0x21B0, 0x21B1, 0x21B2, 0x21B3, 0x21B4, 0x21B5, 0x21B6, 0x21B7, + 0x21B8, 0x21B9, 0x21BA, 0x21BB, 0x21BC, 0x21BD, 0x21BE, 0x21BF, + /* C */ 0x21C0, 0x21C1, 0x21C2, 0x21C3, 0x21C4, 0x21C5, 0x21C6, 0x21C7, + 0x21C8, 0x21C9, 0x21CA, 0x21CB, 0x21CC, 0x21CD, 0x21CE, 0x21CF, + /* D */ 0x21D0, 0x21D1, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21D6, 0x21D7, + 0x21D8, 0x21D9, 0x21DA, 0x21DB, 0x21DC, 0x21DD, 0x21DE, 0x21DF, + /* E */ 0x21E0, 0x21E1, 0x21E2, 0x21E3, 0x21E4, 0x21E5, 0x21E6, 0x21E7, + 0x21E8, 0x21E9, 0x21EA, 0x21EB, 0x21EC, 0x21ED, 0x21EE, 0x21EF, + /* F */ 0x21F0, 0x21F1, 0x21F2, 0x21F3, 0x21F4, 0x21F5, 0x21F6, 0x21F7, + 0x21F8, 0x21F9, 0x21FA, 0x21FB, 0x21FC, 0x21FD, 0x21FE, 0x21FF, + + /* 0 */ 0xFE00, 0xFE01, 0xFE02, 0xFE03, 0xFE04, 0xFE05, 0xFE06, 0xFE07, + 0xFE08, 0xFE09, 0xFE0A, 0xFE0B, 0xFE0C, 0xFE0D, 0xFE0E, 0xFE0F, + /* 1 */ 0xFE10, 0xFE11, 0xFE12, 0xFE13, 0xFE14, 0xFE15, 0xFE16, 0xFE17, + 0xFE18, 0xFE19, 0xFE1A, 0xFE1B, 0xFE1C, 0xFE1D, 0xFE1E, 0xFE1F, + /* 2 */ 0xFE20, 0xFE21, 0xFE22, 0xFE23, 0xFE24, 0xFE25, 0xFE26, 0xFE27, + 0xFE28, 0xFE29, 0xFE2A, 0xFE2B, 0xFE2C, 0xFE2D, 0xFE2E, 0xFE2F, + /* 3 */ 0xFE30, 0xFE31, 0xFE32, 0xFE33, 0xFE34, 0xFE35, 0xFE36, 0xFE37, + 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, + /* 4 */ 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE46, 0xFE47, + 0xFE48, 0xFE49, 0xFE4A, 0xFE4B, 0xFE4C, 0xFE4D, 0xFE4E, 0xFE4F, + /* 5 */ 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE55, 0xFE56, 0xFE57, + 0xFE58, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, + /* 6 */ 0xFE60, 0xFE61, 0xFE62, 0xFE63, 0xFE64, 0xFE65, 0xFE66, 0xFE67, + 0xFE68, 0xFE69, 0xFE6A, 0xFE6B, 0xFE6C, 0xFE6D, 0xFE6E, 0xFE6F, + /* 7 */ 0xFE70, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFE77, + 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, + /* 8 */ 0xFE80, 0xFE81, 0xFE82, 0xFE83, 0xFE84, 0xFE85, 0xFE86, 0xFE87, + 0xFE88, 0xFE89, 0xFE8A, 0xFE8B, 0xFE8C, 0xFE8D, 0xFE8E, 0xFE8F, + /* 9 */ 0xFE90, 0xFE91, 0xFE92, 0xFE93, 0xFE94, 0xFE95, 0xFE96, 0xFE97, + 0xFE98, 0xFE99, 0xFE9A, 0xFE9B, 0xFE9C, 0xFE9D, 0xFE9E, 0xFE9F, + /* A */ 0xFEA0, 0xFEA1, 0xFEA2, 0xFEA3, 0xFEA4, 0xFEA5, 0xFEA6, 0xFEA7, + 0xFEA8, 0xFEA9, 0xFEAA, 0xFEAB, 0xFEAC, 0xFEAD, 0xFEAE, 0xFEAF, + /* B */ 0xFEB0, 0xFEB1, 0xFEB2, 0xFEB3, 0xFEB4, 0xFEB5, 0xFEB6, 0xFEB7, + 0xFEB8, 0xFEB9, 0xFEBA, 0xFEBB, 0xFEBC, 0xFEBD, 0xFEBE, 0xFEBF, + /* C */ 0xFEC0, 0xFEC1, 0xFEC2, 0xFEC3, 0xFEC4, 0xFEC5, 0xFEC6, 0xFEC7, + 0xFEC8, 0xFEC9, 0xFECA, 0xFECB, 0xFECC, 0xFECD, 0xFECE, 0xFECF, + /* D */ 0xFED0, 0xFED1, 0xFED2, 0xFED3, 0xFED4, 0xFED5, 0xFED6, 0xFED7, + 0xFED8, 0xFED9, 0xFEDA, 0xFEDB, 0xFEDC, 0xFEDD, 0xFEDE, 0xFEDF, + /* E */ 0xFEE0, 0xFEE1, 0xFEE2, 0xFEE3, 0xFEE4, 0xFEE5, 0xFEE6, 0xFEE7, + 0xFEE8, 0xFEE9, 0xFEEA, 0xFEEB, 0xFEEC, 0xFEED, 0xFEEE, 0xFEEF, + /* F */ 0xFEF0, 0xFEF1, 0xFEF2, 0xFEF3, 0xFEF4, 0xFEF5, 0xFEF6, 0xFEF7, + 0xFEF8, 0xFEF9, 0xFEFA, 0xFEFB, 0xFEFC, 0xFEFD, 0xFEFE, 0x0000, + + /* 0 */ 0xFF00, 0xFF01, 0xFF02, 0xFF03, 0xFF04, 0xFF05, 0xFF06, 0xFF07, + 0xFF08, 0xFF09, 0xFF0A, 0xFF0B, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, + /* 1 */ 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF14, 0xFF15, 0xFF16, 0xFF17, + 0xFF18, 0xFF19, 0xFF1A, 0xFF1B, 0xFF1C, 0xFF1D, 0xFF1E, 0xFF1F, + /* 2 */ 0xFF20, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, + 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, + /* 3 */ 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, + 0xFF58, 0xFF59, 0xFF5A, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, + /* 4 */ 0xFF40, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, + 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, + /* 5 */ 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, + 0xFF58, 0xFF59, 0xFF5A, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, + /* 6 */ 0xFF60, 0xFF61, 0xFF62, 0xFF63, 0xFF64, 0xFF65, 0xFF66, 0xFF67, + 0xFF68, 0xFF69, 0xFF6A, 0xFF6B, 0xFF6C, 0xFF6D, 0xFF6E, 0xFF6F, + /* 7 */ 0xFF70, 0xFF71, 0xFF72, 0xFF73, 0xFF74, 0xFF75, 0xFF76, 0xFF77, + 0xFF78, 0xFF79, 0xFF7A, 0xFF7B, 0xFF7C, 0xFF7D, 0xFF7E, 0xFF7F, + /* 8 */ 0xFF80, 0xFF81, 0xFF82, 0xFF83, 0xFF84, 0xFF85, 0xFF86, 0xFF87, + 0xFF88, 0xFF89, 0xFF8A, 0xFF8B, 0xFF8C, 0xFF8D, 0xFF8E, 0xFF8F, + /* 9 */ 0xFF90, 0xFF91, 0xFF92, 0xFF93, 0xFF94, 0xFF95, 0xFF96, 0xFF97, + 0xFF98, 0xFF99, 0xFF9A, 0xFF9B, 0xFF9C, 0xFF9D, 0xFF9E, 0xFF9F, + /* A */ 0xFFA0, 0xFFA1, 0xFFA2, 0xFFA3, 0xFFA4, 0xFFA5, 0xFFA6, 0xFFA7, + 0xFFA8, 0xFFA9, 0xFFAA, 0xFFAB, 0xFFAC, 0xFFAD, 0xFFAE, 0xFFAF, + /* B */ 0xFFB0, 0xFFB1, 0xFFB2, 0xFFB3, 0xFFB4, 0xFFB5, 0xFFB6, 0xFFB7, + 0xFFB8, 0xFFB9, 0xFFBA, 0xFFBB, 0xFFBC, 0xFFBD, 0xFFBE, 0xFFBF, + /* C */ 0xFFC0, 0xFFC1, 0xFFC2, 0xFFC3, 0xFFC4, 0xFFC5, 0xFFC6, 0xFFC7, + 0xFFC8, 0xFFC9, 0xFFCA, 0xFFCB, 0xFFCC, 0xFFCD, 0xFFCE, 0xFFCF, + /* D */ 0xFFD0, 0xFFD1, 0xFFD2, 0xFFD3, 0xFFD4, 0xFFD5, 0xFFD6, 0xFFD7, + 0xFFD8, 0xFFD9, 0xFFDA, 0xFFDB, 0xFFDC, 0xFFDD, 0xFFDE, 0xFFDF, + /* E */ 0xFFE0, 0xFFE1, 0xFFE2, 0xFFE3, 0xFFE4, 0xFFE5, 0xFFE6, 0xFFE7, + 0xFFE8, 0xFFE9, 0xFFEA, 0xFFEB, 0xFFEC, 0xFFED, 0xFFEE, 0xFFEF, + /* F */ 0xFFF0, 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4, 0xFFF5, 0xFFF6, 0xFFF7, + 0xFFF8, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD, 0xFFFE, 0xFFFF, +}; + +int32_t FastUnicodeCompare ( register uint16_t str1[], register uint16_t length1, + register uint16_t str2[], register uint16_t length2) +{ + register uint16_t c1,c2; + register uint16_t temp; + register uint16_t* lowerCaseTable; + + lowerCaseTable = gLowerCaseTable; + + while (1) { + c1 = 0; + c2 = 0; + while (length1 && c1 == 0) { + c1 = *(str1++); + --length1; + if ((temp = lowerCaseTable[c1>>8]) != 0) + c1 = lowerCaseTable[temp + (c1 & 0x00FF)]; + } + while (length2 && c2 == 0) { + c2 = *(str2++); + --length2; + if ((temp = lowerCaseTable[c2>>8]) != 0) + c2 = lowerCaseTable[temp + (c2 & 0x00FF)]; + } + if (c1 == ':') { + c1 = '/'; + } + if (c2 == ':') { + c2 = '/'; + } + if (c1 != c2) + break; + if (c1 == 0) + return 0; + } + if (c1 < c2) + return -1; + else + return 1; +} diff --git a/3rdparty/libdmg-hfsplus/hfs/flatfile.c b/3rdparty/libdmg-hfsplus/hfs/flatfile.c new file mode 100644 index 000000000..8a1557012 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/flatfile.c @@ -0,0 +1,104 @@ +#include +#include + +static int flatFileRead(io_func* io, off_t location, size_t size, void *buffer) { + FILE* file; + file = (FILE*) io->data; + + if(size == 0) { + return TRUE; + } + + //printf("%d %d\n", location, size); fflush(stdout); + + if(fseeko(file, location, SEEK_SET) != 0) { + perror("fseek"); + return FALSE; + } + + if(fread(buffer, size, 1, file) != 1) { + perror("fread"); + return FALSE; + } else { + return TRUE; + } +} + +static int flatFileWrite(io_func* io, off_t location, size_t size, void *buffer) { + FILE* file; + + /*int i; + + printf("write: %lld %d - ", location, size); fflush(stdout); + + for(i = 0; i < size; i++) { + printf("%x ", ((unsigned char*)buffer)[i]); + fflush(stdout); + } + printf("\n"); fflush(stdout);*/ + + if(size == 0) { + return TRUE; + } + + file = (FILE*) io->data; + + if(fseeko(file, location, SEEK_SET) != 0) { + perror("fseek"); + return FALSE; + } + + if(fwrite(buffer, size, 1, file) != 1) { + perror("fwrite"); + return FALSE; + } else { + return TRUE; + } + + return TRUE; +} + +static void closeFlatFile(io_func* io) { + FILE* file; + + file = (FILE*) io->data; + + fclose(file); + free(io); +} + +io_func* openFlatFile(const char* fileName) { + io_func* io; + + io = (io_func*) malloc(sizeof(io_func)); + io->data = fopen(fileName, "rb+"); + + if(io->data == NULL) { + perror("fopen"); + return NULL; + } + + io->read = &flatFileRead; + io->write = &flatFileWrite; + io->close = &closeFlatFile; + + return io; +} + +io_func* openFlatFileRO(const char* fileName) { + io_func* io; + + io = (io_func*) malloc(sizeof(io_func)); + io->data = fopen(fileName, "rb"); + + if(io->data == NULL) { + perror("fopen"); + return NULL; + } + + io->read = &flatFileRead; + io->write = &flatFileWrite; + io->close = &closeFlatFile; + + return io; +} diff --git a/3rdparty/libdmg-hfsplus/hfs/hfs.c b/3rdparty/libdmg-hfsplus/hfs/hfs.c new file mode 100644 index 000000000..88b71d8b5 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/hfs.c @@ -0,0 +1,297 @@ +#include +#include +#include +#include +#include +#include +#include + +#include +#include "abstractfile.h" +#include + +char endianness; + + +void cmd_ls(Volume* volume, int argc, const char *argv[]) { + if(argc > 1) + hfs_ls(volume, argv[1]); + else + hfs_ls(volume, "/"); +} + +void cmd_cat(Volume* volume, int argc, const char *argv[]) { + HFSPlusCatalogRecord* record; + AbstractFile* stdoutFile; + + record = getRecordFromPath(argv[1], volume, NULL, NULL); + + stdoutFile = createAbstractFileFromFile(stdout); + + if(record != NULL) { + if(record->recordType == kHFSPlusFileRecord) + writeToFile((HFSPlusCatalogFile*)record, stdoutFile, volume); + else + printf("Not a file\n"); + } else { + printf("No such file or directory\n"); + } + + free(record); + free(stdoutFile); +} + +void cmd_extract(Volume* volume, int argc, const char *argv[]) { + HFSPlusCatalogRecord* record; + AbstractFile *outFile; + + if(argc < 3) { + printf("Not enough arguments"); + return; + } + + outFile = createAbstractFileFromFile(fopen(argv[2], "wb")); + + if(outFile == NULL) { + printf("cannot create file"); + } + + record = getRecordFromPath(argv[1], volume, NULL, NULL); + + if(record != NULL) { + if(record->recordType == kHFSPlusFileRecord) + writeToFile((HFSPlusCatalogFile*)record, outFile, volume); + else + printf("Not a file\n"); + } else { + printf("No such file or directory\n"); + } + + outFile->close(outFile); + free(record); +} + +void cmd_mv(Volume* volume, int argc, const char *argv[]) { + if(argc > 2) { + move(argv[1], argv[2], volume); + } else { + printf("Not enough arguments"); + } +} + +void cmd_symlink(Volume* volume, int argc, const char *argv[]) { + if(argc > 2) { + makeSymlink(argv[1], argv[2], volume); + } else { + printf("Not enough arguments"); + } +} + +void cmd_mkdir(Volume* volume, int argc, const char *argv[]) { + if(argc > 1) { + newFolder(argv[1], volume); + } else { + printf("Not enough arguments"); + } +} + +void cmd_add(Volume* volume, int argc, const char *argv[]) { + AbstractFile *inFile; + + if(argc < 3) { + printf("Not enough arguments"); + return; + } + + inFile = createAbstractFileFromFile(fopen(argv[1], "rb")); + + if(inFile == NULL) { + printf("file to add not found"); + } + + add_hfs(volume, inFile, argv[2]); +} + +void cmd_rm(Volume* volume, int argc, const char *argv[]) { + if(argc > 1) { + removeFile(argv[1], volume); + } else { + printf("Not enough arguments"); + } +} + +void cmd_chmod(Volume* volume, int argc, const char *argv[]) { + int mode; + + if(argc > 2) { + sscanf(argv[1], "%o", &mode); + chmodFile(argv[2], mode, volume); + } else { + printf("Not enough arguments"); + } +} + +void cmd_extractall(Volume* volume, int argc, const char *argv[]) { + HFSPlusCatalogRecord* record; + char cwd[1024]; + char* name; + + ASSERT(getcwd(cwd, 1024) != NULL, "cannot get current working directory"); + + if(argc > 1) + record = getRecordFromPath(argv[1], volume, &name, NULL); + else + record = getRecordFromPath("/", volume, &name, NULL); + + if(argc > 2) { + ASSERT(chdir(argv[2]) == 0, "chdir"); + } + + if(record != NULL) { + if(record->recordType == kHFSPlusFolderRecord) + extractAllInFolder(((HFSPlusCatalogFolder*)record)->folderID, volume); + else + printf("Not a folder\n"); + } else { + printf("No such file or directory\n"); + } + free(record); + + ASSERT(chdir(cwd) == 0, "chdir"); +} + + +void cmd_rmall(Volume* volume, int argc, const char *argv[]) { + HFSPlusCatalogRecord* record; + char* name; + char initPath[1024]; + int lastCharOfPath; + + if(argc > 1) { + record = getRecordFromPath(argv[1], volume, &name, NULL); + strcpy(initPath, argv[1]); + lastCharOfPath = strlen(argv[1]) - 1; + if(argv[1][lastCharOfPath] != '/') { + initPath[lastCharOfPath + 1] = '/'; + initPath[lastCharOfPath + 2] = '\0'; + } + } else { + record = getRecordFromPath("/", volume, &name, NULL); + initPath[0] = '/'; + initPath[1] = '\0'; + } + + if(record != NULL) { + if(record->recordType == kHFSPlusFolderRecord) { + removeAllInFolder(((HFSPlusCatalogFolder*)record)->folderID, volume, initPath); + } else { + printf("Not a folder\n"); + } + } else { + printf("No such file or directory\n"); + } + free(record); +} + +void cmd_addall(Volume* volume, int argc, const char *argv[]) { + if(argc < 2) { + printf("Not enough arguments"); + return; + } + + if(argc > 2) { + addall_hfs(volume, argv[1], argv[2]); + } else { + addall_hfs(volume, argv[1], "/"); + } +} + +void cmd_grow(Volume* volume, int argc, const char *argv[]) { + uint64_t newSize; + + if(argc < 2) { + printf("Not enough arguments\n"); + return; + } + + newSize = 0; + sscanf(argv[1], "%" PRId64, &newSize); + + grow_hfs(volume, newSize); + + printf("grew volume: %" PRId64 "\n", newSize); +} + +void TestByteOrder() +{ + short int word = 0x0001; + char *byte = (char *) &word; + endianness = byte[0] ? IS_LITTLE_ENDIAN : IS_BIG_ENDIAN; +} + + +int main(int argc, const char *argv[]) { + io_func* io; + Volume* volume; + + TestByteOrder(); + + if(argc < 3) { + printf("usage: %s \n", argv[0]); + return 0; + } + + io = openFlatFile(argv[1]); + if(io == NULL) { + fprintf(stderr, "error: Cannot open image-file.\n"); + return 1; + } + + volume = openVolume(io); + if(volume == NULL) { + fprintf(stderr, "error: Cannot open volume.\n"); + CLOSE(io); + return 1; + } + + if(argc > 1) { + if(strcmp(argv[2], "ls") == 0) { + cmd_ls(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "cat") == 0) { + cmd_cat(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "mv") == 0) { + cmd_mv(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "symlink") == 0) { + cmd_symlink(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "mkdir") == 0) { + cmd_mkdir(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "add") == 0) { + cmd_add(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "rm") == 0) { + cmd_rm(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "chmod") == 0) { + cmd_chmod(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "extract") == 0) { + cmd_extract(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "extractall") == 0) { + cmd_extractall(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "rmall") == 0) { + cmd_rmall(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "addall") == 0) { + cmd_addall(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "grow") == 0) { + cmd_grow(volume, argc - 2, argv + 2); + } else if(strcmp(argv[2], "debug") == 0) { + if(argc > 3 && strcmp(argv[3], "verbose") == 0) { + debugBTree(volume->catalogTree, TRUE); + } else { + debugBTree(volume->catalogTree, FALSE); + } + } + } + + closeVolume(volume); + CLOSE(io); + + return 0; +} diff --git a/3rdparty/libdmg-hfsplus/hfs/hfslib.c b/3rdparty/libdmg-hfsplus/hfs/hfslib.c new file mode 100644 index 000000000..6350ad842 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/hfslib.c @@ -0,0 +1,648 @@ +#include +#include +#include +#include +#include +#include "common.h" +#include +#include "abstractfile.h" +#include +#include + +#define BUFSIZE 1024*1024 + +void writeToFile(HFSPlusCatalogFile* file, AbstractFile* output, Volume* volume) { + unsigned char* buffer; + io_func* io; + off_t curPosition; + size_t bytesLeft; + + buffer = (unsigned char*) malloc(BUFSIZE); + + io = openRawFile(file->fileID, &file->dataFork, (HFSPlusCatalogRecord*)file, volume); + if(io == NULL) { + hfs_panic("error opening file"); + free(buffer); + return; + } + + curPosition = 0; + bytesLeft = file->dataFork.logicalSize; + + while(bytesLeft > 0) { + if(bytesLeft > BUFSIZE) { + if(!READ(io, curPosition, BUFSIZE, buffer)) { + hfs_panic("error reading"); + } + if(output->write(output, buffer, BUFSIZE) != BUFSIZE) { + hfs_panic("error writing"); + } + curPosition += BUFSIZE; + bytesLeft -= BUFSIZE; + } else { + if(!READ(io, curPosition, bytesLeft, buffer)) { + hfs_panic("error reading"); + } + if(output->write(output, buffer, bytesLeft) != bytesLeft) { + hfs_panic("error writing"); + } + curPosition += bytesLeft; + bytesLeft -= bytesLeft; + } + } + CLOSE(io); + + free(buffer); +} + +void writeToHFSFile(HFSPlusCatalogFile* file, AbstractFile* input, Volume* volume) { + unsigned char *buffer; + io_func* io; + off_t curPosition; + off_t bytesLeft; + + buffer = (unsigned char*) malloc(BUFSIZE); + + bytesLeft = input->getLength(input); + + io = openRawFile(file->fileID, &file->dataFork, (HFSPlusCatalogRecord*)file, volume); + if(io == NULL) { + hfs_panic("error opening file"); + free(buffer); + return; + } + + curPosition = 0; + + allocate((RawFile*)io->data, bytesLeft); + + while(bytesLeft > 0) { + if(bytesLeft > BUFSIZE) { + if(input->read(input, buffer, BUFSIZE) != BUFSIZE) { + hfs_panic("error reading"); + } + if(!WRITE(io, curPosition, BUFSIZE, buffer)) { + hfs_panic("error writing"); + } + curPosition += BUFSIZE; + bytesLeft -= BUFSIZE; + } else { + if(input->read(input, buffer, (size_t)bytesLeft) != (size_t)bytesLeft) { + hfs_panic("error reading"); + } + if(!WRITE(io, curPosition, (size_t)bytesLeft, buffer)) { + hfs_panic("error reading"); + } + curPosition += bytesLeft; + bytesLeft -= bytesLeft; + } + } + + CLOSE(io); + + free(buffer); +} + +void get_hfs(Volume* volume, const char* inFileName, AbstractFile* output) { + HFSPlusCatalogRecord* record; + + record = getRecordFromPath(inFileName, volume, NULL, NULL); + + if(record != NULL) { + if(record->recordType == kHFSPlusFileRecord) + writeToFile((HFSPlusCatalogFile*)record, output, volume); + else { + printf("Not a file\n"); + exit(0); + } + } else { + printf("No such file or directory\n"); + exit(0); + } + + free(record); +} + +int add_hfs(Volume* volume, AbstractFile* inFile, const char* outFileName) { + HFSPlusCatalogRecord* record; + int ret; + + record = getRecordFromPath(outFileName, volume, NULL, NULL); + + if(record != NULL) { + if(record->recordType == kHFSPlusFileRecord) { + writeToHFSFile((HFSPlusCatalogFile*)record, inFile, volume); + ret = TRUE; + } else { + printf("Not a file\n"); + exit(0); + } + } else { + if(newFile(outFileName, volume)) { + record = getRecordFromPath(outFileName, volume, NULL, NULL); + writeToHFSFile((HFSPlusCatalogFile*)record, inFile, volume); + ret = TRUE; + } else { + ret = FALSE; + } + } + + inFile->close(inFile); + if(record != NULL) { + free(record); + } + + return ret; +} + +void grow_hfs(Volume* volume, uint64_t newSize) { + uint32_t newBlocks; + uint32_t blocksToGrow; + uint64_t newMapSize; + uint64_t i; + unsigned char zero; + + zero = 0; + + newBlocks = newSize / volume->volumeHeader->blockSize; + + if(newBlocks <= volume->volumeHeader->totalBlocks) { + printf("Cannot shrink volume\n"); + return; + } + + blocksToGrow = newBlocks - volume->volumeHeader->totalBlocks; + newMapSize = newBlocks / 8; + + if(volume->volumeHeader->allocationFile.logicalSize < newMapSize) { + if(volume->volumeHeader->freeBlocks + < ((newMapSize - volume->volumeHeader->allocationFile.logicalSize) / volume->volumeHeader->blockSize)) { + printf("Not enough room to allocate new allocation map blocks\n"); + exit(0); + } + + allocate((RawFile*) (volume->allocationFile->data), newMapSize); + } + + /* unreserve last block */ + setBlockUsed(volume, volume->volumeHeader->totalBlocks - 1, 0); + /* don't need to increment freeBlocks because we will allocate another alternate volume header later on */ + + /* "unallocate" the new blocks */ + for(i = ((volume->volumeHeader->totalBlocks / 8) + 1); i < newMapSize; i++) { + ASSERT(WRITE(volume->allocationFile, i, 1, &zero), "WRITE"); + } + + /* grow backing store size */ + ASSERT(WRITE(volume->image, newSize - 1, 1, &zero), "WRITE"); + + /* write new volume information */ + volume->volumeHeader->totalBlocks = newBlocks; + volume->volumeHeader->freeBlocks += blocksToGrow; + + /* reserve last block */ + setBlockUsed(volume, volume->volumeHeader->totalBlocks - 1, 1); + + updateVolume(volume); +} + +void removeAllInFolder(HFSCatalogNodeID folderID, Volume* volume, const char* parentName) { + CatalogRecordList* list; + CatalogRecordList* theList; + char fullName[1024]; + char* name; + char* pathComponent; + int pathLen; + char isRoot; + + HFSPlusCatalogFolder* folder; + theList = list = getFolderContents(folderID, volume); + + strcpy(fullName, parentName); + pathComponent = fullName + strlen(fullName); + + isRoot = FALSE; + if(strcmp(fullName, "/") == 0) { + isRoot = TRUE; + } + + while(list != NULL) { + name = unicodeToAscii(&list->name); + if(isRoot && (name[0] == '\0' || strncmp(name, ".HFS+ Private Directory Data", sizeof(".HFS+ Private Directory Data") - 1) == 0)) { + free(name); + list = list->next; + continue; + } + + strcpy(pathComponent, name); + pathLen = strlen(fullName); + + if(list->record->recordType == kHFSPlusFolderRecord) { + folder = (HFSPlusCatalogFolder*)list->record; + fullName[pathLen] = '/'; + fullName[pathLen + 1] = '\0'; + removeAllInFolder(folder->folderID, volume, fullName); + } else { + printf("%s\n", fullName); + removeFile(fullName, volume); + } + + free(name); + list = list->next; + } + + releaseCatalogRecordList(theList); + + if(!isRoot) { + *(pathComponent - 1) = '\0'; + printf("%s\n", fullName); + removeFile(fullName, volume); + } +} + + +void addAllInFolder(HFSCatalogNodeID folderID, Volume* volume, const char* parentName) { + CatalogRecordList* list; + CatalogRecordList* theList; + char cwd[1024]; + char fullName[1024]; + char testBuffer[1024]; + char* pathComponent; + int pathLen; + + char* name; + + DIR* dir; + DIR* tmp; + + HFSCatalogNodeID cnid; + + struct dirent* ent; + + AbstractFile* file; + HFSPlusCatalogFile* outFile; + + strcpy(fullName, parentName); + pathComponent = fullName + strlen(fullName); + + ASSERT(getcwd(cwd, 1024) != NULL, "cannot get current working directory"); + + theList = list = getFolderContents(folderID, volume); + + ASSERT((dir = opendir(cwd)) != NULL, "opendir"); + + while((ent = readdir(dir)) != NULL) { + if(ent->d_name[0] == '.' && (ent->d_name[1] == '\0' || (ent->d_name[1] == '.' && ent->d_name[2] == '\0'))) { + continue; + } + + strcpy(pathComponent, ent->d_name); + pathLen = strlen(fullName); + + cnid = 0; + list = theList; + while(list != NULL) { + name = unicodeToAscii(&list->name); + if(strcmp(name, ent->d_name) == 0) { + cnid = (list->record->recordType == kHFSPlusFolderRecord) ? (((HFSPlusCatalogFolder*)list->record)->folderID) + : (((HFSPlusCatalogFile*)list->record)->fileID); + free(name); + break; + } + free(name); + list = list->next; + } + + if((tmp = opendir(ent->d_name)) != NULL) { + closedir(tmp); + printf("folder: %s\n", fullName); fflush(stdout); + + if(cnid == 0) { + cnid = newFolder(fullName, volume); + } + + fullName[pathLen] = '/'; + fullName[pathLen + 1] = '\0'; + ASSERT(chdir(ent->d_name) == 0, "chdir"); + addAllInFolder(cnid, volume, fullName); + ASSERT(chdir(cwd) == 0, "chdir"); + } else { + printf("file: %s\n", fullName); fflush(stdout); + if(cnid == 0) { + cnid = newFile(fullName, volume); + } + file = createAbstractFileFromFile(fopen(ent->d_name, "rb")); + ASSERT(file != NULL, "fopen"); + outFile = (HFSPlusCatalogFile*)getRecordByCNID(cnid, volume); + writeToHFSFile(outFile, file, volume); + file->close(file); + free(outFile); + + if(strncmp(fullName, "/Applications/", sizeof("/Applications/") - 1) == 0) { + testBuffer[0] = '\0'; + strcpy(testBuffer, "/Applications/"); + strcat(testBuffer, ent->d_name); + strcat(testBuffer, ".app/"); + strcat(testBuffer, ent->d_name); + if(strcmp(testBuffer, fullName) == 0) { + if(strcmp(ent->d_name, "Installer") == 0 + || strcmp(ent->d_name, "BootNeuter") == 0 + ) { + printf("Giving setuid permissions to %s...\n", fullName); fflush(stdout); + chmodFile(fullName, 04755, volume); + } else { + printf("Giving permissions to %s\n", fullName); fflush(stdout); + chmodFile(fullName, 0755, volume); + } + } + } else if(strncmp(fullName, "/bin/", sizeof("/bin/") - 1) == 0 + || strncmp(fullName, "/Applications/BootNeuter.app/bin/", sizeof("/Applications/BootNeuter.app/bin/") - 1) == 0 + || strncmp(fullName, "/sbin/", sizeof("/sbin/") - 1) == 0 + || strncmp(fullName, "/usr/sbin/", sizeof("/usr/sbin/") - 1) == 0 + || strncmp(fullName, "/usr/bin/", sizeof("/usr/bin/") - 1) == 0 + || strncmp(fullName, "/usr/libexec/", sizeof("/usr/libexec/") - 1) == 0 + || strncmp(fullName, "/usr/local/bin/", sizeof("/usr/local/bin/") - 1) == 0 + || strncmp(fullName, "/usr/local/sbin/", sizeof("/usr/local/sbin/") - 1) == 0 + || strncmp(fullName, "/usr/local/libexec/", sizeof("/usr/local/libexec/") - 1) == 0 + ) { + chmodFile(fullName, 0755, volume); + printf("Giving permissions to %s\n", fullName); fflush(stdout); + } + } + } + + closedir(dir); + + releaseCatalogRecordList(theList); +} + +void extractAllInFolder(HFSCatalogNodeID folderID, Volume* volume) { + CatalogRecordList* list; + CatalogRecordList* theList; + char cwd[1024]; + char* name; + HFSPlusCatalogFolder* folder; + HFSPlusCatalogFile* file; + AbstractFile* outFile; + struct stat status; + + ASSERT(getcwd(cwd, 1024) != NULL, "cannot get current working directory"); + + theList = list = getFolderContents(folderID, volume); + + while(list != NULL) { + name = unicodeToAscii(&list->name); + if(strncmp(name, ".HFS+ Private Directory Data", sizeof(".HFS+ Private Directory Data") - 1) == 0 || name[0] == '\0') { + free(name); + list = list->next; + continue; + } + + if(list->record->recordType == kHFSPlusFolderRecord) { + folder = (HFSPlusCatalogFolder*)list->record; + printf("folder: %s\n", name); + if(stat(name, &status) != 0) { + ASSERT(mkdir(name, 0755) == 0, "mkdir"); + } + ASSERT(chdir(name) == 0, "chdir"); + extractAllInFolder(folder->folderID, volume); + ASSERT(chdir(cwd) == 0, "chdir"); + } else if(list->record->recordType == kHFSPlusFileRecord) { + printf("file: %s\n", name); + file = (HFSPlusCatalogFile*)list->record; + outFile = createAbstractFileFromFile(fopen(name, "wb")); + if(outFile != NULL) { + writeToFile(file, outFile, volume); + outFile->close(outFile); + } else { + printf("WARNING: cannot fopen %s\n", name); + } + } + + free(name); + list = list->next; + } + releaseCatalogRecordList(theList); +} + + +void addall_hfs(Volume* volume, const char* dirToMerge, const char* dest) { + HFSPlusCatalogRecord* record; + char* name; + char cwd[1024]; + char initPath[1024]; + int lastCharOfPath; + + ASSERT(getcwd(cwd, 1024) != NULL, "cannot get current working directory"); + + if(chdir(dirToMerge) != 0) { + printf("Cannot open that directory: %s\n", dirToMerge); + exit(0); + } + + record = getRecordFromPath(dest, volume, &name, NULL); + strcpy(initPath, dest); + lastCharOfPath = strlen(dest) - 1; + if(dest[lastCharOfPath] != '/') { + initPath[lastCharOfPath + 1] = '/'; + initPath[lastCharOfPath + 2] = '\0'; + } + + if(record != NULL) { + if(record->recordType == kHFSPlusFolderRecord) + addAllInFolder(((HFSPlusCatalogFolder*)record)->folderID, volume, initPath); + else { + printf("Not a folder\n"); + exit(0); + } + } else { + printf("No such file or directory\n"); + exit(0); + } + + ASSERT(chdir(cwd) == 0, "chdir"); + free(record); + +} + +int copyAcrossVolumes(Volume* volume1, Volume* volume2, char* path1, char* path2) { + void* buffer; + size_t bufferSize; + AbstractFile* tmpFile; + int ret; + + buffer = malloc(1); + bufferSize = 0; + tmpFile = createAbstractFileFromMemoryFile((void**)&buffer, &bufferSize); + + printf("retrieving... "); fflush(stdout); + get_hfs(volume1, path1, tmpFile); + tmpFile->seek(tmpFile, 0); + printf("writing (%ld)... ", (long) tmpFile->getLength(tmpFile)); fflush(stdout); + ret = add_hfs(volume2, tmpFile, path2); + printf("done\n"); + + free(buffer); + + return ret; +} + +void displayFolder(HFSCatalogNodeID folderID, Volume* volume) { + CatalogRecordList* list; + CatalogRecordList* theList; + HFSPlusCatalogFolder* folder; + HFSPlusCatalogFile* file; + time_t fileTime; + struct tm *date; + + theList = list = getFolderContents(folderID, volume); + + while(list != NULL) { + if(list->record->recordType == kHFSPlusFolderRecord) { + folder = (HFSPlusCatalogFolder*)list->record; + printf("%06o ", folder->permissions.fileMode); + printf("%3d ", folder->permissions.ownerID); + printf("%3d ", folder->permissions.groupID); + printf("%12d ", folder->valence); + fileTime = APPLE_TO_UNIX_TIME(folder->contentModDate); + } else if(list->record->recordType == kHFSPlusFileRecord) { + file = (HFSPlusCatalogFile*)list->record; + printf("%06o ", file->permissions.fileMode); + printf("%3d ", file->permissions.ownerID); + printf("%3d ", file->permissions.groupID); + printf("%12" PRId64 " ", file->dataFork.logicalSize); + fileTime = APPLE_TO_UNIX_TIME(file->contentModDate); + } + + date = localtime(&fileTime); + if(date != NULL) { + printf("%2d/%2d/%4d %02d:%02d ", date->tm_mon, date->tm_mday, date->tm_year + 1900, date->tm_hour, date->tm_min); + } else { + printf(" "); + } + + printUnicode(&list->name); + printf("\n"); + + list = list->next; + } + + releaseCatalogRecordList(theList); +} + +void displayFileLSLine(HFSPlusCatalogFile* file, const char* name) { + time_t fileTime; + struct tm *date; + + printf("%06o ", file->permissions.fileMode); + printf("%3d ", file->permissions.ownerID); + printf("%3d ", file->permissions.groupID); + printf("%12" PRId64 " ", file->dataFork.logicalSize); + fileTime = APPLE_TO_UNIX_TIME(file->contentModDate); + date = localtime(&fileTime); + if(date != NULL) { + printf("%2d/%2d/%4d %2d:%02d ", date->tm_mon, date->tm_mday, date->tm_year + 1900, date->tm_hour, date->tm_min); + } else { + printf(" "); + } + printf("%s\n", name); +} + +void hfs_ls(Volume* volume, const char* path) { + HFSPlusCatalogRecord* record; + char* name; + + record = getRecordFromPath(path, volume, &name, NULL); + + printf("%s: \n", name); + if(record != NULL) { + if(record->recordType == kHFSPlusFolderRecord) + displayFolder(((HFSPlusCatalogFolder*)record)->folderID, volume); + else + displayFileLSLine((HFSPlusCatalogFile*)record, name); + } else { + printf("No such file or directory\n"); + } + + printf("Total filesystem size: %d, free: %d\n", (volume->volumeHeader->totalBlocks - volume->volumeHeader->freeBlocks) * volume->volumeHeader->blockSize, volume->volumeHeader->freeBlocks * volume->volumeHeader->blockSize); + + free(record); +} + +void hfs_untar(Volume* volume, AbstractFile* tarFile) { + size_t tarSize = tarFile->getLength(tarFile); + size_t curRecord = 0; + char block[512]; + + while(curRecord < tarSize) { + tarFile->seek(tarFile, curRecord); + tarFile->read(tarFile, block, 512); + + uint32_t mode = 0; + char* fileName = NULL; + const char* target = NULL; + uint32_t type = 0; + uint32_t size; + uint32_t uid; + uint32_t gid; + + sscanf(&block[100], "%o", &mode); + fileName = &block[0]; + sscanf(&block[156], "%o", &type); + target = &block[157]; + sscanf(&block[124], "%o", &size); + sscanf(&block[108], "%o", &uid); + sscanf(&block[116], "%o", &gid); + + if(fileName[0] == '\0') + break; + + if(fileName[0] == '.' && fileName[1] == '/') { + fileName += 2; + } + + if(fileName[0] == '\0') + goto loop; + + if(fileName[strlen(fileName) - 1] == '/') + fileName[strlen(fileName) - 1] = '\0'; + + HFSPlusCatalogRecord* record = getRecordFromPath3(fileName, volume, NULL, NULL, TRUE, FALSE, kHFSRootFolderID); + if(record) { + if(record->recordType == kHFSPlusFolderRecord || type == 5) { + printf("ignoring %s, type = %d\n", fileName, type); + free(record); + goto loop; + } else { + printf("replacing %s\n", fileName); + free(record); + removeFile(fileName, volume); + } + } + + if(type == 0) { + printf("file: %s (%04o), size = %d\n", fileName, mode, size); + void* buffer = malloc(size); + tarFile->seek(tarFile, curRecord + 512); + tarFile->read(tarFile, buffer, size); + AbstractFile* inFile = createAbstractFileFromMemory(&buffer, size); + add_hfs(volume, inFile, fileName); + free(buffer); + } else if(type == 5) { + printf("directory: %s (%04o)\n", fileName, mode); + newFolder(fileName, volume); + } else if(type == 2) { + printf("symlink: %s (%04o) -> %s\n", fileName, mode, target); + makeSymlink(fileName, target, volume); + } + + chmodFile(fileName, mode, volume); + chownFile(fileName, uid, gid, volume); + +loop: + + curRecord = (curRecord + 512) + ((size + 511) / 512 * 512); + } + +} + diff --git a/3rdparty/libdmg-hfsplus/hfs/rawfile.c b/3rdparty/libdmg-hfsplus/hfs/rawfile.c new file mode 100644 index 000000000..5057bc578 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/rawfile.c @@ -0,0 +1,499 @@ +#include +#include +#include + +int writeExtents(RawFile* rawFile); + +int isBlockUsed(Volume* volume, uint32_t block) +{ + unsigned char byte; + + READ(volume->allocationFile, block / 8, 1, &byte); + return (byte & (1 << (7 - (block % 8)))) != 0; +} + +int setBlockUsed(Volume* volume, uint32_t block, int used) { + unsigned char byte; + + READ(volume->allocationFile, block / 8, 1, &byte); + if(used) { + byte |= (1 << (7 - (block % 8))); + } else { + byte &= ~(1 << (7 - (block % 8))); + } + ASSERT(WRITE(volume->allocationFile, block / 8, 1, &byte), "WRITE"); + + return TRUE; +} + +int allocate(RawFile* rawFile, off_t size) { + unsigned char* zeros; + Volume* volume; + HFSPlusForkData* forkData; + uint32_t blocksNeeded; + uint32_t blocksToAllocate; + Extent* extent; + Extent* lastExtent; + + uint32_t curBlock; + + volume = rawFile->volume; + forkData = rawFile->forkData; + extent = rawFile->extents; + + blocksNeeded = ((uint64_t)size / (uint64_t)volume->volumeHeader->blockSize) + (((size % volume->volumeHeader->blockSize) == 0) ? 0 : 1); + + if(blocksNeeded > forkData->totalBlocks) { + zeros = (unsigned char*) malloc(volume->volumeHeader->blockSize); + memset(zeros, 0, volume->volumeHeader->blockSize); + + blocksToAllocate = blocksNeeded - forkData->totalBlocks; + + if(blocksToAllocate > volume->volumeHeader->freeBlocks) { + return FALSE; + } + + lastExtent = NULL; + while(extent != NULL) { + lastExtent = extent; + extent = extent->next; + } + + if(lastExtent == NULL) { + rawFile->extents = (Extent*) malloc(sizeof(Extent)); + lastExtent = rawFile->extents; + lastExtent->blockCount = 0; + lastExtent->next = NULL; + curBlock = volume->volumeHeader->nextAllocation; + } else { + curBlock = lastExtent->startBlock + lastExtent->blockCount; + } + + while(blocksToAllocate > 0) { + if(isBlockUsed(volume, curBlock)) { + if(lastExtent->blockCount > 0) { + lastExtent->next = (Extent*) malloc(sizeof(Extent)); + lastExtent = lastExtent->next; + lastExtent->blockCount = 0; + lastExtent->next = NULL; + } + curBlock = volume->volumeHeader->nextAllocation; + volume->volumeHeader->nextAllocation++; + if(volume->volumeHeader->nextAllocation >= volume->volumeHeader->totalBlocks) { + volume->volumeHeader->nextAllocation = 0; + } + } else { + if(lastExtent->blockCount == 0) { + lastExtent->startBlock = curBlock; + } + + /* zero out allocated block */ + ASSERT(WRITE(volume->image, curBlock * volume->volumeHeader->blockSize, volume->volumeHeader->blockSize, zeros), "WRITE"); + + setBlockUsed(volume, curBlock, TRUE); + volume->volumeHeader->freeBlocks--; + blocksToAllocate--; + curBlock++; + lastExtent->blockCount++; + + if(curBlock >= volume->volumeHeader->totalBlocks) { + curBlock = volume->volumeHeader->nextAllocation; + } + } + } + + free(zeros); + } else if(blocksNeeded < forkData->totalBlocks) { + blocksToAllocate = blocksNeeded; + + lastExtent = NULL; + + while(blocksToAllocate > 0) { + if(blocksToAllocate > extent->blockCount) { + blocksToAllocate -= extent->blockCount; + lastExtent = extent; + extent = extent->next; + } else { + break; + } + } + + + if(blocksToAllocate == 0 && lastExtent != NULL) { + // snip the extent list here, since we don't need the rest + lastExtent->next = NULL; + } else if(blocksNeeded == 0) { + rawFile->extents = NULL; + } + + do { + for(curBlock = (extent->startBlock + blocksToAllocate); curBlock < (extent->startBlock + extent->blockCount); curBlock++) { + setBlockUsed(volume, curBlock, FALSE); + volume->volumeHeader->freeBlocks++; + } + lastExtent = extent; + extent = extent->next; + + if(blocksToAllocate == 0) + { + free(lastExtent); + } else { + lastExtent->next = NULL; + lastExtent->blockCount = blocksToAllocate; + } + + blocksToAllocate = 0; + } while(extent != NULL); + } + + writeExtents(rawFile); + + forkData->logicalSize = size; + forkData->totalBlocks = blocksNeeded; + + updateVolume(rawFile->volume); + + if(rawFile->catalogRecord != NULL) { + updateCatalog(rawFile->volume, rawFile->catalogRecord); + } + + return TRUE; +} + +static int rawFileRead(io_func* io,off_t location, size_t size, void *buffer) { + RawFile* rawFile; + Volume* volume; + Extent* extent; + + size_t blockSize; + off_t fileLoc; + off_t locationInBlock; + size_t possible; + + rawFile = (RawFile*) io->data; + volume = rawFile->volume; + blockSize = volume->volumeHeader->blockSize; + + extent = rawFile->extents; + fileLoc = 0; + + locationInBlock = location; + while(TRUE) { + fileLoc += extent->blockCount * blockSize; + if(fileLoc <= location) { + locationInBlock -= extent->blockCount * blockSize; + extent = extent->next; + if(extent == NULL) + break; + } else { + break; + } + } + + while(size > 0) { + if(extent == NULL) + return FALSE; + + possible = extent->blockCount * blockSize - locationInBlock; + + if(size > possible) { + ASSERT(READ(volume->image, extent->startBlock * blockSize + locationInBlock, possible, buffer), "READ"); + size -= possible; + buffer = (void*)(((size_t)buffer) + possible); + extent = extent->next; + } else { + ASSERT(READ(volume->image, extent->startBlock * blockSize + locationInBlock, size, buffer), "READ"); + break; + } + + locationInBlock = 0; + } + + return TRUE; +} + +static int rawFileWrite(io_func* io,off_t location, size_t size, void *buffer) { + RawFile* rawFile; + Volume* volume; + Extent* extent; + + size_t blockSize; + off_t fileLoc; + off_t locationInBlock; + size_t possible; + + rawFile = (RawFile*) io->data; + volume = rawFile->volume; + blockSize = volume->volumeHeader->blockSize; + + if(rawFile->forkData->logicalSize < (location + size)) { + ASSERT(allocate(rawFile, location + size), "allocate"); + } + + extent = rawFile->extents; + fileLoc = 0; + + locationInBlock = location; + while(TRUE) { + fileLoc += extent->blockCount * blockSize; + if(fileLoc <= location) { + locationInBlock -= extent->blockCount * blockSize; + extent = extent->next; + if(extent == NULL) + break; + } else { + break; + } + } + + while(size > 0) { + if(extent == NULL) + return FALSE; + + possible = extent->blockCount * blockSize - locationInBlock; + + if(size > possible) { + ASSERT(WRITE(volume->image, extent->startBlock * blockSize + locationInBlock, possible, buffer), "WRITE"); + size -= possible; + buffer = (void*)(((size_t)buffer) + possible); + extent = extent->next; + } else { + ASSERT(WRITE(volume->image, extent->startBlock * blockSize + locationInBlock, size, buffer), "WRITE"); + break; + } + + locationInBlock = 0; + } + + return TRUE; +} + +static void closeRawFile(io_func* io) { + RawFile* rawFile; + Extent* extent; + Extent* toRemove; + + rawFile = (RawFile*) io->data; + extent = rawFile->extents; + + while(extent != NULL) { + toRemove = extent; + extent = extent->next; + free(toRemove); + } + + free(rawFile); + free(io); +} + +int removeExtents(RawFile* rawFile) { + uint32_t blocksLeft; + HFSPlusForkData* forkData; + uint32_t currentBlock; + + uint32_t startBlock; + uint32_t blockCount; + + HFSPlusExtentDescriptor* descriptor; + int currentExtent; + HFSPlusExtentKey extentKey; + int exact; + + extentKey.keyLength = sizeof(HFSPlusExtentKey) - sizeof(extentKey.keyLength); + extentKey.forkType = 0; + extentKey.fileID = rawFile->id; + + forkData = rawFile->forkData; + blocksLeft = forkData->totalBlocks; + currentExtent = 0; + currentBlock = 0; + descriptor = (HFSPlusExtentDescriptor*) forkData->extents; + + while(blocksLeft > 0) { + if(currentExtent == 8) { + if(rawFile->volume->extentsTree == NULL) { + hfs_panic("no extents overflow file loaded yet!"); + return FALSE; + } + + if(descriptor != ((HFSPlusExtentDescriptor*) forkData->extents)) { + free(descriptor); + } + + extentKey.startBlock = currentBlock; + descriptor = (HFSPlusExtentDescriptor*) search(rawFile->volume->extentsTree, (BTKey*)(&extentKey), &exact, NULL, NULL); + if(descriptor == NULL || exact == FALSE) { + hfs_panic("inconsistent extents information!"); + return FALSE; + } else { + removeFromBTree(rawFile->volume->extentsTree, (BTKey*)(&extentKey)); + currentExtent = 0; + continue; + } + } + + startBlock = descriptor[currentExtent].startBlock; + blockCount = descriptor[currentExtent].blockCount; + + currentBlock += blockCount; + blocksLeft -= blockCount; + currentExtent++; + } + + if(descriptor != ((HFSPlusExtentDescriptor*) forkData->extents)) { + free(descriptor); + } + + return TRUE; +} + +int writeExtents(RawFile* rawFile) { + Extent* extent; + int currentExtent; + HFSPlusExtentKey extentKey; + HFSPlusExtentDescriptor descriptor[8]; + HFSPlusForkData* forkData; + + removeExtents(rawFile); + + forkData = rawFile->forkData; + currentExtent = 0; + extent = rawFile->extents; + + memset(forkData->extents, 0, sizeof(HFSPlusExtentRecord)); + while(extent != NULL && currentExtent < 8) { + ((HFSPlusExtentDescriptor*)forkData->extents)[currentExtent].startBlock = extent->startBlock; + ((HFSPlusExtentDescriptor*)forkData->extents)[currentExtent].blockCount = extent->blockCount; + extent = extent->next; + currentExtent++; + } + + if(extent != NULL) { + extentKey.keyLength = sizeof(HFSPlusExtentKey) - sizeof(extentKey.keyLength); + extentKey.forkType = 0; + extentKey.fileID = rawFile->id; + + currentExtent = 0; + + while(extent != NULL) { + if(currentExtent == 0) { + memset(descriptor, 0, sizeof(HFSPlusExtentRecord)); + } + + if(currentExtent == 8) { + extentKey.startBlock = descriptor[0].startBlock; + addToBTree(rawFile->volume->extentsTree, (BTKey*)(&extentKey), sizeof(HFSPlusExtentRecord), (unsigned char *)(&(descriptor[0]))); + currentExtent = 0; + } + + descriptor[currentExtent].startBlock = extent->startBlock; + descriptor[currentExtent].blockCount = extent->blockCount; + + currentExtent++; + extent = extent->next; + } + + extentKey.startBlock = descriptor[0].startBlock; + addToBTree(rawFile->volume->extentsTree, (BTKey*)(&extentKey), sizeof(HFSPlusExtentRecord), (unsigned char *)(&(descriptor[0]))); + } + + return TRUE; +} + +int readExtents(RawFile* rawFile) { + uint32_t blocksLeft; + HFSPlusForkData* forkData; + uint32_t currentBlock; + + Extent* extent; + Extent* lastExtent; + + HFSPlusExtentDescriptor* descriptor; + int currentExtent; + HFSPlusExtentKey extentKey; + int exact; + + extentKey.keyLength = sizeof(HFSPlusExtentKey) - sizeof(extentKey.keyLength); + extentKey.forkType = 0; + extentKey.fileID = rawFile->id; + + forkData = rawFile->forkData; + blocksLeft = forkData->totalBlocks; + currentExtent = 0; + currentBlock = 0; + descriptor = (HFSPlusExtentDescriptor*) forkData->extents; + + lastExtent = NULL; + + while(blocksLeft > 0) { + extent = (Extent*) malloc(sizeof(Extent)); + + if(currentExtent == 8) { + if(rawFile->volume->extentsTree == NULL) { + hfs_panic("no extents overflow file loaded yet!"); + return FALSE; + } + + if(descriptor != ((HFSPlusExtentDescriptor*) forkData->extents)) { + free(descriptor); + } + + extentKey.startBlock = currentBlock; + descriptor = (HFSPlusExtentDescriptor*) search(rawFile->volume->extentsTree, (BTKey*)(&extentKey), &exact, NULL, NULL); + if(descriptor == NULL || exact == FALSE) { + hfs_panic("inconsistent extents information!"); + return FALSE; + } else { + currentExtent = 0; + continue; + } + } + + extent->startBlock = descriptor[currentExtent].startBlock; + extent->blockCount = descriptor[currentExtent].blockCount; + extent->next = NULL; + + currentBlock += extent->blockCount; + blocksLeft -= extent->blockCount; + currentExtent++; + + if(lastExtent == NULL) { + rawFile->extents = extent; + } else { + lastExtent->next = extent; + } + + lastExtent = extent; + } + + if(descriptor != ((HFSPlusExtentDescriptor*) forkData->extents)) { + free(descriptor); + } + + return TRUE; +} + +io_func* openRawFile(HFSCatalogNodeID id, HFSPlusForkData* forkData, HFSPlusCatalogRecord* catalogRecord, Volume* volume) { + io_func* io; + RawFile* rawFile; + + io = (io_func*) malloc(sizeof(io_func)); + rawFile = (RawFile*) malloc(sizeof(RawFile)); + + rawFile->id = id; + rawFile->volume = volume; + rawFile->forkData = forkData; + rawFile->catalogRecord = catalogRecord; + rawFile->extents = NULL; + + io->data = rawFile; + io->read = &rawFileRead; + io->write = &rawFileWrite; + io->close = &closeRawFile; + + if(!readExtents(rawFile)) { + return NULL; + } + + return io; +} diff --git a/3rdparty/libdmg-hfsplus/hfs/utility.c b/3rdparty/libdmg-hfsplus/hfs/utility.c new file mode 100644 index 000000000..01c3bb472 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/utility.c @@ -0,0 +1,30 @@ +#include +#include +#include + +void hfs_panic(const char* hfs_panicString) { + fprintf(stderr, "%s\n", hfs_panicString); + exit(1); +} + +void printUnicode(HFSUniStr255* str) { + int i; + + for(i = 0; i < str->length; i++) { + printf("%c", (char)(str->unicode[i] & 0xff)); + } +} + +char* unicodeToAscii(HFSUniStr255* str) { + int i; + char* toReturn; + + toReturn = (char*) malloc(sizeof(char) * (str->length + 1)); + + for(i = 0; i < str->length; i++) { + toReturn[i] = (char)(str->unicode[i] & 0xff); + } + toReturn[i] = '\0'; + + return toReturn; +} diff --git a/3rdparty/libdmg-hfsplus/hfs/volume.c b/3rdparty/libdmg-hfsplus/hfs/volume.c new file mode 100644 index 000000000..85c979be4 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/hfs/volume.c @@ -0,0 +1,162 @@ +#include +#include +#include + +void flipForkData(HFSPlusForkData* forkData) { + FLIPENDIAN(forkData->logicalSize); + FLIPENDIAN(forkData->clumpSize); + FLIPENDIAN(forkData->totalBlocks); + + flipExtentRecord(&forkData->extents); +} + +static HFSPlusVolumeHeader* readVolumeHeader(io_func* io, off_t offset) { + HFSPlusVolumeHeader* volumeHeader; + + volumeHeader = (HFSPlusVolumeHeader*) malloc(sizeof(HFSPlusVolumeHeader)); + + if(!(READ(io, offset, sizeof(HFSPlusVolumeHeader), volumeHeader))) + return NULL; + + FLIPENDIAN(volumeHeader->signature); + FLIPENDIAN(volumeHeader->version); + FLIPENDIAN(volumeHeader->attributes); + FLIPENDIAN(volumeHeader->lastMountedVersion); + FLIPENDIAN(volumeHeader->journalInfoBlock); + FLIPENDIAN(volumeHeader->createDate); + FLIPENDIAN(volumeHeader->modifyDate); + FLIPENDIAN(volumeHeader->backupDate); + FLIPENDIAN(volumeHeader->checkedDate); + FLIPENDIAN(volumeHeader->fileCount); + FLIPENDIAN(volumeHeader->folderCount); + FLIPENDIAN(volumeHeader->blockSize); + FLIPENDIAN(volumeHeader->totalBlocks); + FLIPENDIAN(volumeHeader->freeBlocks); + FLIPENDIAN(volumeHeader->nextAllocation); + FLIPENDIAN(volumeHeader->rsrcClumpSize); + FLIPENDIAN(volumeHeader->dataClumpSize); + FLIPENDIAN(volumeHeader->nextCatalogID); + FLIPENDIAN(volumeHeader->writeCount); + FLIPENDIAN(volumeHeader->encodingsBitmap); + + + flipForkData(&volumeHeader->allocationFile); + flipForkData(&volumeHeader->extentsFile); + flipForkData(&volumeHeader->catalogFile); + flipForkData(&volumeHeader->attributesFile); + flipForkData(&volumeHeader->startupFile); + + return volumeHeader; +} + +static int writeVolumeHeader(io_func* io, HFSPlusVolumeHeader* volumeHeaderToWrite, off_t offset) { + HFSPlusVolumeHeader* volumeHeader; + + volumeHeader = (HFSPlusVolumeHeader*) malloc(sizeof(HFSPlusVolumeHeader)); + memcpy(volumeHeader, volumeHeaderToWrite, sizeof(HFSPlusVolumeHeader)); + + FLIPENDIAN(volumeHeader->signature); + FLIPENDIAN(volumeHeader->version); + FLIPENDIAN(volumeHeader->attributes); + FLIPENDIAN(volumeHeader->lastMountedVersion); + FLIPENDIAN(volumeHeader->journalInfoBlock); + FLIPENDIAN(volumeHeader->createDate); + FLIPENDIAN(volumeHeader->modifyDate); + FLIPENDIAN(volumeHeader->backupDate); + FLIPENDIAN(volumeHeader->checkedDate); + FLIPENDIAN(volumeHeader->fileCount); + FLIPENDIAN(volumeHeader->folderCount); + FLIPENDIAN(volumeHeader->blockSize); + FLIPENDIAN(volumeHeader->totalBlocks); + FLIPENDIAN(volumeHeader->freeBlocks); + FLIPENDIAN(volumeHeader->nextAllocation); + FLIPENDIAN(volumeHeader->rsrcClumpSize); + FLIPENDIAN(volumeHeader->dataClumpSize); + FLIPENDIAN(volumeHeader->nextCatalogID); + FLIPENDIAN(volumeHeader->writeCount); + FLIPENDIAN(volumeHeader->encodingsBitmap); + + + flipForkData(&volumeHeader->allocationFile); + flipForkData(&volumeHeader->extentsFile); + flipForkData(&volumeHeader->catalogFile); + flipForkData(&volumeHeader->attributesFile); + flipForkData(&volumeHeader->startupFile); + + if(!(WRITE(io, offset, sizeof(HFSPlusVolumeHeader), volumeHeader))) + return FALSE; + + free(volumeHeader); + + return TRUE; +} + +int updateVolume(Volume* volume) { + ASSERT(writeVolumeHeader(volume->image, volume->volumeHeader, + ((off_t)volume->volumeHeader->totalBlocks * (off_t)volume->volumeHeader->blockSize) - 1024), "writeVolumeHeader"); + return writeVolumeHeader(volume->image, volume->volumeHeader, 1024); +} + +Volume* openVolume(io_func* io) { + Volume* volume; + io_func* file; + + volume = (Volume*) malloc(sizeof(Volume)); + volume->image = io; + volume->extentsTree = NULL; + + volume->volumeHeader = readVolumeHeader(io, 1024); + if(volume->volumeHeader == NULL) { + free(volume); + return NULL; + } + + file = openRawFile(kHFSExtentsFileID, &volume->volumeHeader->extentsFile, NULL, volume); + if(file == NULL) { + free(volume->volumeHeader); + free(volume); + return NULL; + } + + volume->extentsTree = openExtentsTree(file); + if(volume->extentsTree == NULL) { + free(volume->volumeHeader); + free(volume); + return NULL; + } + + file = openRawFile(kHFSCatalogFileID, &volume->volumeHeader->catalogFile, NULL, volume); + if(file == NULL) { + closeBTree(volume->extentsTree); + free(volume->volumeHeader); + free(volume); + return NULL; + } + + volume->catalogTree = openCatalogTree(file); + if(volume->catalogTree == NULL) { + closeBTree(volume->extentsTree); + free(volume->volumeHeader); + free(volume); + return NULL; + } + + volume->allocationFile = openRawFile(kHFSAllocationFileID, &volume->volumeHeader->allocationFile, NULL, volume); + if(volume->catalogTree == NULL) { + closeBTree(volume->catalogTree); + closeBTree(volume->extentsTree); + free(volume->volumeHeader); + free(volume); + return NULL; + } + + return volume; +} + +void closeVolume(Volume *volume) { + CLOSE(volume->allocationFile); + closeBTree(volume->catalogTree); + closeBTree(volume->extentsTree); + free(volume->volumeHeader); + free(volume); +} diff --git a/3rdparty/libdmg-hfsplus/ide/eclipse/.cdtproject b/3rdparty/libdmg-hfsplus/ide/eclipse/.cdtproject new file mode 100644 index 000000000..97b6e364b --- /dev/null +++ b/3rdparty/libdmg-hfsplus/ide/eclipse/.cdtproject @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +make +-j2 +all +false +false + + +make +-j2 +all +false +false + + +make +-j2 +all +false +false + + +make +-j2 +all +false +false + + +make +-j2 +all +false +false + + + + + diff --git a/3rdparty/libdmg-hfsplus/ide/eclipse/.project b/3rdparty/libdmg-hfsplus/ide/eclipse/.project new file mode 100644 index 000000000..df90162e2 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/ide/eclipse/.project @@ -0,0 +1,102 @@ + + + libdmg-hfsplus + + + + + + org.eclipse.cdt.make.core.makeBuilder + clean,full,incremental, + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.stopOnError + false + + + org.eclipse.cdt.make.core.enabledIncrementalBuild + true + + + org.eclipse.cdt.make.core.build.command + make + + + org.eclipse.cdt.make.core.build.target.inc + all + + + org.eclipse.cdt.make.core.build.arguments + -j2 + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + false + + + org.eclipse.cdt.make.core.environment + + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.build.target.auto + all + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.build.target.clean + clean + + + org.eclipse.cdt.make.core.build.location + + + + org.eclipse.cdt.core.errorOutputParser + org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser; + + + + + org.eclipse.cdt.make.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.make.core.makeNature + org.eclipse.cdt.make.core.ScannerConfigNature + + + + hdutil + 2 + root/hdutil + + + hfs + 2 + root/hfs + + + dmg + 2 + root/dmg + + + diff --git a/3rdparty/libdmg-hfsplus/ide/eclipse/.settings/org.eclipse.cdt.core.prefs b/3rdparty/libdmg-hfsplus/ide/eclipse/.settings/org.eclipse.cdt.core.prefs new file mode 100644 index 000000000..6454e6bb3 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/ide/eclipse/.settings/org.eclipse.cdt.core.prefs @@ -0,0 +1,3 @@ +#Sun Apr 27 17:11:49 EDT 2008 +eclipse.preferences.version=1 +indexerId=org.eclipse.cdt.core.fastIndexer diff --git a/3rdparty/libdmg-hfsplus/ide/eclipse/Makefile b/3rdparty/libdmg-hfsplus/ide/eclipse/Makefile new file mode 100644 index 000000000..2de12c859 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/ide/eclipse/Makefile @@ -0,0 +1,5 @@ +all: + cd ../../; make + +clean: + cd ../../; make clean diff --git a/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.mode1v3 b/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.mode1v3 new file mode 100644 index 000000000..3611ff6e9 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.mode1v3 @@ -0,0 +1,1447 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 63F922250DC492000056EA77 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + + Content + + PBXProjectModuleGUID + 63DCCB0D0DC49C84005D833C + PBXProjectModuleLabel + filevault.c + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 63DCCB0E0DC49C84005D833C + PBXProjectModuleLabel + filevault.c + _historyCapacity + 0 + bookmark + 63DCCB0F0DC49C84005D833C + history + + 63DCCB0C0DC49C00005D833C + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {1150, 736}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 15 220 1150 777 0 0 1280 1002 + + + + Content + + PBXProjectModuleGUID + 63F9228D0DC4952F0056EA77 + PBXProjectModuleLabel + zconf.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 63F9228E0DC4952F0056EA77 + PBXProjectModuleLabel + zconf.h + _historyCapacity + 0 + bookmark + 63DCCB100DC49C84005D833C + history + + 63EFCCEB0DC49BA00031F8B4 + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {1150, 736}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 15 220 1150 777 0 0 1280 1002 + + + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-target-popup + active-buildstyle-popup + action + NSToolbarFlexibleSpaceItem + buildOrClean + build-and-goOrGo + com.apple.ide.PBXToolbarStopButton + get-info + toggle-editor + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 265 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 08FB7794FE84155DC02AAC07 + 08FB7795FE84155DC02AAC07 + 63F921C10DC4900E0056EA77 + 63F920C50DC48FFC0056EA77 + C6A0FF2B0290797F04C91782 + 1AB674ADFE9D54B511CA2CBB + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 20 + 14 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 2}, {265, 494}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {282, 512}} + GroupTreeTableConfiguration + + MainColumn + 265 + + RubberWindowFrame + 60 356 799 553 0 0 1280 1002 + + Module + PBXSmartGroupTreeModule + Proportion + 282pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + MyNewFile14.java + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + MyNewFile14.java + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {512, 0}} + RubberWindowFrame + 60 356 799 553 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {512, 507}} + RubberWindowFrame + 60 356 799 553 0 0 1280 1002 + + Module + XCDetailModule + Proportion + 507pt + + + Proportion + 512pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 63DCCB090DC49BFA005D833C + 1CE0B1FE06471DED0097A5F4 + 63DCCB0A0DC49BFA005D833C + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 63F9228D0DC4952F0056EA77 + /Users/david/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj + 63DCCB0D0DC49C84005D833C + + WindowString + 60 356 799 553 0 0 1280 1002 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + filevault.c + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1048, 215}} + RubberWindowFrame + 186 170 1048 497 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 215pt + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 220}, {1048, 236}} + RubberWindowFrame + 186 170 1048 497 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 456pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 63F922260DC492000056EA77 + 63EFCCC10DC4974F0031F8B4 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 186 170 1048 497 0 0 1280 1002 + WindowToolGUID + 63F922260DC492000056EA77 + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.pbxuser b/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.pbxuser new file mode 100644 index 000000000..86cdb052f --- /dev/null +++ b/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.pbxuser @@ -0,0 +1,236 @@ +// !$*UTF8*$! +{ + 08FB7793FE84155DC02AAC07 /* Project object */ = { + activeArchitecture = i386; + activeBuildConfigurationName = Release; + activeExecutable = 63F921E40DC4909A0056EA77 /* dmg */; + activeTarget = 637FAC690DC4958E00D1D35F /* all */; + addToTargets = ( + 63F921E20DC4909A0056EA77 /* dmg */, + ); + codeSenseManager = 63F91F970DC48F810056EA77 /* Code sense */; + executables = ( + 63F921E40DC4909A0056EA77 /* dmg */, + 63F9226F0DC493710056EA77 /* hfsplus */, + ); + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; + PBXFileTableDataSourceColumnWidthsKey = ( + 22, + 300, + 161, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXExecutablesDataSource_ActiveFlagID, + PBXExecutablesDataSource_NameID, + PBXExecutablesDataSource_CommentsID, + ); + }; + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 273, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 233, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 230991082; + PBXWorkspaceStateSaveDate = 230991082; + }; + perUserProjectItems = { + 63DCCB0C0DC49C00005D833C = 63DCCB0C0DC49C00005D833C /* PBXBookmark */; + 63DCCB0F0DC49C84005D833C = 63DCCB0F0DC49C84005D833C /* PBXTextBookmark */; + 63DCCB100DC49C84005D833C = 63DCCB100DC49C84005D833C /* PBXTextBookmark */; + 63EFCCEB0DC49BA00031F8B4 = 63EFCCEB0DC49BA00031F8B4 /* PBXTextBookmark */; + }; + sourceControlManager = 63F91F960DC48F810056EA77 /* Source Control */; + userBuildSettings = { + }; + }; + 637FAC690DC4958E00D1D35F /* all */ = { + activeExec = 0; + }; + 63DCCB0C0DC49C00005D833C /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 63F920CB0DC48FFC0056EA77 /* filevault.c */; + }; + 63DCCB0F0DC49C84005D833C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63F920CB0DC48FFC0056EA77 /* filevault.c */; + name = "filevault.c: 57"; + rLen = 0; + rLoc = 1569; + rType = 0; + vrLen = 1579; + vrLoc = 2111; + }; + 63DCCB100DC49C84005D833C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63F920D20DC48FFC0056EA77 /* zconf.h */; + name = "zconf.h: 293"; + rLen = 0; + rLoc = 8494; + rType = 0; + vrLen = 1270; + vrLoc = 7662; + }; + 63EFCCEB0DC49BA00031F8B4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63F920D20DC48FFC0056EA77 /* zconf.h */; + name = "zconf.h: 293"; + rLen = 0; + rLoc = 8494; + rType = 0; + vrLen = 1277; + vrLoc = 7655; + }; + 63F91F960DC48F810056EA77 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + }; + }; + 63F91F970DC48F810056EA77 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 63F920C60DC48FFC0056EA77 /* abstractfile.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {987, 2814}}"; + sepNavSelRange = "{3865, 0}"; + sepNavVisRange = "{3746, 310}"; + }; + }; + 63F920C90DC48FFC0056EA77 /* dmg.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1160, 8050}}"; + sepNavSelRange = "{14237, 0}"; + sepNavVisRange = "{14571, 1385}"; + sepNavWindowFrame = "{{15, 164}, {1150, 833}}"; + }; + }; + 63F920CB0DC48FFC0056EA77 /* filevault.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1091, 3598}}"; + sepNavSelRange = "{1569, 0}"; + sepNavVisRange = "{2111, 1571}"; + sepNavWindowFrame = "{{15, 164}, {1150, 833}}"; + }; + }; + 63F920CC0DC48FFC0056EA77 /* filevault.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1091, 1316}}"; + sepNavSelRange = "{617, 0}"; + sepNavVisRange = "{0, 1267}"; + sepNavWindowFrame = "{{38, 143}, {1150, 833}}"; + }; + }; + 63F920D20DC48FFC0056EA77 /* zconf.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1091, 4648}}"; + sepNavSelRange = "{8494, 0}"; + sepNavVisRange = "{7584, 1304}"; + sepNavWindowFrame = "{{15, 164}, {1150, 833}}"; + }; + }; + 63F921E20DC4909A0056EA77 /* dmg */ = { + activeExec = 0; + executables = ( + 63F921E40DC4909A0056EA77 /* dmg */, + ); + }; + 63F921E40DC4909A0056EA77 /* dmg */ = { + isa = PBXExecutable; + activeArgIndices = ( + ); + argumentStrings = ( + ); + autoAttachOnCrash = 1; + breakpointsEnabled = 1; + configStateDict = { + }; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + enableDebugStr = 1; + environmentEntries = ( + ); + executableSystemSymbolLevel = 0; + executableUserSymbolLevel = 0; + libgmallocEnabled = 0; + name = dmg; + sourceDirectories = ( + ); + }; + 63F9222B0DC4922E0056EA77 /* z */ = { + activeExec = 0; + }; + 63F9226D0DC493710056EA77 /* hfsplus */ = { + activeExec = 0; + executables = ( + 63F9226F0DC493710056EA77 /* hfsplus */, + ); + }; + 63F9226F0DC493710056EA77 /* hfsplus */ = { + isa = PBXExecutable; + activeArgIndices = ( + ); + argumentStrings = ( + ); + autoAttachOnCrash = 1; + breakpointsEnabled = 1; + configStateDict = { + }; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + enableDebugStr = 1; + environmentEntries = ( + ); + executableSystemSymbolLevel = 0; + executableUserSymbolLevel = 0; + libgmallocEnabled = 0; + name = hfsplus; + sourceDirectories = ( + ); + }; +} diff --git a/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/project.pbxproj b/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/project.pbxproj new file mode 100644 index 000000000..f5e35484a --- /dev/null +++ b/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/project.pbxproj @@ -0,0 +1,649 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 44; + objects = { + +/* Begin PBXAggregateTarget section */ + 637FAC690DC4958E00D1D35F /* all */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 637FAC750DC495B900D1D35F /* Build configuration list for PBXAggregateTarget "all" */; + buildPhases = ( + ); + dependencies = ( + 637FAC6D0DC4959400D1D35F /* PBXTargetDependency */, + 637FAC6F0DC4959700D1D35F /* PBXTargetDependency */, + ); + name = all; + productName = all; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 63E264B70DC4A546004B29C4 /* dmgfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63E264B60DC4A546004B29C4 /* dmgfile.c */; }; + 63F921EA0DC490C20056EA77 /* abstractfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920C60DC48FFC0056EA77 /* abstractfile.c */; }; + 63F921EB0DC490C20056EA77 /* base64.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920C70DC48FFC0056EA77 /* base64.c */; }; + 63F921EC0DC490C20056EA77 /* checksum.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920C80DC48FFC0056EA77 /* checksum.c */; }; + 63F921ED0DC490C20056EA77 /* dmg.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920C90DC48FFC0056EA77 /* dmg.c */; }; + 63F921EE0DC490CA0056EA77 /* io.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920CD0DC48FFC0056EA77 /* io.c */; }; + 63F921EF0DC490CC0056EA77 /* filevault.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920CB0DC48FFC0056EA77 /* filevault.c */; }; + 63F921F00DC490D10056EA77 /* partition.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920CF0DC48FFC0056EA77 /* partition.c */; }; + 63F921F10DC490D10056EA77 /* resources.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920D00DC48FFC0056EA77 /* resources.c */; }; + 63F921F20DC490D10056EA77 /* udif.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920D10DC48FFC0056EA77 /* udif.c */; }; + 63F922310DC4923E0056EA77 /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63F9222C0DC4922E0056EA77 /* libz.a */; }; + 63F922320DC4924A0056EA77 /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920D40DC48FFC0056EA77 /* adler32.c */; }; + 63F922330DC4924A0056EA77 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920DF0DC48FFC0056EA77 /* compress.c */; }; + 63F922340DC4924A0056EA77 /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921750DC48FFC0056EA77 /* crc32.c */; }; + 63F922360DC4924A0056EA77 /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921770DC48FFC0056EA77 /* deflate.c */; }; + 63F922380DC4924A0056EA77 /* example.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921790DC48FFC0056EA77 /* example.c */; }; + 63F922390DC4924A0056EA77 /* gzio.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921860DC48FFC0056EA77 /* gzio.c */; }; + 63F9223A0DC4924A0056EA77 /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921880DC48FFC0056EA77 /* infback.c */; }; + 63F9223B0DC4924A0056EA77 /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921890DC48FFC0056EA77 /* inffast.c */; }; + 63F9223E0DC4924A0056EA77 /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F9218C0DC48FFC0056EA77 /* inflate.c */; }; + 63F922400DC4924A0056EA77 /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F9218E0DC48FFC0056EA77 /* inftrees.c */; }; + 63F922430DC4924A0056EA77 /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921AD0DC48FFC0056EA77 /* trees.c */; }; + 63F922450DC4924A0056EA77 /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921AF0DC48FFC0056EA77 /* uncompr.c */; }; + 63F922490DC4924A0056EA77 /* ztest4484.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921BD0DC48FFC0056EA77 /* ztest4484.c */; }; + 63F9224A0DC4924A0056EA77 /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921BE0DC48FFC0056EA77 /* zutil.c */; }; + 63F922540DC4929A0056EA77 /* btree.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C20DC4900E0056EA77 /* btree.c */; }; + 63F922550DC4929A0056EA77 /* catalog.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C30DC4900E0056EA77 /* catalog.c */; }; + 63F922560DC4929A0056EA77 /* extents.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C50DC4900E0056EA77 /* extents.c */; }; + 63F922570DC4929A0056EA77 /* flatfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C60DC4900E0056EA77 /* flatfile.c */; }; + 63F922590DC4929A0056EA77 /* rawfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CA0DC4900E0056EA77 /* rawfile.c */; }; + 63F9225A0DC4929A0056EA77 /* utility.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CB0DC4900E0056EA77 /* utility.c */; }; + 63F9225B0DC4929A0056EA77 /* volume.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CC0DC4900E0056EA77 /* volume.c */; }; + 63F922720DC493800056EA77 /* btree.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C20DC4900E0056EA77 /* btree.c */; }; + 63F922730DC493800056EA77 /* catalog.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C30DC4900E0056EA77 /* catalog.c */; }; + 63F922750DC493800056EA77 /* extents.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C50DC4900E0056EA77 /* extents.c */; }; + 63F922760DC493800056EA77 /* flatfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C60DC4900E0056EA77 /* flatfile.c */; }; + 63F922770DC493800056EA77 /* hfs.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C70DC4900E0056EA77 /* hfs.c */; }; + 63F9227A0DC493800056EA77 /* rawfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CA0DC4900E0056EA77 /* rawfile.c */; }; + 63F9227B0DC493800056EA77 /* utility.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CB0DC4900E0056EA77 /* utility.c */; }; + 63F9227C0DC493800056EA77 /* volume.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CC0DC4900E0056EA77 /* volume.c */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 637FAC6C0DC4959400D1D35F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 63F9226D0DC493710056EA77; + remoteInfo = hfsplus; + }; + 637FAC6E0DC4959700D1D35F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 63F921E20DC4909A0056EA77; + remoteInfo = dmg; + }; + 63F9222F0DC4923A0056EA77 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 63F9222B0DC4922E0056EA77; + remoteInfo = z; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 63E264B50DC4A546004B29C4 /* dmgfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dmgfile.h; sourceTree = ""; }; + 63E264B60DC4A546004B29C4 /* dmgfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dmgfile.c; sourceTree = ""; }; + 63F920C60DC48FFC0056EA77 /* abstractfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = abstractfile.c; sourceTree = ""; }; + 63F920C70DC48FFC0056EA77 /* base64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = base64.c; sourceTree = ""; }; + 63F920C80DC48FFC0056EA77 /* checksum.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = checksum.c; sourceTree = ""; }; + 63F920C90DC48FFC0056EA77 /* dmg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dmg.c; sourceTree = ""; }; + 63F920CA0DC48FFC0056EA77 /* dmg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dmg.h; sourceTree = ""; }; + 63F920CB0DC48FFC0056EA77 /* filevault.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filevault.c; sourceTree = ""; }; + 63F920CC0DC48FFC0056EA77 /* filevault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filevault.h; sourceTree = ""; }; + 63F920CD0DC48FFC0056EA77 /* io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = io.c; sourceTree = ""; }; + 63F920CE0DC48FFC0056EA77 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + 63F920CF0DC48FFC0056EA77 /* partition.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = partition.c; sourceTree = ""; }; + 63F920D00DC48FFC0056EA77 /* resources.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resources.c; sourceTree = ""; }; + 63F920D10DC48FFC0056EA77 /* udif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = udif.c; sourceTree = ""; }; + 63F920D20DC48FFC0056EA77 /* zconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zconf.h; sourceTree = ""; }; + 63F920D40DC48FFC0056EA77 /* adler32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = adler32.c; sourceTree = ""; }; + 63F920DF0DC48FFC0056EA77 /* compress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = ""; }; + 63F921750DC48FFC0056EA77 /* crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = ""; }; + 63F921760DC48FFC0056EA77 /* crc32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crc32.h; sourceTree = ""; }; + 63F921770DC48FFC0056EA77 /* deflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = deflate.c; sourceTree = ""; }; + 63F921780DC48FFC0056EA77 /* deflate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = deflate.h; sourceTree = ""; }; + 63F921790DC48FFC0056EA77 /* example.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = example.c; sourceTree = ""; }; + 63F921860DC48FFC0056EA77 /* gzio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzio.c; sourceTree = ""; }; + 63F921880DC48FFC0056EA77 /* infback.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = infback.c; sourceTree = ""; }; + 63F921890DC48FFC0056EA77 /* inffast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inffast.c; sourceTree = ""; }; + 63F9218A0DC48FFC0056EA77 /* inffast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inffast.h; sourceTree = ""; }; + 63F9218B0DC48FFC0056EA77 /* inffixed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inffixed.h; sourceTree = ""; }; + 63F9218C0DC48FFC0056EA77 /* inflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = ""; }; + 63F9218D0DC48FFC0056EA77 /* inflate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inflate.h; sourceTree = ""; }; + 63F9218E0DC48FFC0056EA77 /* inftrees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inftrees.c; sourceTree = ""; }; + 63F9218F0DC48FFC0056EA77 /* inftrees.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inftrees.h; sourceTree = ""; }; + 63F921910DC48FFC0056EA77 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; + 63F921AD0DC48FFC0056EA77 /* trees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = trees.c; sourceTree = ""; }; + 63F921AE0DC48FFC0056EA77 /* trees.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = trees.h; sourceTree = ""; }; + 63F921AF0DC48FFC0056EA77 /* uncompr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uncompr.c; sourceTree = ""; }; + 63F921B90DC48FFC0056EA77 /* zconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zconf.h; sourceTree = ""; }; + 63F921BA0DC48FFC0056EA77 /* zconf.in.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zconf.in.h; sourceTree = ""; }; + 63F921BC0DC48FFC0056EA77 /* zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = ""; }; + 63F921BD0DC48FFC0056EA77 /* ztest4484.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ztest4484.c; sourceTree = ""; }; + 63F921BE0DC48FFC0056EA77 /* zutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zutil.c; sourceTree = ""; }; + 63F921BF0DC48FFC0056EA77 /* zutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zutil.h; sourceTree = ""; }; + 63F921C00DC48FFC0056EA77 /* zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = ""; }; + 63F921C20DC4900E0056EA77 /* btree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = btree.c; sourceTree = ""; }; + 63F921C30DC4900E0056EA77 /* catalog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = catalog.c; sourceTree = ""; }; + 63F921C40DC4900E0056EA77 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + 63F921C50DC4900E0056EA77 /* extents.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = extents.c; sourceTree = ""; }; + 63F921C60DC4900E0056EA77 /* flatfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = flatfile.c; sourceTree = ""; }; + 63F921C70DC4900E0056EA77 /* hfs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hfs.c; sourceTree = ""; }; + 63F921C80DC4900E0056EA77 /* hfsplus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hfsplus.h; sourceTree = ""; }; + 63F921C90DC4900E0056EA77 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + 63F921CA0DC4900E0056EA77 /* rawfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rawfile.c; sourceTree = ""; }; + 63F921CB0DC4900E0056EA77 /* utility.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utility.c; sourceTree = ""; }; + 63F921CC0DC4900E0056EA77 /* volume.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = volume.c; sourceTree = ""; }; + 63F921E30DC4909A0056EA77 /* dmg */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dmg; sourceTree = BUILT_PRODUCTS_DIR; }; + 63F9222C0DC4922E0056EA77 /* libz.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libz.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 63F9226E0DC493710056EA77 /* hfsplus */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = hfsplus; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 63F921E10DC4909A0056EA77 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 63F922310DC4923E0056EA77 /* libz.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63F9222A0DC4922E0056EA77 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63F9226C0DC493710056EA77 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 08FB7794FE84155DC02AAC07 /* libdmg-hfsplus */ = { + isa = PBXGroup; + children = ( + 08FB7795FE84155DC02AAC07 /* Source */, + C6A0FF2B0290797F04C91782 /* Documentation */, + 1AB674ADFE9D54B511CA2CBB /* Products */, + ); + name = "libdmg-hfsplus"; + sourceTree = ""; + }; + 08FB7795FE84155DC02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 63F921C10DC4900E0056EA77 /* hfs */, + 63F920C50DC48FFC0056EA77 /* dmg */, + ); + name = Source; + sourceTree = ""; + }; + 1AB674ADFE9D54B511CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 63F921E30DC4909A0056EA77 /* dmg */, + 63F9222C0DC4922E0056EA77 /* libz.a */, + 63F9226E0DC493710056EA77 /* hfsplus */, + ); + name = Products; + sourceTree = ""; + }; + 63F920C50DC48FFC0056EA77 /* dmg */ = { + isa = PBXGroup; + children = ( + 63F920C60DC48FFC0056EA77 /* abstractfile.c */, + 63F920C70DC48FFC0056EA77 /* base64.c */, + 63F920C80DC48FFC0056EA77 /* checksum.c */, + 63F920C90DC48FFC0056EA77 /* dmg.c */, + 63F920CA0DC48FFC0056EA77 /* dmg.h */, + 63F920CB0DC48FFC0056EA77 /* filevault.c */, + 63F920CC0DC48FFC0056EA77 /* filevault.h */, + 63F920CD0DC48FFC0056EA77 /* io.c */, + 63F920CE0DC48FFC0056EA77 /* Makefile */, + 63F920CF0DC48FFC0056EA77 /* partition.c */, + 63F920D00DC48FFC0056EA77 /* resources.c */, + 63F920D10DC48FFC0056EA77 /* udif.c */, + 63F920D20DC48FFC0056EA77 /* zconf.h */, + 63F920D30DC48FFC0056EA77 /* zlib-1.2.3 */, + 63F921C00DC48FFC0056EA77 /* zlib.h */, + 63E264B50DC4A546004B29C4 /* dmgfile.h */, + 63E264B60DC4A546004B29C4 /* dmgfile.c */, + ); + name = dmg; + path = ../../dmg; + sourceTree = SOURCE_ROOT; + }; + 63F920D30DC48FFC0056EA77 /* zlib-1.2.3 */ = { + isa = PBXGroup; + children = ( + 63F920D40DC48FFC0056EA77 /* adler32.c */, + 63F920DF0DC48FFC0056EA77 /* compress.c */, + 63F921750DC48FFC0056EA77 /* crc32.c */, + 63F921760DC48FFC0056EA77 /* crc32.h */, + 63F921770DC48FFC0056EA77 /* deflate.c */, + 63F921780DC48FFC0056EA77 /* deflate.h */, + 63F921790DC48FFC0056EA77 /* example.c */, + 63F921860DC48FFC0056EA77 /* gzio.c */, + 63F921880DC48FFC0056EA77 /* infback.c */, + 63F921890DC48FFC0056EA77 /* inffast.c */, + 63F9218A0DC48FFC0056EA77 /* inffast.h */, + 63F9218B0DC48FFC0056EA77 /* inffixed.h */, + 63F9218C0DC48FFC0056EA77 /* inflate.c */, + 63F9218D0DC48FFC0056EA77 /* inflate.h */, + 63F9218E0DC48FFC0056EA77 /* inftrees.c */, + 63F9218F0DC48FFC0056EA77 /* inftrees.h */, + 63F921910DC48FFC0056EA77 /* Makefile.in */, + 63F921AD0DC48FFC0056EA77 /* trees.c */, + 63F921AE0DC48FFC0056EA77 /* trees.h */, + 63F921AF0DC48FFC0056EA77 /* uncompr.c */, + 63F921B90DC48FFC0056EA77 /* zconf.h */, + 63F921BA0DC48FFC0056EA77 /* zconf.in.h */, + 63F921BC0DC48FFC0056EA77 /* zlib.h */, + 63F921BD0DC48FFC0056EA77 /* ztest4484.c */, + 63F921BE0DC48FFC0056EA77 /* zutil.c */, + 63F921BF0DC48FFC0056EA77 /* zutil.h */, + ); + path = "zlib-1.2.3"; + sourceTree = ""; + }; + 63F921C10DC4900E0056EA77 /* hfs */ = { + isa = PBXGroup; + children = ( + 63F921C20DC4900E0056EA77 /* btree.c */, + 63F921C30DC4900E0056EA77 /* catalog.c */, + 63F921C40DC4900E0056EA77 /* common.h */, + 63F921C50DC4900E0056EA77 /* extents.c */, + 63F921C60DC4900E0056EA77 /* flatfile.c */, + 63F921C70DC4900E0056EA77 /* hfs.c */, + 63F921C80DC4900E0056EA77 /* hfsplus.h */, + 63F921C90DC4900E0056EA77 /* Makefile */, + 63F921CA0DC4900E0056EA77 /* rawfile.c */, + 63F921CB0DC4900E0056EA77 /* utility.c */, + 63F921CC0DC4900E0056EA77 /* volume.c */, + ); + name = hfs; + path = ../../hfs; + sourceTree = SOURCE_ROOT; + }; + C6A0FF2B0290797F04C91782 /* Documentation */ = { + isa = PBXGroup; + children = ( + ); + name = Documentation; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 63F922280DC4922E0056EA77 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 63F921E20DC4909A0056EA77 /* dmg */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63F921E80DC490B30056EA77 /* Build configuration list for PBXNativeTarget "dmg" */; + buildPhases = ( + 63F921E00DC4909A0056EA77 /* Sources */, + 63F921E10DC4909A0056EA77 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 63F922300DC4923A0056EA77 /* PBXTargetDependency */, + ); + name = dmg; + productName = dmg; + productReference = 63F921E30DC4909A0056EA77 /* dmg */; + productType = "com.apple.product-type.tool"; + }; + 63F9222B0DC4922E0056EA77 /* z */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63F922530DC4928A0056EA77 /* Build configuration list for PBXNativeTarget "z" */; + buildPhases = ( + 63F922280DC4922E0056EA77 /* Headers */, + 63F922290DC4922E0056EA77 /* Sources */, + 63F9222A0DC4922E0056EA77 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = z; + productName = z; + productReference = 63F9222C0DC4922E0056EA77 /* libz.a */; + productType = "com.apple.product-type.library.static"; + }; + 63F9226D0DC493710056EA77 /* hfsplus */ = { + isa = PBXNativeTarget; + buildConfigurationList = 63F9227F0DC493940056EA77 /* Build configuration list for PBXNativeTarget "hfsplus" */; + buildPhases = ( + 63F9226B0DC493710056EA77 /* Sources */, + 63F9226C0DC493710056EA77 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = hfsplus; + productName = hfsplus; + productReference = 63F9226E0DC493710056EA77 /* hfsplus */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 08FB7793FE84155DC02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "libdmg-hfsplus" */; + compatibilityVersion = "Xcode 3.0"; + hasScannedForEncodings = 1; + mainGroup = 08FB7794FE84155DC02AAC07 /* libdmg-hfsplus */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 637FAC690DC4958E00D1D35F /* all */, + 63F9226D0DC493710056EA77 /* hfsplus */, + 63F921E20DC4909A0056EA77 /* dmg */, + 63F9222B0DC4922E0056EA77 /* z */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 63F921E00DC4909A0056EA77 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63F922540DC4929A0056EA77 /* btree.c in Sources */, + 63F922550DC4929A0056EA77 /* catalog.c in Sources */, + 63F922560DC4929A0056EA77 /* extents.c in Sources */, + 63F922570DC4929A0056EA77 /* flatfile.c in Sources */, + 63F922590DC4929A0056EA77 /* rawfile.c in Sources */, + 63F9225A0DC4929A0056EA77 /* utility.c in Sources */, + 63F9225B0DC4929A0056EA77 /* volume.c in Sources */, + 63F921EF0DC490CC0056EA77 /* filevault.c in Sources */, + 63F921F00DC490D10056EA77 /* partition.c in Sources */, + 63F921F10DC490D10056EA77 /* resources.c in Sources */, + 63F921F20DC490D10056EA77 /* udif.c in Sources */, + 63F921EA0DC490C20056EA77 /* abstractfile.c in Sources */, + 63F921EB0DC490C20056EA77 /* base64.c in Sources */, + 63F921EE0DC490CA0056EA77 /* io.c in Sources */, + 63F921EC0DC490C20056EA77 /* checksum.c in Sources */, + 63F921ED0DC490C20056EA77 /* dmg.c in Sources */, + 63E264B70DC4A546004B29C4 /* dmgfile.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63F922290DC4922E0056EA77 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63F922320DC4924A0056EA77 /* adler32.c in Sources */, + 63F922330DC4924A0056EA77 /* compress.c in Sources */, + 63F922340DC4924A0056EA77 /* crc32.c in Sources */, + 63F922360DC4924A0056EA77 /* deflate.c in Sources */, + 63F922380DC4924A0056EA77 /* example.c in Sources */, + 63F922390DC4924A0056EA77 /* gzio.c in Sources */, + 63F9223A0DC4924A0056EA77 /* infback.c in Sources */, + 63F9223B0DC4924A0056EA77 /* inffast.c in Sources */, + 63F9223E0DC4924A0056EA77 /* inflate.c in Sources */, + 63F922400DC4924A0056EA77 /* inftrees.c in Sources */, + 63F922430DC4924A0056EA77 /* trees.c in Sources */, + 63F922450DC4924A0056EA77 /* uncompr.c in Sources */, + 63F922490DC4924A0056EA77 /* ztest4484.c in Sources */, + 63F9224A0DC4924A0056EA77 /* zutil.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 63F9226B0DC493710056EA77 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 63F922720DC493800056EA77 /* btree.c in Sources */, + 63F922730DC493800056EA77 /* catalog.c in Sources */, + 63F922750DC493800056EA77 /* extents.c in Sources */, + 63F922760DC493800056EA77 /* flatfile.c in Sources */, + 63F922770DC493800056EA77 /* hfs.c in Sources */, + 63F9227A0DC493800056EA77 /* rawfile.c in Sources */, + 63F9227B0DC493800056EA77 /* utility.c in Sources */, + 63F9227C0DC493800056EA77 /* volume.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 637FAC6D0DC4959400D1D35F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 63F9226D0DC493710056EA77 /* hfsplus */; + targetProxy = 637FAC6C0DC4959400D1D35F /* PBXContainerItemProxy */; + }; + 637FAC6F0DC4959700D1D35F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 63F921E20DC4909A0056EA77 /* dmg */; + targetProxy = 637FAC6E0DC4959700D1D35F /* PBXContainerItemProxy */; + }; + 63F922300DC4923A0056EA77 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 63F9222B0DC4922E0056EA77 /* z */; + targetProxy = 63F9222F0DC4923A0056EA77 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 1DEB928A08733DD80010E9CD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; + }; + name = Debug; + }; + 1DEB928B08733DD80010E9CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; + }; + name = Release; + }; + 637FAC6A0DC4958E00D1D35F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + PRODUCT_NAME = all; + }; + name = Debug; + }; + 637FAC6B0DC4958E00D1D35F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + PRODUCT_NAME = all; + ZERO_LINK = NO; + }; + name = Release; + }; + 63F921E50DC4909B0056EA77 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/local/bin; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/build/Release\"", + ); + OTHER_CFLAGS = "-DHAVE_CRYPT"; + OTHER_LDFLAGS = "-lcrypto"; + PREBINDING = NO; + PRODUCT_NAME = dmg; + ZERO_LINK = YES; + }; + name = Debug; + }; + 63F921E60DC4909B0056EA77 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + INSTALL_PATH = /usr/local/bin; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/build/Release\"", + ); + OTHER_CFLAGS = "-DHAVE_CRYPT"; + OTHER_LDFLAGS = "-lcrypto"; + PREBINDING = NO; + PRODUCT_NAME = dmg; + ZERO_LINK = NO; + }; + name = Release; + }; + 63F9222D0DC4922E0056EA77 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/local/lib; + PREBINDING = NO; + PRODUCT_NAME = z; + ZERO_LINK = YES; + }; + name = Debug; + }; + 63F9222E0DC4922E0056EA77 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + INSTALL_PATH = /usr/local/lib; + PREBINDING = NO; + PRODUCT_NAME = z; + ZERO_LINK = NO; + }; + name = Release; + }; + 63F922700DC493720056EA77 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/local/bin; + PREBINDING = NO; + PRODUCT_NAME = hfsplus; + ZERO_LINK = YES; + }; + name = Debug; + }; + 63F922710DC493720056EA77 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + INSTALL_PATH = /usr/local/bin; + PREBINDING = NO; + PRODUCT_NAME = hfsplus; + ZERO_LINK = NO; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "libdmg-hfsplus" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB928A08733DD80010E9CD /* Debug */, + 1DEB928B08733DD80010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 637FAC750DC495B900D1D35F /* Build configuration list for PBXAggregateTarget "all" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 637FAC6A0DC4958E00D1D35F /* Debug */, + 637FAC6B0DC4958E00D1D35F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63F921E80DC490B30056EA77 /* Build configuration list for PBXNativeTarget "dmg" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63F921E50DC4909B0056EA77 /* Debug */, + 63F921E60DC4909B0056EA77 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63F922530DC4928A0056EA77 /* Build configuration list for PBXNativeTarget "z" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63F9222D0DC4922E0056EA77 /* Debug */, + 63F9222E0DC4922E0056EA77 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 63F9227F0DC493940056EA77 /* Build configuration list for PBXNativeTarget "hfsplus" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 63F922700DC493720056EA77 /* Debug */, + 63F922710DC493720056EA77 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; +} diff --git a/3rdparty/libdmg-hfsplus/includes/abstractfile.h b/3rdparty/libdmg-hfsplus/includes/abstractfile.h new file mode 100644 index 000000000..16bfd90d5 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/includes/abstractfile.h @@ -0,0 +1,75 @@ +#ifndef ABSTRACTFILE_H +#define ABSTRACTFILE_H + +#include "common.h" +#include + +typedef struct AbstractFile AbstractFile; +typedef struct AbstractFile2 AbstractFile2; + +typedef size_t (*WriteFunc)(AbstractFile* file, const void* data, size_t len); +typedef size_t (*ReadFunc)(AbstractFile* file, void* data, size_t len); +typedef int (*SeekFunc)(AbstractFile* file, off_t offset); +typedef off_t (*TellFunc)(AbstractFile* file); +typedef void (*CloseFunc)(AbstractFile* file); +typedef off_t (*GetLengthFunc)(AbstractFile* file); +typedef void (*SetKeyFunc)(AbstractFile2* file, const unsigned int* key, const unsigned int* iv); + +typedef enum AbstractFileType { + AbstractFileTypeFile, + AbstractFileType8900, + AbstractFileTypeImg2, + AbstractFileTypeImg3, + AbstractFileTypeLZSS, + AbstractFileTypeIBootIM, + AbstractFileTypeMem, + AbstractFileTypeMemFile, + AbstractFileTypeDummy +} AbstractFileType; + +struct AbstractFile { + void* data; + WriteFunc write; + ReadFunc read; + SeekFunc seek; + TellFunc tell; + GetLengthFunc getLength; + CloseFunc close; + AbstractFileType type; +}; + +struct AbstractFile2 { + AbstractFile super; + SetKeyFunc setKey; +}; + + +typedef struct { + size_t offset; + void** buffer; + size_t bufferSize; +} MemWrapperInfo; + +typedef struct { + size_t offset; + void** buffer; + size_t* bufferSize; + size_t actualBufferSize; +} MemFileWrapperInfo; + +#ifdef __cplusplus +extern "C" { +#endif + AbstractFile* createAbstractFileFromFile(FILE* file); + AbstractFile* createAbstractFileFromDummy(); + AbstractFile* createAbstractFileFromMemory(void** buffer, size_t size); + AbstractFile* createAbstractFileFromMemoryFile(void** buffer, size_t* size); + AbstractFile* createAbstractFileFromMemoryFileBuffer(void** buffer, size_t* size, size_t actualBufferSize); + void abstractFilePrint(AbstractFile* file, const char* format, ...); + io_func* IOFuncFromAbstractFile(AbstractFile* file); +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/3rdparty/libdmg-hfsplus/includes/common.h b/3rdparty/libdmg-hfsplus/includes/common.h new file mode 100644 index 000000000..39026088e --- /dev/null +++ b/3rdparty/libdmg-hfsplus/includes/common.h @@ -0,0 +1,102 @@ +#ifndef COMMON_H +#define COMMON_H + +#include +#include +#include +#include +#include + +#ifdef WIN32 +#define fseeko fseeko64 +#define ftello ftello64 +#define off_t off64_t +#define mkdir(x, y) mkdir(x) +#define PATH_SEPARATOR "\\" +#else +#define PATH_SEPARATOR "/" +#endif + +#define TRUE 1 +#define FALSE 0 + +#define FLIPENDIAN(x) flipEndian((unsigned char *)(&(x)), sizeof(x)) +#define FLIPENDIANLE(x) flipEndianLE((unsigned char *)(&(x)), sizeof(x)) + +#define IS_BIG_ENDIAN 0 +#define IS_LITTLE_ENDIAN 1 + +#define TIME_OFFSET_FROM_UNIX 2082844800L +#define APPLE_TO_UNIX_TIME(x) ((x) - TIME_OFFSET_FROM_UNIX) +#define UNIX_TO_APPLE_TIME(x) ((x) + TIME_OFFSET_FROM_UNIX) + +#define ASSERT(x, m) if(!(x)) { fflush(stdout); fprintf(stderr, "error: %s\n", m); perror("error"); fflush(stderr); exit(1); } + +extern char endianness; + +static inline void flipEndian(unsigned char* x, int length) { + int i; + unsigned char tmp; + + if(endianness == IS_BIG_ENDIAN) { + return; + } else { + for(i = 0; i < (length / 2); i++) { + tmp = x[i]; + x[i] = x[length - i - 1]; + x[length - i - 1] = tmp; + } + } +} + +static inline void flipEndianLE(unsigned char* x, int length) { + int i; + unsigned char tmp; + + if(endianness == IS_LITTLE_ENDIAN) { + return; + } else { + for(i = 0; i < (length / 2); i++) { + tmp = x[i]; + x[i] = x[length - i - 1]; + x[length - i - 1] = tmp; + } + } +} + +static inline void hexToBytes(const char* hex, uint8_t** buffer, size_t* bytes) { + *bytes = strlen(hex) / 2; + *buffer = (uint8_t*) malloc(*bytes); + size_t i; + for(i = 0; i < *bytes; i++) { + uint32_t byte; + sscanf(hex, "%2x", &byte); + (*buffer)[i] = byte; + hex += 2; + } +} + +static inline void hexToInts(const char* hex, unsigned int** buffer, size_t* bytes) { + *bytes = strlen(hex) / 2; + *buffer = (unsigned int*) malloc((*bytes) * sizeof(int)); + size_t i; + for(i = 0; i < *bytes; i++) { + sscanf(hex, "%2x", &((*buffer)[i])); + hex += 2; + } +} + +struct io_func_struct; + +typedef int (*readFunc)(struct io_func_struct* io, off_t location, size_t size, void *buffer); +typedef int (*writeFunc)(struct io_func_struct* io, off_t location, size_t size, void *buffer); +typedef void (*closeFunc)(struct io_func_struct* io); + +typedef struct io_func_struct { + void* data; + readFunc read; + writeFunc write; + closeFunc close; +} io_func; + +#endif diff --git a/3rdparty/libdmg-hfsplus/includes/dmg/adc.h b/3rdparty/libdmg-hfsplus/includes/dmg/adc.h new file mode 100644 index 000000000..3139d8871 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/includes/dmg/adc.h @@ -0,0 +1,15 @@ +#include +#include + +#define ADC_PLAIN 0x01 +#define ADC_2BYTE 0x02 +#define ADC_3BYTE 0x03 + +#define bool short +#define true 1 +#define false 0 + +size_t adc_decompress(size_t in_size, unsigned char *input, size_t avail_size, unsigned char *output, size_t *bytes_written); +int adc_chunk_type(char _byte); +int adc_chunk_size(char _byte); +int adc_chunk_offset(unsigned char *chunk_start); diff --git a/3rdparty/libdmg-hfsplus/includes/dmg/dmg.h b/3rdparty/libdmg-hfsplus/includes/dmg/dmg.h new file mode 100644 index 000000000..21420759a --- /dev/null +++ b/3rdparty/libdmg-hfsplus/includes/dmg/dmg.h @@ -0,0 +1,344 @@ +#ifndef DMG_H +#define DMG_H + +#include +#include +#include + +#include +#include "abstractfile.h" + +#define CHECKSUM_CRC32 0x00000002 +#define CHECKSUM_MKBLOCK 0x0002 +#define CHECKSUM_NONE 0x0000 + +#define BLOCK_ZLIB 0x80000005 +#define BLOCK_ADC 0x80000004 +#define BLOCK_RAW 0x00000001 +#define BLOCK_IGNORE 0x00000002 +#define BLOCK_COMMENT 0x7FFFFFFE +#define BLOCK_TERMINATOR 0xFFFFFFFF + +#define SECTOR_SIZE 512 + +#define DRIVER_DESCRIPTOR_SIGNATURE 0x4552 +#define APPLE_PARTITION_MAP_SIGNATURE 0x504D +#define UDIF_BLOCK_SIGNATURE 0x6D697368 +#define KOLY_SIGNATURE 0x6B6F6C79 +#define HFSX_SIGNATURE 0x4858 + +#define ATTRIBUTE_HDIUTIL 0x0050 + +#define HFSX_VOLUME_TYPE "Apple_HFSX" + +#define DDM_SIZE 0x1 +#define PARTITION_SIZE 0x3f +#define ATAPI_SIZE 0x8 +#define FREE_SIZE 0xa +#define EXTRA_SIZE (DDM_SIZE + PARTITION_SIZE + ATAPI_SIZE + FREE_SIZE) + +#define DDM_OFFSET 0x0 +#define PARTITION_OFFSET (DDM_SIZE) +#define ATAPI_OFFSET (DDM_SIZE + PARTITION_SIZE) +#define USER_OFFSET (DDM_SIZE + PARTITION_SIZE + ATAPI_SIZE) + +#define BOOTCODE_DMMY 0x444D4D59 +#define BOOTCODE_GOON 0x676F6F6E + +enum { + kUDIFFlagsFlattened = 1 +}; + +enum { + kUDIFDeviceImageType = 1, + kUDIFPartitionImageType = 2 +}; + +typedef struct { + uint32_t type; + uint32_t size; + uint32_t data[0x20]; +} __attribute__((__packed__)) UDIFChecksum; + +typedef struct { + uint32_t data1; /* smallest */ + uint32_t data2; + uint32_t data3; + uint32_t data4; /* largest */ +} __attribute__((__packed__)) UDIFID; + +typedef struct { + uint32_t fUDIFSignature; + uint32_t fUDIFVersion; + uint32_t fUDIFHeaderSize; + uint32_t fUDIFFlags; + + uint64_t fUDIFRunningDataForkOffset; + uint64_t fUDIFDataForkOffset; + uint64_t fUDIFDataForkLength; + uint64_t fUDIFRsrcForkOffset; + uint64_t fUDIFRsrcForkLength; + + uint32_t fUDIFSegmentNumber; + uint32_t fUDIFSegmentCount; + UDIFID fUDIFSegmentID; /* a 128-bit number like a GUID, but does not seem to be a OSF GUID, since it doesn't have the proper versioning byte */ + + UDIFChecksum fUDIFDataForkChecksum; + + uint64_t fUDIFXMLOffset; + uint64_t fUDIFXMLLength; + + uint8_t reserved1[0x78]; /* this is actually the perfect amount of space to store every thing in this struct until the checksum */ + + UDIFChecksum fUDIFMasterChecksum; + + uint32_t fUDIFImageVariant; + uint64_t fUDIFSectorCount; + + uint32_t reserved2; + uint32_t reserved3; + uint32_t reserved4; + +} __attribute__((__packed__)) UDIFResourceFile; + +typedef struct { + uint32_t type; + uint32_t reserved; + uint64_t sectorStart; + uint64_t sectorCount; + uint64_t compOffset; + uint64_t compLength; +} __attribute__((__packed__)) BLKXRun; + +typedef struct { + uint16_t version; /* set to 5 */ + uint32_t isHFS; /* first dword of v53(ImageInfoRec): Set to 1 if it's a HFS or HFS+ partition -- duh. */ + uint32_t unknown1; /* second dword of v53: seems to be garbage if it's HFS+, stuff related to HFS embedded if it's that*/ + uint8_t dataLen; /* length of data that proceeds, comes right before the data in ImageInfoRec. Always set to 0 for HFS, HFS+ */ + uint8_t data[255]; /* other data from v53, dataLen + 1 bytes, the rest NULL filled... a string? Not set for HFS, HFS+ */ + uint32_t unknown2; /* 8 bytes before volumeModified in v53, seems to be always set to 0 for HFS, HFS+ */ + uint32_t unknown3; /* 4 bytes before volumeModified in v53, seems to be always set to 0 for HFS, HFS+ */ + uint32_t volumeModified; /* offset 272 in v53 */ + uint32_t unknown4; /* always seems to be 0 for UDIF */ + uint16_t volumeSignature; /* HX in our case */ + uint16_t sizePresent; /* always set to 1 */ +} __attribute__((__packed__)) SizeResource; + +typedef struct { + uint16_t version; /* set to 1 */ + uint32_t type; /* set to 0x2 for MKBlockChecksum */ + uint32_t checksum; +} __attribute__((__packed__)) CSumResource; + +typedef struct NSizResource { + char isVolume; + unsigned char* sha1Digest; + uint32_t blockChecksum2; + uint32_t bytes; + uint32_t modifyDate; + uint32_t partitionNumber; + uint32_t version; + uint32_t volumeSignature; + struct NSizResource* next; +} NSizResource; + +#define DDM_DESCRIPTOR 0xFFFFFFFF +#define ENTIRE_DEVICE_DESCRIPTOR 0xFFFFFFFE + +typedef struct { + uint32_t fUDIFBlocksSignature; + uint32_t infoVersion; + uint64_t firstSectorNumber; + uint64_t sectorCount; + + uint64_t dataStart; + uint32_t decompressBufferRequested; + uint32_t blocksDescriptor; + + uint32_t reserved1; + uint32_t reserved2; + uint32_t reserved3; + uint32_t reserved4; + uint32_t reserved5; + uint32_t reserved6; + + UDIFChecksum checksum; + + uint32_t blocksRunCount; + BLKXRun runs[0]; +} __attribute__((__packed__)) BLKXTable; + +typedef struct { + uint32_t ddBlock; + uint16_t ddSize; + uint16_t ddType; +} __attribute__((__packed__)) DriverDescriptor; + +typedef struct { + uint16_t pmSig; + uint16_t pmSigPad; + uint32_t pmMapBlkCnt; + uint32_t pmPyPartStart; + uint32_t pmPartBlkCnt; + unsigned char pmPartName[32]; + unsigned char pmParType[32]; + uint32_t pmLgDataStart; + uint32_t pmDataCnt; + uint32_t pmPartStatus; + uint32_t pmLgBootStart; + uint32_t pmBootSize; + uint32_t pmBootAddr; + uint32_t pmBootAddr2; + uint32_t pmBootEntry; + uint32_t pmBootEntry2; + uint32_t pmBootCksum; + unsigned char pmProcessor[16]; + uint32_t bootCode; + uint16_t pmPad[186]; +} __attribute__((__packed__)) Partition; + +typedef struct { + uint16_t sbSig; + uint16_t sbBlkSize; + uint32_t sbBlkCount; + uint16_t sbDevType; + uint16_t sbDevId; + uint32_t sbData; + uint16_t sbDrvrCount; + uint32_t ddBlock; + uint16_t ddSize; + uint16_t ddType; + DriverDescriptor ddPad[0]; +} __attribute__((__packed__)) DriverDescriptorRecord; + +typedef struct ResourceData { + uint32_t attributes; + unsigned char* data; + size_t dataLength; + int id; + char* name; + struct ResourceData* next; +} ResourceData; + +typedef void (*FlipDataFunc)(unsigned char* data, char out); +typedef void (*ChecksumFunc)(void* ckSum, const unsigned char* data, size_t len); + +typedef struct ResourceKey { + unsigned char* key; + ResourceData* data; + struct ResourceKey* next; + FlipDataFunc flipData; +} ResourceKey; + +typedef struct { + unsigned long state[5]; + unsigned long count[2]; + unsigned char buffer[64]; +} SHA1_CTX; + +typedef struct { + uint32_t block; + uint32_t crc; + SHA1_CTX sha1; +} ChecksumToken; + +static inline uint32_t readUInt32(AbstractFile* file) { + uint32_t data; + + ASSERT(file->read(file, &data, sizeof(data)) == sizeof(data), "fread"); + FLIPENDIAN(data); + + return data; +} + +static inline void writeUInt32(AbstractFile* file, uint32_t data) { + FLIPENDIAN(data); + ASSERT(file->write(file, &data, sizeof(data)) == sizeof(data), "fwrite"); +} + +static inline uint32_t readUInt64(AbstractFile* file) { + uint64_t data; + + ASSERT(file->read(file, &data, sizeof(data)) == sizeof(data), "fread"); + FLIPENDIAN(data); + + return data; +} + +static inline void writeUInt64(AbstractFile* file, uint64_t data) { + FLIPENDIAN(data); + ASSERT(file->write(file, &data, sizeof(data)) == sizeof(data), "fwrite"); +} + +#ifdef __cplusplus +extern "C" { +#endif + unsigned char* decodeBase64(char* toDecode, size_t* dataLength); + void writeBase64(AbstractFile* file, unsigned char* data, size_t dataLength, int tabLength, int width); + char* convertBase64(unsigned char* data, size_t dataLength, int tabLength, int width); + + uint32_t CRC32Checksum(uint32_t* crc, const unsigned char *buf, size_t len); + uint32_t MKBlockChecksum(uint32_t* ckSum, const unsigned char* data, size_t len); + + void BlockSHA1CRC(void* token, const unsigned char* data, size_t len); + void BlockCRC(void* token, const unsigned char* data, size_t len); + void CRCProxy(void* token, const unsigned char* data, size_t len); + + void SHA1Transform(unsigned long state[5], const unsigned char buffer[64]); + void SHA1Init(SHA1_CTX* context); + void SHA1Update(SHA1_CTX* context, const unsigned char* data, unsigned int len); + void SHA1Final(unsigned char digest[20], SHA1_CTX* context); + + void flipUDIFChecksum(UDIFChecksum* o, char out); + void readUDIFChecksum(AbstractFile* file, UDIFChecksum* o); + void writeUDIFChecksum(AbstractFile* file, UDIFChecksum* o); + void readUDIFID(AbstractFile* file, UDIFID* o); + void writeUDIFID(AbstractFile* file, UDIFID* o); + void readUDIFResourceFile(AbstractFile* file, UDIFResourceFile* o); + void writeUDIFResourceFile(AbstractFile* file, UDIFResourceFile* o); + + ResourceKey* readResources(AbstractFile* file, UDIFResourceFile* resourceFile); + void writeResources(AbstractFile* file, ResourceKey* resources); + void releaseResources(ResourceKey* resources); + + NSizResource* readNSiz(ResourceKey* resources); + ResourceKey* writeNSiz(NSizResource* nSiz); + void releaseNSiz(NSizResource* nSiz); + + extern const char* plistHeader; + extern const char* plistFooter; + + ResourceKey* getResourceByKey(ResourceKey* resources, const char* key); + ResourceData* getDataByID(ResourceKey* resource, int id); + ResourceKey* insertData(ResourceKey* resources, const char* key, int id, const char* name, const char* data, size_t dataLength, uint32_t attributes); + ResourceKey* makePlst(); + ResourceKey* makeSize(HFSPlusVolumeHeader* volumeHeader); + + void flipDriverDescriptorRecord(DriverDescriptorRecord* record, char out); + void flipPartition(Partition* partition, char out, unsigned int BlockSize); + void flipPartitionMultiple(Partition* partition, char multiple, char out, unsigned int BlockSize); + + void readDriverDescriptorMap(AbstractFile* file, ResourceKey* resources); + DriverDescriptorRecord* createDriverDescriptorMap(uint32_t numSectors); + void writeDriverDescriptorMap(AbstractFile* file, DriverDescriptorRecord* DDM, ChecksumFunc dataForkChecksum, void* dataForkToken, ResourceKey **resources); + void readApplePartitionMap(AbstractFile* file, ResourceKey* resources, unsigned int BlockSize); + Partition* createApplePartitionMap(uint32_t numSectors, const char* volumeType); + void writeApplePartitionMap(AbstractFile* file, Partition* partitions, ChecksumFunc dataForkChecksum, void* dataForkToken, ResourceKey **resources, NSizResource** nsizIn); + void writeATAPI(AbstractFile* file, ChecksumFunc dataForkChecksum, void* dataForkToken, ResourceKey **resources, NSizResource** nsizIn); + void writeFreePartition(AbstractFile* outFile, uint32_t numSectors, ResourceKey** resources); + + void extractBLKX(AbstractFile* in, AbstractFile* out, BLKXTable* blkx); + BLKXTable* insertBLKX(AbstractFile* out, AbstractFile* in, uint32_t firstSectorNumber, uint32_t numSectors, uint32_t blocksDescriptor, + uint32_t checksumType, ChecksumFunc uncompressedChk, void* uncompressedChkToken, ChecksumFunc compressedChk, + void* compressedChkToken, Volume* volume); + + + int extractDmg(AbstractFile* abstractIn, AbstractFile* abstractOut, int partNum); + int buildDmg(AbstractFile* abstractIn, AbstractFile* abstractOut); + int convertToISO(AbstractFile* abstractIn, AbstractFile* abstractOut); + int convertToDMG(AbstractFile* abstractIn, AbstractFile* abstractOut); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/libdmg-hfsplus/includes/dmg/dmgfile.h b/3rdparty/libdmg-hfsplus/includes/dmg/dmgfile.h new file mode 100644 index 000000000..ed78dc6af --- /dev/null +++ b/3rdparty/libdmg-hfsplus/includes/dmg/dmgfile.h @@ -0,0 +1,21 @@ +/* + * dmgfile.h + * libdmg-hfsplus + * + */ + +#include + +io_func* openDmgFile(AbstractFile* dmg); +io_func* openDmgFilePartition(AbstractFile* dmg, int partition); + +typedef struct DMG { + AbstractFile* dmg; + ResourceKey* resources; + uint32_t numBLKX; + BLKXTable** blkx; + void* runData; + uint64_t runStart; + uint64_t runEnd; + uint64_t offset; +} DMG; diff --git a/3rdparty/libdmg-hfsplus/includes/dmg/dmglib.h b/3rdparty/libdmg-hfsplus/includes/dmg/dmglib.h new file mode 100644 index 000000000..aaf91ad16 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/includes/dmg/dmglib.h @@ -0,0 +1,19 @@ +#ifndef DMGLIB_H +#define DMGLIB_H + +#include +#include "abstractfile.h" + +#ifdef __cplusplus +extern "C" { +#endif + int extractDmg(AbstractFile* abstractIn, AbstractFile* abstractOut, int partNum); + int buildDmg(AbstractFile* abstractIn, AbstractFile* abstractOut); + + int convertToDMG(AbstractFile* abstractIn, AbstractFile* abstractOut); + int convertToISO(AbstractFile* abstractIn, AbstractFile* abstractOut); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/3rdparty/libdmg-hfsplus/includes/dmg/filevault.h b/3rdparty/libdmg-hfsplus/includes/dmg/filevault.h new file mode 100644 index 000000000..42cd0f43e --- /dev/null +++ b/3rdparty/libdmg-hfsplus/includes/dmg/filevault.h @@ -0,0 +1,98 @@ +#ifndef FILEVAULT_H +#define FILEVAULT_H + +#include +#include "dmg.h" + +#ifdef HAVE_CRYPT + +#include +#include + +#define FILEVAULT_CIPHER_KEY_LENGTH 16 +#define FILEVAULT_CIPHER_BLOCKSIZE 16 +#define FILEVAULT_CHUNK_SIZE 4096 +#define FILEVAULT_PBKDF2_ITER_COUNT 1000 +#define FILEVAULT_MSGDGST_LENGTH 20 + +/* + * Information about the FileVault format was yoinked from vfdecrypt, which was written by Ralf-Philipp Weinmann , + * Jacob Appelbaum , and Christian Fromme + */ + +#define FILEVAULT_V2_SIGNATURE 0x656e637263647361ULL + +typedef struct FileVaultV1Header { + uint8_t padding1[48]; + uint32_t kdfIterationCount; + uint32_t kdfSaltLen; + uint8_t kdfSalt[48]; + uint8_t unwrapIV[0x20]; + uint32_t wrappedAESKeyLen; + uint8_t wrappedAESKey[296]; + uint32_t wrappedHMACSHA1KeyLen; + uint8_t wrappedHMACSHA1Key[300]; + uint32_t integrityKeyLen; + uint8_t integrityKey[48]; + uint8_t padding2[484]; +} __attribute__((__packed__)) FileVaultV1Header; + +typedef struct FileVaultV2Header { + uint64_t signature; + uint32_t version; + uint32_t encIVSize; + uint32_t unk1; + uint32_t unk2; + uint32_t unk3; + uint32_t unk4; + uint32_t unk5; + UDIFID uuid; + uint32_t blockSize; + uint64_t dataSize; + uint64_t dataOffset; + uint8_t padding[0x260]; + uint32_t kdfAlgorithm; + uint32_t kdfPRNGAlgorithm; + uint32_t kdfIterationCount; + uint32_t kdfSaltLen; + uint8_t kdfSalt[0x20]; + uint32_t blobEncIVSize; + uint8_t blobEncIV[0x20]; + uint32_t blobEncKeyBits; + uint32_t blobEncAlgorithm; + uint32_t blobEncPadding; + uint32_t blobEncMode; + uint32_t encryptedKeyblobSize; + uint8_t encryptedKeyblob[0x30]; +} __attribute__((__packed__)) FileVaultV2Header; + +typedef struct FileVaultInfo { + union { + FileVaultV1Header v1; + FileVaultV2Header v2; + } header; + + uint8_t version; + uint64_t dataOffset; + uint64_t dataSize; + uint32_t blockSize; + + AbstractFile* file; + + HMAC_CTX hmacCTX; + AES_KEY aesKey; + AES_KEY aesEncKey; + + off_t offset; + + uint32_t curChunk; + unsigned char chunk[FILEVAULT_CHUNK_SIZE]; + + char dirty; + char headerDirty; +} FileVaultInfo; +#endif + +AbstractFile* createAbstractFileFromFileVault(AbstractFile* file, const char* key); + +#endif diff --git a/3rdparty/libdmg-hfsplus/includes/hfs/hfslib.h b/3rdparty/libdmg-hfsplus/includes/hfs/hfslib.h new file mode 100644 index 000000000..928e204fb --- /dev/null +++ b/3rdparty/libdmg-hfsplus/includes/hfs/hfslib.h @@ -0,0 +1,24 @@ +#include "common.h" +#include "hfsplus.h" +#include "abstractfile.h" + +#ifdef __cplusplus +extern "C" { +#endif + void writeToFile(HFSPlusCatalogFile* file, AbstractFile* output, Volume* volume); + void writeToHFSFile(HFSPlusCatalogFile* file, AbstractFile* input, Volume* volume); + void get_hfs(Volume* volume, const char* inFileName, AbstractFile* output); + int add_hfs(Volume* volume, AbstractFile* inFile, const char* outFileName); + void grow_hfs(Volume* volume, uint64_t newSize); + void removeAllInFolder(HFSCatalogNodeID folderID, Volume* volume, const char* parentName); + void addAllInFolder(HFSCatalogNodeID folderID, Volume* volume, const char* parentName); + void addall_hfs(Volume* volume, const char* dirToMerge, const char* dest); + void extractAllInFolder(HFSCatalogNodeID folderID, Volume* volume); + int copyAcrossVolumes(Volume* volume1, Volume* volume2, char* path1, char* path2); + + void hfs_untar(Volume* volume, AbstractFile* tarFile); + void hfs_ls(Volume* volume, const char* path); +#ifdef __cplusplus +} +#endif + diff --git a/3rdparty/libdmg-hfsplus/includes/hfs/hfsplus.h b/3rdparty/libdmg-hfsplus/includes/hfs/hfsplus.h new file mode 100644 index 000000000..68ca4dfe0 --- /dev/null +++ b/3rdparty/libdmg-hfsplus/includes/hfs/hfsplus.h @@ -0,0 +1,511 @@ +#ifndef HFSPLUS_H +#define HFSPLUS_H + +#include +#include +#include + + +#include "common.h" + +#define READ(a, b, c, d) ((*((a)->read))(a, b, c, d)) +#define WRITE(a, b, c, d) ((*((a)->write))(a, b, c, d)) +#define CLOSE(a) ((*((a)->close))(a)) +#define COMPARE(a, b, c) ((*((a)->compare))(b, c)) +#define READ_KEY(a, b, c) ((*((a)->keyRead))(b, c)) +#define WRITE_KEY(a, b, c, d) ((*((a)->keyWrite))(b, c, d)) +#define READ_DATA(a, b, c) ((*((a)->dataRead))(b, c)) + +struct BTKey { + uint16_t keyLength; + unsigned char data[0]; +} __attribute__((__packed__)); + +typedef struct BTKey BTKey; + +typedef BTKey* (*dataReadFunc)(off_t offset, struct io_func_struct* io); +typedef void (*keyPrintFunc)(BTKey* toPrint); +typedef int (*keyWriteFunc)(off_t offset, BTKey* toWrite, struct io_func_struct* io); +typedef int (*compareFunc)(BTKey* left, BTKey* right); + +typedef uint32_t HFSCatalogNodeID; + +enum { + kHFSRootParentID = 1, + kHFSRootFolderID = 2, + kHFSExtentsFileID = 3, + kHFSCatalogFileID = 4, + kHFSBadBlockFileID = 5, + kHFSAllocationFileID = 6, + kHFSStartupFileID = 7, + kHFSAttributesFileID = 8, + kHFSRepairCatalogFileID = 14, + kHFSBogusExtentFileID = 15, + kHFSFirstUserCatalogNodeID = 16 +}; + +#define STR_SIZE(str) (sizeof(uint16_t) + (sizeof(uint16_t) * (str).length)) + +struct HFSUniStr255 { + uint16_t length; + uint16_t unicode[255]; +} __attribute__((__packed__)); +typedef struct HFSUniStr255 HFSUniStr255; +typedef const HFSUniStr255 *ConstHFSUniStr255Param; + +struct HFSPlusExtentDescriptor { + uint32_t startBlock; + uint32_t blockCount; +} __attribute__((__packed__)); +typedef struct HFSPlusExtentDescriptor HFSPlusExtentDescriptor; + +typedef HFSPlusExtentDescriptor HFSPlusExtentRecord[8]; + +struct HFSPlusForkData { + uint64_t logicalSize; + uint32_t clumpSize; + uint32_t totalBlocks; + HFSPlusExtentRecord extents; +} __attribute__((__packed__)); +typedef struct HFSPlusForkData HFSPlusForkData; + +struct HFSPlusVolumeHeader { + uint16_t signature; + uint16_t version; + uint32_t attributes; + uint32_t lastMountedVersion; + uint32_t journalInfoBlock; + + uint32_t createDate; + uint32_t modifyDate; + uint32_t backupDate; + uint32_t checkedDate; + + uint32_t fileCount; + uint32_t folderCount; + + uint32_t blockSize; + uint32_t totalBlocks; + uint32_t freeBlocks; + + uint32_t nextAllocation; + uint32_t rsrcClumpSize; + uint32_t dataClumpSize; + HFSCatalogNodeID nextCatalogID; + + uint32_t writeCount; + uint64_t encodingsBitmap; + + uint32_t finderInfo[8]; + + HFSPlusForkData allocationFile; + HFSPlusForkData extentsFile; + HFSPlusForkData catalogFile; + HFSPlusForkData attributesFile; + HFSPlusForkData startupFile; +} __attribute__((__packed__)); +typedef struct HFSPlusVolumeHeader HFSPlusVolumeHeader; + +enum { + kBTLeafNode = -1, + kBTIndexNode = 0, + kBTHeaderNode = 1, + kBTMapNode = 2 +}; + +struct BTNodeDescriptor { + uint32_t fLink; + uint32_t bLink; + int8_t kind; + uint8_t height; + uint16_t numRecords; + uint16_t reserved; +} __attribute__((__packed__)); +typedef struct BTNodeDescriptor BTNodeDescriptor; + +#define kHFSCaseFolding 0xCF +#define kHFSBinaryCompare 0xBC + +struct BTHeaderRec { + uint16_t treeDepth; + uint32_t rootNode; + uint32_t leafRecords; + uint32_t firstLeafNode; + uint32_t lastLeafNode; + uint16_t nodeSize; + uint16_t maxKeyLength; + uint32_t totalNodes; + uint32_t freeNodes; + uint16_t reserved1; + uint32_t clumpSize; // misaligned + uint8_t btreeType; + uint8_t keyCompareType; + uint32_t attributes; // long aligned again + uint32_t reserved3[16]; +} __attribute__((__packed__)); +typedef struct BTHeaderRec BTHeaderRec; + +struct HFSPlusExtentKey { + uint16_t keyLength; + uint8_t forkType; + uint8_t pad; + HFSCatalogNodeID fileID; + uint32_t startBlock; +} __attribute__((__packed__)); +typedef struct HFSPlusExtentKey HFSPlusExtentKey; + +struct HFSPlusCatalogKey { + uint16_t keyLength; + HFSCatalogNodeID parentID; + HFSUniStr255 nodeName; +} __attribute__((__packed__)); +typedef struct HFSPlusCatalogKey HFSPlusCatalogKey; + +#ifndef __MACTYPES__ +struct Point { + int16_t v; + int16_t h; +} __attribute__((__packed__)); +typedef struct Point Point; + +struct Rect { + int16_t top; + int16_t left; + int16_t bottom; + int16_t right; +} __attribute__((__packed__)); +typedef struct Rect Rect; + +/* OSType is a 32-bit value made by packing four 1-byte characters + together. */ +typedef uint32_t FourCharCode; +typedef FourCharCode OSType; + +#endif + +/* Finder flags (finderFlags, fdFlags and frFlags) */ +enum { + kIsOnDesk = 0x0001, /* Files and folders (System 6) */ + kColor = 0x000E, /* Files and folders */ + kIsShared = 0x0040, /* Files only (Applications only) If */ + /* clear, the application needs */ + /* to write to its resource fork, */ + /* and therefore cannot be shared */ + /* on a server */ + kHasNoINITs = 0x0080, /* Files only (Extensions/Control */ + /* Panels only) */ + /* This file contains no INIT resource */ + kHasBeenInited = 0x0100, /* Files only. Clear if the file */ + /* contains desktop database resources */ + /* ('BNDL', 'FREF', 'open', 'kind'...) */ + /* that have not been added yet. Set */ + /* only by the Finder. */ + /* Reserved for folders */ + kHasCustomIcon = 0x0400, /* Files and folders */ + kIsStationery = 0x0800, /* Files only */ + kNameLocked = 0x1000, /* Files and folders */ + kHasBundle = 0x2000, /* Files only */ + kIsInvisible = 0x4000, /* Files and folders */ + kIsAlias = 0x8000 /* Files only */ +}; + +/* Extended flags (extendedFinderFlags, fdXFlags and frXFlags) */ +enum { + kExtendedFlagsAreInvalid = 0x8000, /* The other extended flags */ + /* should be ignored */ + kExtendedFlagHasCustomBadge = 0x0100, /* The file or folder has a */ + /* badge resource */ + kExtendedFlagHasRoutingInfo = 0x0004 /* The file contains routing */ + /* info resource */ +}; + +enum { + kSymLinkFileType = 0x736C6E6B, /* 'slnk' */ + kSymLinkCreator = 0x72686170 /* 'rhap' */ +}; + +struct FileInfo { + OSType fileType; /* The type of the file */ + OSType fileCreator; /* The file's creator */ + uint16_t finderFlags; + Point location; /* File's location in the folder. */ + uint16_t reservedField; +} __attribute__((__packed__)); +typedef struct FileInfo FileInfo; + +struct ExtendedFileInfo { + int16_t reserved1[4]; + uint16_t extendedFinderFlags; + int16_t reserved2; + int32_t putAwayFolderID; +} __attribute__((__packed__)); +typedef struct ExtendedFileInfo ExtendedFileInfo; + +struct FolderInfo { + Rect windowBounds; /* The position and dimension of the */ + /* folder's window */ + uint16_t finderFlags; + Point location; /* Folder's location in the parent */ + /* folder. If set to {0, 0}, the Finder */ + /* will place the item automatically */ + uint16_t reservedField; +} __attribute__((__packed__)); +typedef struct FolderInfo FolderInfo; + +struct ExtendedFolderInfo { + Point scrollPosition; /* Scroll position (for icon views) */ + int32_t reserved1; + uint16_t extendedFinderFlags; + int16_t reserved2; + int32_t putAwayFolderID; +} __attribute__((__packed__)); +typedef struct ExtendedFolderInfo ExtendedFolderInfo; + +#define S_ISUID 0004000 /* set user id on execution */ +#define S_ISGID 0002000 /* set group id on execution */ +#define S_ISTXT 0001000 /* sticky bit */ + +#define S_IRWXU 0000700 /* RWX mask for owner */ +#define S_IRUSR 0000400 /* R for owner */ +#define S_IWUSR 0000200 /* W for owner */ +#define S_IXUSR 0000100 /* X for owner */ + +#define S_IRWXG 0000070 /* RWX mask for group */ +#define S_IRGRP 0000040 /* R for group */ +#define S_IWGRP 0000020 /* W for group */ +#define S_IXGRP 0000010 /* X for group */ + +#define S_IRWXO 0000007 /* RWX mask for other */ +#define S_IROTH 0000004 /* R for other */ +#define S_IWOTH 0000002 /* W for other */ +#define S_IXOTH 0000001 /* X for other */ + +#define S_IFMT 0170000 /* type of file mask */ +#define S_IFIFO 0010000 /* named pipe (fifo) */ +#define S_IFCHR 0020000 /* character special */ +#define S_IFDIR 0040000 /* directory */ +#define S_IFBLK 0060000 /* block special */ +#define S_IFREG 0100000 /* regular */ +#define S_IFLNK 0120000 /* symbolic link */ +#define S_IFSOCK 0140000 /* socket */ +#define S_IFWHT 0160000 /* whiteout */ + +struct HFSPlusBSDInfo { + uint32_t ownerID; + uint32_t groupID; + uint8_t adminFlags; + uint8_t ownerFlags; + uint16_t fileMode; + union { + uint32_t iNodeNum; + uint32_t linkCount; + uint32_t rawDevice; + } special; +} __attribute__((__packed__)); +typedef struct HFSPlusBSDInfo HFSPlusBSDInfo; + +enum { + kHFSPlusFolderRecord = 0x0001, + kHFSPlusFileRecord = 0x0002, + kHFSPlusFolderThreadRecord = 0x0003, + kHFSPlusFileThreadRecord = 0x0004 +}; + +enum { + kHFSFileLockedBit = 0x0000, /* file is locked and cannot be written to */ + kHFSFileLockedMask = 0x0001, + + kHFSThreadExistsBit = 0x0001, /* a file thread record exists for this file */ + kHFSThreadExistsMask = 0x0002, + + kHFSHasAttributesBit = 0x0002, /* object has extended attributes */ + kHFSHasAttributesMask = 0x0004, + + kHFSHasSecurityBit = 0x0003, /* object has security data (ACLs) */ + kHFSHasSecurityMask = 0x0008, + + kHFSHasFolderCountBit = 0x0004, /* only for HFSX, folder maintains a separate sub-folder count */ + kHFSHasFolderCountMask = 0x0010, /* (sum of folder records and directory hard links) */ + + kHFSHasLinkChainBit = 0x0005, /* has hardlink chain (inode or link) */ + kHFSHasLinkChainMask = 0x0020, + + kHFSHasChildLinkBit = 0x0006, /* folder has a child that's a dir link */ + kHFSHasChildLinkMask = 0x0040 +}; + +struct HFSPlusCatalogFolder { + int16_t recordType; + uint16_t flags; + uint32_t valence; + HFSCatalogNodeID folderID; + uint32_t createDate; + uint32_t contentModDate; + uint32_t attributeModDate; + uint32_t accessDate; + uint32_t backupDate; + HFSPlusBSDInfo permissions; + FolderInfo userInfo; + ExtendedFolderInfo finderInfo; + uint32_t textEncoding; + uint32_t folderCount; +} __attribute__((__packed__)); +typedef struct HFSPlusCatalogFolder HFSPlusCatalogFolder; + +struct HFSPlusCatalogFile { + int16_t recordType; + uint16_t flags; + uint32_t reserved1; + HFSCatalogNodeID fileID; + uint32_t createDate; + uint32_t contentModDate; + uint32_t attributeModDate; + uint32_t accessDate; + uint32_t backupDate; + HFSPlusBSDInfo permissions; + FileInfo userInfo; + ExtendedFileInfo finderInfo; + uint32_t textEncoding; + uint32_t reserved2; + + HFSPlusForkData dataFork; + HFSPlusForkData resourceFork; +} __attribute__((__packed__)); +typedef struct HFSPlusCatalogFile HFSPlusCatalogFile; + +struct HFSPlusCatalogThread { + int16_t recordType; + int16_t reserved; + HFSCatalogNodeID parentID; + HFSUniStr255 nodeName; +} __attribute__((__packed__)); +typedef struct HFSPlusCatalogThread HFSPlusCatalogThread; + +struct HFSPlusCatalogRecord { + int16_t recordType; + unsigned char data[0]; +} __attribute__((__packed__)); +typedef struct HFSPlusCatalogRecord HFSPlusCatalogRecord; + +struct CatalogRecordList { + HFSUniStr255 name; + HFSPlusCatalogRecord* record; + struct CatalogRecordList* next; +}; +typedef struct CatalogRecordList CatalogRecordList; + +struct Extent { + uint32_t startBlock; + uint32_t blockCount; + struct Extent* next; +}; + +typedef struct Extent Extent; + +typedef struct { + io_func* io; + BTHeaderRec *headerRec; + compareFunc compare; + dataReadFunc keyRead; + keyWriteFunc keyWrite; + keyPrintFunc keyPrint; + dataReadFunc dataRead; +} BTree; + +typedef struct { + io_func* image; + HFSPlusVolumeHeader* volumeHeader; + + BTree* extentsTree; + BTree* catalogTree; + io_func* allocationFile; +} Volume; + + +typedef struct { + HFSCatalogNodeID id; + HFSPlusCatalogRecord* catalogRecord; + Volume* volume; + HFSPlusForkData* forkData; + Extent* extents; +} RawFile; + +#ifdef __cplusplus +extern "C" { +#endif + void hfs_panic(const char* panicString); + + void printUnicode(HFSUniStr255* str); + char* unicodeToAscii(HFSUniStr255* str); + + BTNodeDescriptor* readBTNodeDescriptor(uint32_t num, BTree* tree); + + BTHeaderRec* readBTHeaderRec(io_func* io); + + BTree* openBTree(io_func* io, compareFunc compare, dataReadFunc keyRead, keyWriteFunc keyWrite, keyPrintFunc keyPrint, dataReadFunc dataRead); + + void closeBTree(BTree* tree); + + off_t getRecordOffset(int num, uint32_t nodeNum, BTree* tree); + + off_t getNodeNumberFromPointerRecord(off_t offset, io_func* io); + + void* search(BTree* tree, BTKey* searchKey, int *exact, uint32_t *nodeNumber, int *recordNumber); + + io_func* openFlatFile(const char* fileName); + io_func* openFlatFileRO(const char* fileName); + + io_func* openRawFile(HFSCatalogNodeID id, HFSPlusForkData* forkData, HFSPlusCatalogRecord* catalogRecord, Volume* volume); + + void flipExtentRecord(HFSPlusExtentRecord* extentRecord); + + BTree* openExtentsTree(io_func* file); + + void ASCIIToUnicode(const char* ascii, HFSUniStr255* unistr); + + void flipCatalogFolder(HFSPlusCatalogFolder* record); + void flipCatalogFile(HFSPlusCatalogFile* record); + void flipCatalogThread(HFSPlusCatalogThread* record, int out); + + BTree* openCatalogTree(io_func* file); + int updateCatalog(Volume* volume, HFSPlusCatalogRecord* catalogRecord); + int move(const char* source, const char* dest, Volume* volume); + int removeFile(const char* fileName, Volume* volume); + HFSCatalogNodeID newFolder(const char* pathName, Volume* volume); + HFSCatalogNodeID newFile(const char* pathName, Volume* volume); + int chmodFile(const char* pathName, int mode, Volume* volume); + int chownFile(const char* pathName, uint32_t owner, uint32_t group, Volume* volume); + int makeSymlink(const char* pathName, const char* target, Volume* volume); + + HFSPlusCatalogRecord* getRecordByCNID(HFSCatalogNodeID CNID, Volume* volume); + HFSPlusCatalogRecord* getLinkTarget(HFSPlusCatalogRecord* record, HFSCatalogNodeID parentID, HFSPlusCatalogKey *key, Volume* volume); + CatalogRecordList* getFolderContents(HFSCatalogNodeID CNID, Volume* volume); + HFSPlusCatalogRecord* getRecordFromPath(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey); + HFSPlusCatalogRecord* getRecordFromPath2(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey, char traverse); + HFSPlusCatalogRecord* getRecordFromPath3(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey, char traverse, char returnLink, HFSCatalogNodeID parentID); + void releaseCatalogRecordList(CatalogRecordList* list); + + int isBlockUsed(Volume* volume, uint32_t block); + int setBlockUsed(Volume* volume, uint32_t block, int used); + int allocate(RawFile* rawFile, off_t size); + + void flipForkData(HFSPlusForkData* forkData); + + Volume* openVolume(io_func* io); + void closeVolume(Volume *volume); + int updateVolume(Volume* volume); + + int debugBTree(BTree* tree, int displayTree); + + int addToBTree(BTree* tree, BTKey* searchKey, size_t length, unsigned char* content); + + int removeFromBTree(BTree* tree, BTKey* searchKey); + + int32_t FastUnicodeCompare ( register uint16_t str1[], register uint16_t length1, + register uint16_t str2[], register uint16_t length2); +#ifdef __cplusplus +} +#endif + +#endif + From e91cc363dea0c96f728fa9dd6d3a87e0d7d6a353 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Tue, 20 Dec 2016 15:16:24 +0000 Subject: [PATCH 05/26] Add copyright for libdmg-hfsplus --- debian/copyright | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/debian/copyright b/debian/copyright index 545dbe894..aa7ce2ee7 100644 --- a/debian/copyright +++ b/debian/copyright @@ -129,6 +129,10 @@ Files: 3rdparty/tinysvcmdns/* Copyright: 2011, Darell Tan License: BSD-3-clause +Files: 3rdparty/libdmg-hfsplus/* +Copyright: 2008, David Wang +License: GPL-3 + License: LGPL-2.1 This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License, version 2.1, as From ff8a970aac297f3dafa5056eecfe4ceaae43e0a6 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Tue, 20 Dec 2016 15:26:14 +0000 Subject: [PATCH 06/26] Revert "Add copyright for libdmg-hfsplus" This reverts commit e91cc363dea0c96f728fa9dd6d3a87e0d7d6a353. --- debian/copyright | 4 ---- 1 file changed, 4 deletions(-) diff --git a/debian/copyright b/debian/copyright index aa7ce2ee7..545dbe894 100644 --- a/debian/copyright +++ b/debian/copyright @@ -129,10 +129,6 @@ Files: 3rdparty/tinysvcmdns/* Copyright: 2011, Darell Tan License: BSD-3-clause -Files: 3rdparty/libdmg-hfsplus/* -Copyright: 2008, David Wang -License: GPL-3 - License: LGPL-2.1 This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License, version 2.1, as From 809387c75ab6cd74edd758749dbb0451def152f3 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Tue, 20 Dec 2016 15:26:19 +0000 Subject: [PATCH 07/26] Revert "Add libdmg-hfsplus to 3rdparty" This reverts commit 3662b5e4030c050e6f08b4897db8b63c137029f8. Too much effort to build this for host vs. build system --- 3rdparty/libdmg-hfsplus/CMakeLists.txt | 22 - 3rdparty/libdmg-hfsplus/LICENSE | 674 -------- 3rdparty/libdmg-hfsplus/README.markdown | 71 - 3rdparty/libdmg-hfsplus/common/CMakeLists.txt | 2 - 3rdparty/libdmg-hfsplus/common/abstractfile.c | 310 ---- 3rdparty/libdmg-hfsplus/dmg/CMakeLists.txt | 38 - 3rdparty/libdmg-hfsplus/dmg/adc.c | 116 -- 3rdparty/libdmg-hfsplus/dmg/base64.c | 183 -- 3rdparty/libdmg-hfsplus/dmg/checksum.c | 313 ---- 3rdparty/libdmg-hfsplus/dmg/dmg.c | 83 - 3rdparty/libdmg-hfsplus/dmg/dmgfile.c | 257 --- 3rdparty/libdmg-hfsplus/dmg/dmglib.c | 515 ------ 3rdparty/libdmg-hfsplus/dmg/filevault.c | 269 --- 3rdparty/libdmg-hfsplus/dmg/io.c | 257 --- 3rdparty/libdmg-hfsplus/dmg/partition.c | 790 --------- 3rdparty/libdmg-hfsplus/dmg/resources.c | 850 --------- 3rdparty/libdmg-hfsplus/dmg/udif.c | 129 -- 3rdparty/libdmg-hfsplus/dmg/win32test.c | 9 - 3rdparty/libdmg-hfsplus/hdutil/CMakeLists.txt | 8 - 3rdparty/libdmg-hfsplus/hdutil/hdutil.c | 327 ---- 3rdparty/libdmg-hfsplus/hdutil/win32test.c | 9 - 3rdparty/libdmg-hfsplus/hfs/CMakeLists.txt | 9 - 3rdparty/libdmg-hfsplus/hfs/btree.c | 1533 ----------------- 3rdparty/libdmg-hfsplus/hfs/catalog.c | 1091 ------------ 3rdparty/libdmg-hfsplus/hfs/extents.c | 119 -- .../libdmg-hfsplus/hfs/fastunicodecompare.c | 418 ----- 3rdparty/libdmg-hfsplus/hfs/flatfile.c | 104 -- 3rdparty/libdmg-hfsplus/hfs/hfs.c | 297 ---- 3rdparty/libdmg-hfsplus/hfs/hfslib.c | 648 ------- 3rdparty/libdmg-hfsplus/hfs/rawfile.c | 499 ------ 3rdparty/libdmg-hfsplus/hfs/utility.c | 30 - 3rdparty/libdmg-hfsplus/hfs/volume.c | 162 -- .../libdmg-hfsplus/ide/eclipse/.cdtproject | 96 -- 3rdparty/libdmg-hfsplus/ide/eclipse/.project | 102 -- .../.settings/org.eclipse.cdt.core.prefs | 3 - 3rdparty/libdmg-hfsplus/ide/eclipse/Makefile | 5 - .../libdmg-hfsplus.xcodeproj/david.mode1v3 | 1447 ---------------- .../libdmg-hfsplus.xcodeproj/david.pbxuser | 236 --- .../libdmg-hfsplus.xcodeproj/project.pbxproj | 649 ------- .../libdmg-hfsplus/includes/abstractfile.h | 75 - 3rdparty/libdmg-hfsplus/includes/common.h | 102 -- 3rdparty/libdmg-hfsplus/includes/dmg/adc.h | 15 - 3rdparty/libdmg-hfsplus/includes/dmg/dmg.h | 344 ---- .../libdmg-hfsplus/includes/dmg/dmgfile.h | 21 - 3rdparty/libdmg-hfsplus/includes/dmg/dmglib.h | 19 - .../libdmg-hfsplus/includes/dmg/filevault.h | 98 -- 3rdparty/libdmg-hfsplus/includes/hfs/hfslib.h | 24 - .../libdmg-hfsplus/includes/hfs/hfsplus.h | 511 ------ 48 files changed, 13889 deletions(-) delete mode 100644 3rdparty/libdmg-hfsplus/CMakeLists.txt delete mode 100644 3rdparty/libdmg-hfsplus/LICENSE delete mode 100644 3rdparty/libdmg-hfsplus/README.markdown delete mode 100644 3rdparty/libdmg-hfsplus/common/CMakeLists.txt delete mode 100644 3rdparty/libdmg-hfsplus/common/abstractfile.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/CMakeLists.txt delete mode 100644 3rdparty/libdmg-hfsplus/dmg/adc.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/base64.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/checksum.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/dmg.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/dmgfile.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/dmglib.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/filevault.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/io.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/partition.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/resources.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/udif.c delete mode 100644 3rdparty/libdmg-hfsplus/dmg/win32test.c delete mode 100644 3rdparty/libdmg-hfsplus/hdutil/CMakeLists.txt delete mode 100644 3rdparty/libdmg-hfsplus/hdutil/hdutil.c delete mode 100644 3rdparty/libdmg-hfsplus/hdutil/win32test.c delete mode 100644 3rdparty/libdmg-hfsplus/hfs/CMakeLists.txt delete mode 100644 3rdparty/libdmg-hfsplus/hfs/btree.c delete mode 100644 3rdparty/libdmg-hfsplus/hfs/catalog.c delete mode 100644 3rdparty/libdmg-hfsplus/hfs/extents.c delete mode 100644 3rdparty/libdmg-hfsplus/hfs/fastunicodecompare.c delete mode 100644 3rdparty/libdmg-hfsplus/hfs/flatfile.c delete mode 100644 3rdparty/libdmg-hfsplus/hfs/hfs.c delete mode 100644 3rdparty/libdmg-hfsplus/hfs/hfslib.c delete mode 100644 3rdparty/libdmg-hfsplus/hfs/rawfile.c delete mode 100644 3rdparty/libdmg-hfsplus/hfs/utility.c delete mode 100644 3rdparty/libdmg-hfsplus/hfs/volume.c delete mode 100644 3rdparty/libdmg-hfsplus/ide/eclipse/.cdtproject delete mode 100644 3rdparty/libdmg-hfsplus/ide/eclipse/.project delete mode 100644 3rdparty/libdmg-hfsplus/ide/eclipse/.settings/org.eclipse.cdt.core.prefs delete mode 100644 3rdparty/libdmg-hfsplus/ide/eclipse/Makefile delete mode 100644 3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.mode1v3 delete mode 100644 3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.pbxuser delete mode 100644 3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/project.pbxproj delete mode 100644 3rdparty/libdmg-hfsplus/includes/abstractfile.h delete mode 100644 3rdparty/libdmg-hfsplus/includes/common.h delete mode 100644 3rdparty/libdmg-hfsplus/includes/dmg/adc.h delete mode 100644 3rdparty/libdmg-hfsplus/includes/dmg/dmg.h delete mode 100644 3rdparty/libdmg-hfsplus/includes/dmg/dmgfile.h delete mode 100644 3rdparty/libdmg-hfsplus/includes/dmg/dmglib.h delete mode 100644 3rdparty/libdmg-hfsplus/includes/dmg/filevault.h delete mode 100644 3rdparty/libdmg-hfsplus/includes/hfs/hfslib.h delete mode 100644 3rdparty/libdmg-hfsplus/includes/hfs/hfsplus.h diff --git a/3rdparty/libdmg-hfsplus/CMakeLists.txt b/3rdparty/libdmg-hfsplus/CMakeLists.txt deleted file mode 100644 index 79d4302c8..000000000 --- a/3rdparty/libdmg-hfsplus/CMakeLists.txt +++ /dev/null @@ -1,22 +0,0 @@ -cmake_minimum_required(VERSION 2.6) - -project (libdmg-hfsplus) - -# We want win32 executables to build staticly by default, since it's more difficult to keep the shared libraries straight on Windows -IF(WIN32) - SET(BUILD_STATIC ON CACHE BOOL "Force compilation with static libraries") -ELSE(WIN32) - SET(BUILD_STATIC OFF CACHE BOOL "Force compilation with static libraries") -ENDIF(WIN32) - -IF(BUILD_STATIC) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") -ENDIF(BUILD_STATIC) - -include_directories (${PROJECT_SOURCE_DIR}/includes) - -add_subdirectory (common) -add_subdirectory (dmg) -add_subdirectory (hdutil) -add_subdirectory (hfs) - diff --git a/3rdparty/libdmg-hfsplus/LICENSE b/3rdparty/libdmg-hfsplus/LICENSE deleted file mode 100644 index 94a9ed024..000000000 --- a/3rdparty/libdmg-hfsplus/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/3rdparty/libdmg-hfsplus/README.markdown b/3rdparty/libdmg-hfsplus/README.markdown deleted file mode 100644 index efa9df428..000000000 --- a/3rdparty/libdmg-hfsplus/README.markdown +++ /dev/null @@ -1,71 +0,0 @@ -README -====== - -This project was first conceived to manipulate Apple's software restore -packages (IPSWs) and hence much of it is geared specifically toward that -format. Useful tools to read and manipulate the internal data structures of -those files have been created to that end, and with minor changes, more -generality can be achieved in the general utility. An inexhaustive list of -such changes would be selectively enabling folder counts in HFS+, switching -between case sensitivity and non-sensitivity, and more fine-grained control -over the layout of created dmgs. - -**THE CODE HEREIN SHOULD BE CONSIDERED HIGHLY EXPERIMENTAL** - -Extensive testing have not been done, but comparatively simple tasks like -adding and removing files from a mostly contiguous filesystem are well -proven. - -Please note that these tools and routines are currently only suitable to be -accessed by other programs that know what they're doing. I.e., doing -something you "shouldn't" be able to do, like removing non-existent files is -probably not a very good idea. - -LICENSE -------- - -This work is released under the terms of the GNU General Public License, -version 3. The full text of the license can be found in the LICENSE file. - -DEPENDENCIES ------------- - -The HFS portion will work on any platform that supports GNU C and POSIX -conventions. The dmg portion has dependencies on zlib (which is included) and -libcrypto from openssl (which is not). If libcrypto is not available, remove -the -DHAVE_CRYPT flags from the CFLAGS of the makefiles. All FileVault -related actions will fail, but everything else should still work. I imagine -most places have libcrypto, and probably statically compiled zlib was a dumb -idea too. - -USING ------ - -The targets of the current repository are three command-line utilities that -demonstrate the usage of the library functions (except cmd_grow, which really -ought to be moved to catalog.c). To make compilation simpler, a complete, -unmodified copy of the zlib distribution is included. The dmg portion of the -code has dependencies on the HFS+ portion of the code. The "hdutil" section -contains a version of the HFS+ utility that supports directly reading from -dmgs. It is separate from the HFS+ utility in order that the hfs directory -does not have dependencies on the dmg directory. - -The makefile in the root folder will make all utilities. - -### HFS+ - - cd hfs - make - -### DMG - - cd dmg/zlib-1.2.3 - ./configure - make - cd .. - make - -### hdutil - cd hdiutil - make - diff --git a/3rdparty/libdmg-hfsplus/common/CMakeLists.txt b/3rdparty/libdmg-hfsplus/common/CMakeLists.txt deleted file mode 100644 index 6f306f2e9..000000000 --- a/3rdparty/libdmg-hfsplus/common/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -add_library(common abstractfile.c) - diff --git a/3rdparty/libdmg-hfsplus/common/abstractfile.c b/3rdparty/libdmg-hfsplus/common/abstractfile.c deleted file mode 100644 index d55aaaa7b..000000000 --- a/3rdparty/libdmg-hfsplus/common/abstractfile.c +++ /dev/null @@ -1,310 +0,0 @@ -#include -#include -#include -#include -#include - -#include "abstractfile.h" -#include "common.h" - -size_t freadWrapper(AbstractFile* file, void* data, size_t len) { - return fread(data, 1, len, (FILE*) (file->data)); -} - -size_t fwriteWrapper(AbstractFile* file, const void* data, size_t len) { - return fwrite(data, 1, len, (FILE*) (file->data)); -} - -int fseekWrapper(AbstractFile* file, off_t offset) { - return fseeko((FILE*) (file->data), offset, SEEK_SET); -} - -off_t ftellWrapper(AbstractFile* file) { - return ftello((FILE*) (file->data)); -} - -void fcloseWrapper(AbstractFile* file) { - fclose((FILE*) (file->data)); - free(file); -} - -off_t fileGetLength(AbstractFile* file) { - off_t length; - off_t pos; - - pos = ftello((FILE*) (file->data)); - - fseeko((FILE*) (file->data), 0, SEEK_END); - length = ftello((FILE*) (file->data)); - - fseeko((FILE*) (file->data), pos, SEEK_SET); - - return length; -} - -AbstractFile* createAbstractFileFromFile(FILE* file) { - AbstractFile* toReturn; - - if(file == NULL) { - return NULL; - } - - toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); - toReturn->data = file; - toReturn->read = freadWrapper; - toReturn->write = fwriteWrapper; - toReturn->seek = fseekWrapper; - toReturn->tell = ftellWrapper; - toReturn->getLength = fileGetLength; - toReturn->close = fcloseWrapper; - toReturn->type = AbstractFileTypeFile; - return toReturn; -} - -size_t dummyRead(AbstractFile* file, void* data, size_t len) { - return 0; -} - -size_t dummyWrite(AbstractFile* file, const void* data, size_t len) { - *((off_t*) (file->data)) += len; - return len; -} - -int dummySeek(AbstractFile* file, off_t offset) { - *((off_t*) (file->data)) = offset; - return 0; -} - -off_t dummyTell(AbstractFile* file) { - return *((off_t*) (file->data)); -} - -void dummyClose(AbstractFile* file) { - free(file); -} - -AbstractFile* createAbstractFileFromDummy() { - AbstractFile* toReturn; - toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); - toReturn->data = NULL; - toReturn->read = dummyRead; - toReturn->write = dummyWrite; - toReturn->seek = dummySeek; - toReturn->tell = dummyTell; - toReturn->getLength = NULL; - toReturn->close = dummyClose; - toReturn->type = AbstractFileTypeDummy; - return toReturn; -} - -size_t memRead(AbstractFile* file, void* data, size_t len) { - MemWrapperInfo* info = (MemWrapperInfo*) (file->data); - if(info->bufferSize < (info->offset + len)) { - len = info->bufferSize - info->offset; - } - memcpy(data, (void*)((uint8_t*)(*(info->buffer)) + (uint32_t)info->offset), len); - info->offset += (size_t)len; - return len; -} - -size_t memWrite(AbstractFile* file, const void* data, size_t len) { - MemWrapperInfo* info = (MemWrapperInfo*) (file->data); - - while((info->offset + (size_t)len) > info->bufferSize) { - info->bufferSize <<= 1; - *(info->buffer) = realloc(*(info->buffer), info->bufferSize); - } - - memcpy((void*)((uint8_t*)(*(info->buffer)) + (uint32_t)info->offset), data, len); - info->offset += (size_t)len; - return len; -} - -int memSeek(AbstractFile* file, off_t offset) { - MemWrapperInfo* info = (MemWrapperInfo*) (file->data); - info->offset = (size_t)offset; - return 0; -} - -off_t memTell(AbstractFile* file) { - MemWrapperInfo* info = (MemWrapperInfo*) (file->data); - return (off_t)info->offset; -} - -off_t memGetLength(AbstractFile* file) { - MemWrapperInfo* info = (MemWrapperInfo*) (file->data); - return info->bufferSize; -} - -void memClose(AbstractFile* file) { - free(file->data); - free(file); -} - -AbstractFile* createAbstractFileFromMemory(void** buffer, size_t size) { - MemWrapperInfo* info; - AbstractFile* toReturn; - toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); - - info = (MemWrapperInfo*) malloc(sizeof(MemWrapperInfo)); - info->offset = 0; - info->buffer = buffer; - info->bufferSize = size; - - toReturn->data = info; - toReturn->read = memRead; - toReturn->write = memWrite; - toReturn->seek = memSeek; - toReturn->tell = memTell; - toReturn->getLength = memGetLength; - toReturn->close = memClose; - toReturn->type = AbstractFileTypeMem; - return toReturn; -} - -void abstractFilePrint(AbstractFile* file, const char* format, ...) { - va_list args; - char buffer[1024]; - size_t length; - - buffer[0] = '\0'; - va_start(args, format); - length = vsprintf(buffer, format, args); - va_end(args); - ASSERT(file->write(file, buffer, length) == length, "fwrite"); -} - -int absFileRead(io_func* io, off_t location, size_t size, void *buffer) { - AbstractFile* file; - file = (AbstractFile*) io->data; - file->seek(file, location); - if(file->read(file, buffer, size) == size) { - return TRUE; - } else { - return FALSE; - } -} - -int absFileWrite(io_func* io, off_t location, size_t size, void *buffer) { - AbstractFile* file; - file = (AbstractFile*) io->data; - file->seek(file, location); - if(file->write(file, buffer, size) == size) { - return TRUE; - } else { - return FALSE; - } -} - -void closeAbsFile(io_func* io) { - AbstractFile* file; - file = (AbstractFile*) io->data; - file->close(file); - free(io); -} - - -io_func* IOFuncFromAbstractFile(AbstractFile* file) { - io_func* io; - - io = (io_func*) malloc(sizeof(io_func)); - io->data = file; - io->read = &absFileRead; - io->write = &absFileWrite; - io->close = &closeAbsFile; - - return io; -} - -size_t memFileRead(AbstractFile* file, void* data, size_t len) { - MemFileWrapperInfo* info = (MemFileWrapperInfo*) (file->data); - memcpy(data, (void*)((uint8_t*)(*(info->buffer)) + (uint32_t)info->offset), len); - info->offset += (size_t)len; - return len; -} - -size_t memFileWrite(AbstractFile* file, const void* data, size_t len) { - MemFileWrapperInfo* info = (MemFileWrapperInfo*) (file->data); - - while((info->offset + (size_t)len) > info->actualBufferSize) { - info->actualBufferSize <<= 1; - *(info->buffer) = realloc(*(info->buffer), info->actualBufferSize); - } - - if((info->offset + (size_t)len) > (*(info->bufferSize))) { - *(info->bufferSize) = info->offset + (size_t)len; - } - - memcpy((void*)((uint8_t*)(*(info->buffer)) + (uint32_t)info->offset), data, len); - info->offset += (size_t)len; - return len; -} - -int memFileSeek(AbstractFile* file, off_t offset) { - MemFileWrapperInfo* info = (MemFileWrapperInfo*) (file->data); - info->offset = (size_t)offset; - return 0; -} - -off_t memFileTell(AbstractFile* file) { - MemFileWrapperInfo* info = (MemFileWrapperInfo*) (file->data); - return (off_t)info->offset; -} - -off_t memFileGetLength(AbstractFile* file) { - MemFileWrapperInfo* info = (MemFileWrapperInfo*) (file->data); - return *(info->bufferSize); -} - -void memFileClose(AbstractFile* file) { - free(file->data); - free(file); -} - -AbstractFile* createAbstractFileFromMemoryFile(void** buffer, size_t* size) { - MemFileWrapperInfo* info; - AbstractFile* toReturn; - toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); - - info = (MemFileWrapperInfo*) malloc(sizeof(MemFileWrapperInfo)); - info->offset = 0; - info->buffer = buffer; - info->bufferSize = size; - info->actualBufferSize = (1024 < (*size)) ? (*size) : 1024; - if(info->actualBufferSize != *(info->bufferSize)) { - *(info->buffer) = realloc(*(info->buffer), info->actualBufferSize); - } - - toReturn->data = info; - toReturn->read = memFileRead; - toReturn->write = memFileWrite; - toReturn->seek = memFileSeek; - toReturn->tell = memFileTell; - toReturn->getLength = memFileGetLength; - toReturn->close = memFileClose; - toReturn->type = AbstractFileTypeMemFile; - return toReturn; -} - -AbstractFile* createAbstractFileFromMemoryFileBuffer(void** buffer, size_t* size, size_t actualBufferSize) { - MemFileWrapperInfo* info; - AbstractFile* toReturn; - toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); - - info = (MemFileWrapperInfo*) malloc(sizeof(MemFileWrapperInfo)); - info->offset = 0; - info->buffer = buffer; - info->bufferSize = size; - info->actualBufferSize = actualBufferSize; - - toReturn->data = info; - toReturn->read = memFileRead; - toReturn->write = memFileWrite; - toReturn->seek = memFileSeek; - toReturn->tell = memFileTell; - toReturn->getLength = memFileGetLength; - toReturn->close = memFileClose; - toReturn->type = AbstractFileTypeMemFile; - return toReturn; -} - diff --git a/3rdparty/libdmg-hfsplus/dmg/CMakeLists.txt b/3rdparty/libdmg-hfsplus/dmg/CMakeLists.txt deleted file mode 100644 index c30507bbf..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -INCLUDE(FindOpenSSL) -INCLUDE(FindZLIB) - -FIND_LIBRARY(CRYPTO_LIBRARIES crypto - PATHS - /usr/lib - /usr/local/lib - ) - -IF(NOT ZLIB_FOUND) - message(FATAL_ERROR "zlib is required for dmg!") -ENDIF(NOT ZLIB_FOUND) - -include_directories(${ZLIB_INCLUDE_DIR}) -link_directories(${ZLIB_LIBRARIES}) - -link_directories(${PROJECT_BINARY_DIR}/common ${PROJECT_BINARY_DIR}/hfs) - -add_library(dmg adc.c base64.c checksum.c dmgfile.c dmglib.c filevault.c io.c partition.c resources.c udif.c) - -IF(OPENSSL_FOUND) - add_definitions(-DHAVE_CRYPT) - include_directories(${OPENSSL_INCLUDE_DIR}) - target_link_libraries(dmg ${CRYPTO_LIBRARIES}) - IF(WIN32) - TARGET_LINK_LIBRARIES(dmg gdi32) - ENDIF(WIN32) -ENDIF(OPENSSL_FOUND) - -target_link_libraries(dmg common hfs z) - -add_executable(dmg-bin dmg.c) -target_link_libraries (dmg-bin dmg) - -set_target_properties(dmg-bin PROPERTIES OUTPUT_NAME "dmg") - -install(TARGETS dmg-bin DESTINATION .) - diff --git a/3rdparty/libdmg-hfsplus/dmg/adc.c b/3rdparty/libdmg-hfsplus/dmg/adc.c deleted file mode 100644 index 3712e513f..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/adc.c +++ /dev/null @@ -1,116 +0,0 @@ -#include -#include -#include -#include - -#include -#include - -size_t adc_decompress(size_t in_size, unsigned char *input, size_t avail_size, unsigned char *output, size_t *bytes_written) -{ - if (in_size == 0) - return 0; - bool output_full = false; - unsigned char *inp = input; - unsigned char *outp = output; - int chunk_type; - int chunk_size; - int offset; - int i; - - while (inp - input < in_size) { - chunk_type = adc_chunk_type(*inp); - switch (chunk_type) { - case ADC_PLAIN: - chunk_size = adc_chunk_size(*inp); - if (outp + chunk_size - output > avail_size) { - output_full = true; - break; - } - memcpy(outp, inp + 1, chunk_size); - inp += chunk_size + 1; - outp += chunk_size; - break; - - case ADC_2BYTE: - chunk_size = adc_chunk_size(*inp); - offset = adc_chunk_offset(inp); - if (outp + chunk_size - output > avail_size) { - output_full = true; - break; - } - if (offset == 0) { - memset(outp, *(outp - offset - 1), chunk_size); - outp += chunk_size; - inp += 2; - } else { - for (i = 0; i < chunk_size; i++) { - memcpy(outp, outp - offset - 1, 1); - outp++; - } - inp += 2; - } - break; - - case ADC_3BYTE: - chunk_size = adc_chunk_size(*inp); - offset = adc_chunk_offset(inp); - if (outp + chunk_size - output > avail_size) { - output_full = true; - break; - } - if (offset == 0) { - memset(outp, *(outp - offset - 1), chunk_size); - outp += chunk_size; - inp += 3; - } else { - for (i = 0; i < chunk_size; i++) { - memcpy(outp, outp - offset - 1, 1); - outp++; - } - inp += 3; - } - break; - } - if (output_full) - break; - } - *bytes_written = outp - output; - return inp - input; -} - -int adc_chunk_type(char _byte) -{ - if (_byte & 0x80) - return ADC_PLAIN; - if (_byte & 0x40) - return ADC_3BYTE; - return ADC_2BYTE; -} - -int adc_chunk_size(char _byte) -{ - switch (adc_chunk_type(_byte)) { - case ADC_PLAIN: - return (_byte & 0x7F) + 1; - case ADC_2BYTE: - return ((_byte & 0x3F) >> 2) + 3; - case ADC_3BYTE: - return (_byte & 0x3F) + 4; - } - return -1; -} - -int adc_chunk_offset(unsigned char *chunk_start) -{ - unsigned char *c = chunk_start; - switch (adc_chunk_type(*c)) { - case ADC_PLAIN: - return 0; - case ADC_2BYTE: - return ((((unsigned char)*c & 0x03)) << 8) + (unsigned char)*(c + 1); - case ADC_3BYTE: - return (((unsigned char)*(c + 1)) << 8) + (unsigned char)*(c + 2); - } - return -1; -} diff --git a/3rdparty/libdmg-hfsplus/dmg/base64.c b/3rdparty/libdmg-hfsplus/dmg/base64.c deleted file mode 100644 index 4e745aaef..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/base64.c +++ /dev/null @@ -1,183 +0,0 @@ -#include -#include -#include -#include - -#include - -unsigned char* decodeBase64(char* toDecode, size_t* dataLength) { - uint8_t buffer[4]; - uint8_t charsInBuffer; - unsigned char* curChar; - unsigned char* decodeBuffer; - unsigned int decodeLoc; - unsigned int decodeBufferSize; - uint8_t bytesToDrop; - - curChar = (unsigned char*) toDecode; - charsInBuffer = 0; - - decodeBufferSize = 100; - decodeLoc = 0; - decodeBuffer = (unsigned char*) malloc(decodeBufferSize); - - bytesToDrop = 0; - - while((*curChar) != '\0') { - if((*curChar) >= 'A' && (*curChar) <= 'Z') { - buffer[charsInBuffer] = (*curChar) - 'A'; - charsInBuffer++; - } - - if((*curChar) >= 'a' && (*curChar) <= 'z') { - buffer[charsInBuffer] = ((*curChar) - 'a') + ('Z' - 'A' + 1); - charsInBuffer++; - } - - if((*curChar) >= '0' && (*curChar) <= '9') { - buffer[charsInBuffer] = ((*curChar) - '0') + ('Z' - 'A' + 1) + ('z' - 'a' + 1); - charsInBuffer++; - } - - if((*curChar) == '+') { - buffer[charsInBuffer] = ('Z' - 'A' + 1) + ('z' - 'a' + 1) + ('9' - '0' + 1); - charsInBuffer++; - } - - if((*curChar) == '/') { - buffer[charsInBuffer] = ('Z' - 'A' + 1) + ('z' - 'a' + 1) + ('9' - '0' + 1) + 1; - charsInBuffer++; - } - - if((*curChar) == '=') { - bytesToDrop++; - } - - if(charsInBuffer == 4) { - charsInBuffer = 0; - - if((decodeLoc + 3) >= decodeBufferSize) { - decodeBufferSize <<= 1; - decodeBuffer = (unsigned char*) realloc(decodeBuffer, decodeBufferSize); - } - decodeBuffer[decodeLoc] = ((buffer[0] << 2) & 0xFC) + ((buffer[1] >> 4) & 0x3F); - decodeBuffer[decodeLoc + 1] = ((buffer[1] << 4) & 0xF0) + ((buffer[2] >> 2) & 0x0F); - decodeBuffer[decodeLoc + 2] = ((buffer[2] << 6) & 0xC0) + (buffer[3] & 0x3F); - - decodeLoc += 3; - buffer[0] = 0; - buffer[1] = 0; - buffer[2] = 0; - buffer[3] = 0; - } - - curChar++; - } - - if(bytesToDrop != 0) { - if((decodeLoc + 3) >= decodeBufferSize) { - decodeBufferSize <<= 1; - decodeBuffer = (unsigned char*) realloc(decodeBuffer, decodeBufferSize); - } - - decodeBuffer[decodeLoc] = ((buffer[0] << 2) & 0xFC) | ((buffer[1] >> 4) & 0x3F); - - if(bytesToDrop <= 2) - decodeBuffer[decodeLoc + 1] = ((buffer[1] << 4) & 0xF0) | ((buffer[2] >> 2) & 0x0F); - - if(bytesToDrop <= 1) - decodeBuffer[decodeLoc + 2] = ((buffer[2] << 6) & 0xC0) | (buffer[3] & 0x3F); - - *dataLength = decodeLoc + 3 - bytesToDrop; - } else { - *dataLength = decodeLoc; - } - - return decodeBuffer; -} - -void writeBase64(AbstractFile* file, unsigned char* data, size_t dataLength, int tabLength, int width) { - char* buffer; - buffer = convertBase64(data, dataLength, tabLength, width); - file->write(file, buffer, strlen(buffer)); - free(buffer); -} - -#define CHECK_BUFFER_SIZE() \ - if(pos == bufferSize) { \ - bufferSize <<= 1; \ - buffer = (unsigned char*) realloc(buffer, bufferSize); \ - } - -#define CHECK_LINE_END_STRING() \ - CHECK_BUFFER_SIZE() \ - if(width == lineLength) { \ - buffer[pos++] = '\n'; \ - CHECK_BUFFER_SIZE() \ - for(j = 0; j < tabLength; j++) { \ - buffer[pos++] = '\t'; \ - CHECK_BUFFER_SIZE() \ - } \ - lineLength = 0; \ - } else { \ - lineLength++; \ - } - -char* convertBase64(unsigned char* data, size_t dataLength, int tabLength, int width) { - const char* dictionary = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - - unsigned char* buffer; - size_t pos; - size_t bufferSize; - int i, j; - int lineLength; - - bufferSize = 100; - buffer = (unsigned char*) malloc(bufferSize); - pos = 0; - lineLength = 0; - - for(i = 0; i < tabLength; i++) { - CHECK_BUFFER_SIZE() - buffer[pos++] = '\t'; - } - i = 0; - while(dataLength >= 3) { - dataLength -= 3; - buffer[pos++] = dictionary[(data[i] >> 2) & 0x3F]; - CHECK_LINE_END_STRING(); - buffer[pos++] = dictionary[(((data[i] << 4) & 0x30) | ((data[i+1] >> 4) & 0x0F)) & 0x3F]; - CHECK_LINE_END_STRING(); - buffer[pos++] = dictionary[(((data[i+1] << 2) & 0x3C) | ((data[i+2] >> 6) & 0x03)) & 0x03F]; - CHECK_LINE_END_STRING(); - buffer[pos++] = dictionary[data[i+2] & 0x3F]; - CHECK_LINE_END_STRING(); - i += 3; - } - - if(dataLength == 2) { - buffer[pos++] = dictionary[(data[i] >> 2) & 0x3F]; - CHECK_LINE_END_STRING(); - buffer[pos++] = dictionary[(((data[i] << 4) & 0x30) | ((data[i+1] >> 4) & 0x0F)) & 0x3F]; - CHECK_LINE_END_STRING(); - buffer[pos++] = dictionary[(data[i+1] << 2) & 0x3C]; - CHECK_LINE_END_STRING(); - buffer[pos++] = '='; - } else if(dataLength == 1) { - buffer[pos++] = dictionary[(data[i] >> 2) & 0x3F]; - CHECK_LINE_END_STRING(); - buffer[pos++] = dictionary[(data[i] << 4) & 0x30]; - CHECK_LINE_END_STRING(); - buffer[pos++] = '='; - CHECK_LINE_END_STRING(); - buffer[pos++] = '='; - } - - CHECK_BUFFER_SIZE(); - buffer[pos++] = '\n'; - - CHECK_BUFFER_SIZE(); - buffer[pos++] = '\0'; - - return (char*) buffer; -} diff --git a/3rdparty/libdmg-hfsplus/dmg/checksum.c b/3rdparty/libdmg-hfsplus/dmg/checksum.c deleted file mode 100644 index dc3343d82..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/checksum.c +++ /dev/null @@ -1,313 +0,0 @@ -#include -#include -#include - -#include - -void BlockSHA1CRC(void* token, const unsigned char* data, size_t len) { - ChecksumToken* ckSumToken; - ckSumToken = (ChecksumToken*) token; - MKBlockChecksum(&(ckSumToken->block), data, len); - CRC32Checksum(&(ckSumToken->crc), data, len); - SHA1Update(&(ckSumToken->sha1), data, len); -} - -void BlockCRC(void* token, const unsigned char* data, size_t len) { - ChecksumToken* ckSumToken; - ckSumToken = (ChecksumToken*) token; - MKBlockChecksum(&(ckSumToken->block), data, len); - CRC32Checksum(&(ckSumToken->crc), data, len); -} - - -void CRCProxy(void* token, const unsigned char* data, size_t len) { - ChecksumToken* ckSumToken; - ckSumToken = (ChecksumToken*) token; - CRC32Checksum(&(ckSumToken->crc), data, len); -} - -/* - * - * MediaKit block checksumming reverse-engineered from Leopard MediaKit framework - * - */ - -uint32_t MKBlockChecksum(uint32_t* ckSum, const unsigned char* data, size_t len) { - uint32_t* curDWordPtr; - uint32_t curDWord; - uint32_t myCkSum; - - myCkSum = *ckSum; - - if(data) { - curDWordPtr = (uint32_t*) data; - while(curDWordPtr < (uint32_t*)(&data[len & 0xFFFFFFFC])) { - curDWord = *curDWordPtr; - FLIPENDIAN(curDWord); - myCkSum = curDWord + ((myCkSum >> 31) | (myCkSum << 1)); - curDWordPtr++; - } - } - - *ckSum = myCkSum; - return myCkSum; -} - - -/* - * CRC32 code ripped off (and adapted) from the zlib-1.1.3 distribution by Jean-loup Gailly and Mark Adler. - * - * Copyright (C) 1995-1998 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - * - */ - -/* ======================================================================== - * Table of CRC-32's of all single-byte values (made by make_crc_table) - */ -static uint64_t crc_table[256] = { - 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, - 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, - 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, - 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, - 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, - 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, - 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, - 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, - 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, - 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, - 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, - 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, - 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, - 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, - 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, - 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, - 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, - 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, - 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, - 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, - 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, - 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, - 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, - 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, - 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, - 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, - 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, - 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, - 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, - 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, - 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, - 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, - 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, - 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, - 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, - 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, - 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, - 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, - 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, - 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, - 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, - 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, - 0x68ddb3f8l, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, - 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, - 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, - 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, - 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, - 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, - 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, - 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, - 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, - 0x2d02ef8dL -}; - -/* ========================================================================= */ -#define DO1(buf) crc = crc_table[((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8); -#define DO2(buf) DO1(buf); DO1(buf); -#define DO4(buf) DO2(buf); DO2(buf); -#define DO8(buf) DO4(buf); DO4(buf); - -/* ========================================================================= */ -uint32_t CRC32Checksum(uint32_t* ckSum, const unsigned char *buf, size_t len) -{ - uint32_t crc; - - crc = *ckSum; - - if (buf == NULL) return crc; - - crc = crc ^ 0xffffffffL; - while (len >= 8) - { - DO8(buf); - len -= 8; - } - if (len) - { - do { -DO1(buf); - } while (--len); - } - - crc = crc ^ 0xffffffffL; - - *ckSum = crc; - return crc; -} - -/* -SHA-1 in C -By Steve Reid -100% Public Domain - -Test Vectors (from FIPS PUB 180-1) -"abc" - A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D -"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" - 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 -A million repetitions of "a" - 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F -*/ - -#define SHA1HANDSOFF * Copies data before messing with it. - -#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) - -/* blk0() and blk() perform the initial expand. */ -/* I got the idea of expanding during the round function from SSLeay */ - -#define blk0(i) ((endianness == IS_LITTLE_ENDIAN) ? (block->l[i] = (rol(block->l[i],24)&0xFF00FF00) \ - |(rol(block->l[i],8)&0x00FF00FF)) : block->l[i]) - -#define blk(i) (block->l[i&15] = rol(block->l[(i+13)&15]^block->l[(i+8)&15] \ - ^block->l[(i+2)&15]^block->l[i&15],1)) - -/* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */ -#define R0(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30); -#define R1(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30); -#define R2(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30); -#define R3(v,w,x,y,z,i) z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30); -#define R4(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30); - - -/* Hash a single 512-bit block. This is the core of the algorithm. */ - -void SHA1Transform(unsigned long state[5], const unsigned char buffer[64]) -{ -unsigned long a, b, c, d, e; -typedef union { - unsigned char c[64]; - unsigned long l[16]; -} CHAR64LONG16; -CHAR64LONG16* block; -#ifdef SHA1HANDSOFF -static unsigned char workspace[64]; - block = (CHAR64LONG16*)workspace; - memcpy(block, buffer, 64); -#else - block = (CHAR64LONG16*)buffer; -#endif - /* Copy context->state[] to working vars */ - a = state[0]; - b = state[1]; - c = state[2]; - d = state[3]; - e = state[4]; - /* 4 rounds of 20 operations each. Loop unrolled. */ - R0(a,b,c,d,e, 0); R0(e,a,b,c,d, 1); R0(d,e,a,b,c, 2); R0(c,d,e,a,b, 3); - R0(b,c,d,e,a, 4); R0(a,b,c,d,e, 5); R0(e,a,b,c,d, 6); R0(d,e,a,b,c, 7); - R0(c,d,e,a,b, 8); R0(b,c,d,e,a, 9); R0(a,b,c,d,e,10); R0(e,a,b,c,d,11); - R0(d,e,a,b,c,12); R0(c,d,e,a,b,13); R0(b,c,d,e,a,14); R0(a,b,c,d,e,15); - R1(e,a,b,c,d,16); R1(d,e,a,b,c,17); R1(c,d,e,a,b,18); R1(b,c,d,e,a,19); - R2(a,b,c,d,e,20); R2(e,a,b,c,d,21); R2(d,e,a,b,c,22); R2(c,d,e,a,b,23); - R2(b,c,d,e,a,24); R2(a,b,c,d,e,25); R2(e,a,b,c,d,26); R2(d,e,a,b,c,27); - R2(c,d,e,a,b,28); R2(b,c,d,e,a,29); R2(a,b,c,d,e,30); R2(e,a,b,c,d,31); - R2(d,e,a,b,c,32); R2(c,d,e,a,b,33); R2(b,c,d,e,a,34); R2(a,b,c,d,e,35); - R2(e,a,b,c,d,36); R2(d,e,a,b,c,37); R2(c,d,e,a,b,38); R2(b,c,d,e,a,39); - R3(a,b,c,d,e,40); R3(e,a,b,c,d,41); R3(d,e,a,b,c,42); R3(c,d,e,a,b,43); - R3(b,c,d,e,a,44); R3(a,b,c,d,e,45); R3(e,a,b,c,d,46); R3(d,e,a,b,c,47); - R3(c,d,e,a,b,48); R3(b,c,d,e,a,49); R3(a,b,c,d,e,50); R3(e,a,b,c,d,51); - R3(d,e,a,b,c,52); R3(c,d,e,a,b,53); R3(b,c,d,e,a,54); R3(a,b,c,d,e,55); - R3(e,a,b,c,d,56); R3(d,e,a,b,c,57); R3(c,d,e,a,b,58); R3(b,c,d,e,a,59); - R4(a,b,c,d,e,60); R4(e,a,b,c,d,61); R4(d,e,a,b,c,62); R4(c,d,e,a,b,63); - R4(b,c,d,e,a,64); R4(a,b,c,d,e,65); R4(e,a,b,c,d,66); R4(d,e,a,b,c,67); - R4(c,d,e,a,b,68); R4(b,c,d,e,a,69); R4(a,b,c,d,e,70); R4(e,a,b,c,d,71); - R4(d,e,a,b,c,72); R4(c,d,e,a,b,73); R4(b,c,d,e,a,74); R4(a,b,c,d,e,75); - R4(e,a,b,c,d,76); R4(d,e,a,b,c,77); R4(c,d,e,a,b,78); R4(b,c,d,e,a,79); - /* Add the working vars back into context.state[] */ - state[0] += a; - state[1] += b; - state[2] += c; - state[3] += d; - state[4] += e; - /* Wipe variables */ - a = b = c = d = e = 0; -} - - -/* SHA1Init - Initialize new context */ - -void SHA1Init(SHA1_CTX* context) -{ - /* SHA1 initialization constants */ - context->state[0] = 0x67452301; - context->state[1] = 0xEFCDAB89; - context->state[2] = 0x98BADCFE; - context->state[3] = 0x10325476; - context->state[4] = 0xC3D2E1F0; - context->count[0] = context->count[1] = 0; -} - - -/* Run your data through this. */ - -void SHA1Update(SHA1_CTX* context, const unsigned char* data, unsigned int len) -{ -unsigned int i, j; - - j = (context->count[0] >> 3) & 63; - if ((context->count[0] += len << 3) < (len << 3)) context->count[1]++; - context->count[1] += (len >> 29); - if ((j + len) > 63) { - memcpy(&context->buffer[j], data, (i = 64-j)); - SHA1Transform(context->state, context->buffer); - for ( ; i + 63 < len; i += 64) { - SHA1Transform(context->state, &data[i]); - } - j = 0; - } - else i = 0; - memcpy(&context->buffer[j], &data[i], len - i); -} - - -/* Add padding and return the message digest. */ - -void SHA1Final(unsigned char digest[20], SHA1_CTX* context) -{ -unsigned long i, j; -unsigned char finalcount[8]; - - for (i = 0; i < 8; i++) { - finalcount[i] = (unsigned char)((context->count[(i >= 4 ? 0 : 1)] - >> ((3-(i & 3)) * 8) ) & 255); /* Endian independent */ - } - SHA1Update(context, (unsigned char *)"\200", 1); - while ((context->count[0] & 504) != 448) { - SHA1Update(context, (unsigned char *)"\0", 1); - } - SHA1Update(context, finalcount, 8); /* Should cause a SHA1Transform() */ - for (i = 0; i < 20; i++) { - digest[i] = (unsigned char) - ((context->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255); - } - /* Wipe variables */ - i = j = 0; - memset(context->buffer, 0, 64); - memset(context->state, 0, 20); - memset(context->count, 0, 8); - memset(&finalcount, 0, 8); -#ifdef SHA1HANDSOFF /* make SHA1Transform overwrite it's own static vars */ - SHA1Transform(context->state, context->buffer); -#endif -} - diff --git a/3rdparty/libdmg-hfsplus/dmg/dmg.c b/3rdparty/libdmg-hfsplus/dmg/dmg.c deleted file mode 100644 index bfec94779..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/dmg.c +++ /dev/null @@ -1,83 +0,0 @@ -#include -#include -#include -#include - -#include -#include - -char endianness; - -void TestByteOrder() -{ - short int word = 0x0001; - char *byte = (char *) &word; - endianness = byte[0] ? IS_LITTLE_ENDIAN : IS_BIG_ENDIAN; -} - -int buildInOut(const char* source, const char* dest, AbstractFile** in, AbstractFile** out) { - *in = createAbstractFileFromFile(fopen(source, "rb")); - if(!(*in)) { - printf("cannot open source: %s\n", source); - return FALSE; - } - - *out = createAbstractFileFromFile(fopen(dest, "wb")); - if(!(*out)) { - (*in)->close(*in); - printf("cannot open destination: %s\n", dest); - return FALSE; - } - - return TRUE; -} - -int main(int argc, char* argv[]) { - int partNum; - AbstractFile* in; - AbstractFile* out; - int hasKey; - - TestByteOrder(); - - if(argc < 4) { - printf("usage: %s [extract|build|iso|dmg] (-k ) (partition)\n", argv[0]); - return 0; - } - - if(!buildInOut(argv[2], argv[3], &in, &out)) { - return FALSE; - } - - hasKey = FALSE; - if(argc > 5) { - if(strcmp(argv[4], "-k") == 0) { - in = createAbstractFileFromFileVault(in, argv[5]); - hasKey = TRUE; - } - } - - - if(strcmp(argv[1], "extract") == 0) { - partNum = -1; - - if(hasKey) { - if(argc > 6) { - sscanf(argv[6], "%d", &partNum); - } - } else { - if(argc > 4) { - sscanf(argv[4], "%d", &partNum); - } - } - extractDmg(in, out, partNum); - } else if(strcmp(argv[1], "build") == 0) { - buildDmg(in, out); - } else if(strcmp(argv[1], "iso") == 0) { - convertToISO(in, out); - } else if(strcmp(argv[1], "dmg") == 0) { - convertToDMG(in, out); - } - - return 0; -} diff --git a/3rdparty/libdmg-hfsplus/dmg/dmgfile.c b/3rdparty/libdmg-hfsplus/dmg/dmgfile.c deleted file mode 100644 index e7301a773..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/dmgfile.c +++ /dev/null @@ -1,257 +0,0 @@ -/* - * dmgfile.c - * libdmg-hfsplus - */ - -#include -#include -#include - -#include -#include -#include - -static void cacheRun(DMG* dmg, BLKXTable* blkx, int run) { - size_t bufferSize; - z_stream strm; - void* inBuffer; - int ret; - size_t have; - - if(dmg->runData) { - free(dmg->runData); - } - - bufferSize = SECTOR_SIZE * blkx->runs[run].sectorCount; - - dmg->runData = (void*) malloc(bufferSize); - inBuffer = (void*) malloc(bufferSize); - memset(dmg->runData, 0, bufferSize); - - ASSERT(dmg->dmg->seek(dmg->dmg, blkx->dataStart + blkx->runs[run].compOffset) == 0, "fseeko"); - - switch(blkx->runs[run].type) { - case BLOCK_ADC: - { - size_t bufferRead = 0; - do { - strm.avail_in = dmg->dmg->read(dmg->dmg, inBuffer, blkx->runs[run].compLength); - strm.avail_out = adc_decompress(strm.avail_in, inBuffer, bufferSize, dmg->runData, &have); - bufferRead+=strm.avail_out; - } while (bufferRead < blkx->runs[run].compLength); - break; - } - - case BLOCK_ZLIB: - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - strm.avail_in = 0; - strm.next_in = Z_NULL; - - ASSERT(inflateInit(&strm) == Z_OK, "inflateInit"); - - ASSERT((strm.avail_in = dmg->dmg->read(dmg->dmg, inBuffer, blkx->runs[run].compLength)) == blkx->runs[run].compLength, "fread"); - strm.next_in = (unsigned char*) inBuffer; - - do { - strm.avail_out = bufferSize; - strm.next_out = (unsigned char*) dmg->runData; - ASSERT((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_ERROR, "inflate/Z_STREAM_ERROR"); - if(ret != Z_OK && ret != Z_BUF_ERROR && ret != Z_STREAM_END) { - ASSERT(FALSE, "inflate"); - } - have = bufferSize - strm.avail_out; - } while (strm.avail_out == 0); - - ASSERT(inflateEnd(&strm) == Z_OK, "inflateEnd"); - break; - case BLOCK_RAW: - ASSERT((have = dmg->dmg->read(dmg->dmg, dmg->runData, blkx->runs[run].compLength)) == blkx->runs[run].compLength, "fread"); - break; - case BLOCK_IGNORE: - break; - case BLOCK_COMMENT: - break; - case BLOCK_TERMINATOR: - break; - default: - break; - } - - dmg->runStart = (blkx->runs[run].sectorStart + blkx->firstSectorNumber) * SECTOR_SIZE; - dmg->runEnd = dmg->runStart + (blkx->runs[run].sectorCount * SECTOR_SIZE); -} - -static void cacheOffset(DMG* dmg, off_t location) { - int i; - int j; - uint64_t sector; - - sector = (uint64_t)(location / SECTOR_SIZE); - - for(i = 0; i < dmg->numBLKX; i++) { - if(sector >= dmg->blkx[i]->firstSectorNumber && sector < (dmg->blkx[i]->firstSectorNumber + dmg->blkx[i]->sectorCount)) { - for(j = 0; j < dmg->blkx[i]->blocksRunCount; j++) { - if(sector >= (dmg->blkx[i]->firstSectorNumber + dmg->blkx[i]->runs[j].sectorStart) && - sector < (dmg->blkx[i]->firstSectorNumber + dmg->blkx[i]->runs[j].sectorStart + dmg->blkx[i]->runs[j].sectorCount)) { - cacheRun(dmg, dmg->blkx[i], j); - } - } - } - } -} - -static int dmgFileRead(io_func* io, off_t location, size_t size, void *buffer) { - DMG* dmg; - size_t toRead; - - dmg = (DMG*) io->data; - - location += dmg->offset; - - if(size == 0) { - return TRUE; - } - - if(location < dmg->runStart || location >= dmg->runEnd) { - cacheOffset(dmg, location); - } - - if((location + size) > dmg->runEnd) { - toRead = dmg->runEnd - location; - } else { - toRead = size; - } - - memcpy(buffer, (void*)((uint8_t*)dmg->runData + (uint32_t)(location - dmg->runStart)), toRead); - size -= toRead; - location += toRead; - buffer = (void*)((uint8_t*)buffer + toRead); - - if(size > 0) { - return dmgFileRead(io, location - dmg->offset, size, buffer); - } else { - return TRUE; - } -} - -static int dmgFileWrite(io_func* io, off_t location, size_t size, void *buffer) { - fprintf(stderr, "Error: writing to DMGs is not supported (impossible to achieve with compressed images and retain asr multicast ordering).\n"); - return FALSE; -} - - -static void closeDmgFile(io_func* io) { - DMG* dmg; - - dmg = (DMG*) io->data; - - if(dmg->runData) { - free(dmg->runData); - } - - free(dmg->blkx); - releaseResources(dmg->resources); - dmg->dmg->close(dmg->dmg); - free(dmg); - free(io); -} - -io_func* openDmgFile(AbstractFile* abstractIn) { - off_t fileLength; - UDIFResourceFile resourceFile; - DMG* dmg; - ResourceData* blkx; - ResourceData* curData; - int i; - - io_func* toReturn; - - if(abstractIn == NULL) { - return NULL; - } - - fileLength = abstractIn->getLength(abstractIn); - abstractIn->seek(abstractIn, fileLength - sizeof(UDIFResourceFile)); - readUDIFResourceFile(abstractIn, &resourceFile); - - dmg = (DMG*) malloc(sizeof(DMG)); - dmg->dmg = abstractIn; - dmg->resources = readResources(abstractIn, &resourceFile); - dmg->numBLKX = 0; - - blkx = (getResourceByKey(dmg->resources, "blkx"))->data; - - curData = blkx; - while(curData != NULL) { - dmg->numBLKX++; - curData = curData->next; - } - - dmg->blkx = (BLKXTable**) malloc(sizeof(BLKXTable*) * dmg->numBLKX); - - i = 0; - while(blkx != NULL) { - dmg->blkx[i] = (BLKXTable*)(blkx->data); - i++; - blkx = blkx->next; - } - - dmg->offset = 0; - - dmg->runData = NULL; - cacheOffset(dmg, 0); - - toReturn = (io_func*) malloc(sizeof(io_func)); - - toReturn->data = dmg; - toReturn->read = &dmgFileRead; - toReturn->write = &dmgFileWrite; - toReturn->close = &closeDmgFile; - - return toReturn; -} - -io_func* openDmgFilePartition(AbstractFile* abstractIn, int partition) { - io_func* toReturn; - Partition* partitions; - uint8_t ddmBuffer[SECTOR_SIZE]; - DriverDescriptorRecord* ddm; - int numPartitions; - int i; - unsigned int BlockSize; - - toReturn = openDmgFile(abstractIn); - - if(toReturn == NULL) { - return NULL; - } - - toReturn->read(toReturn, 0, SECTOR_SIZE, ddmBuffer); - ddm = (DriverDescriptorRecord*) ddmBuffer; - flipDriverDescriptorRecord(ddm, FALSE); - BlockSize = ddm->sbBlkSize; - - partitions = (Partition*) malloc(BlockSize); - toReturn->read(toReturn, BlockSize, BlockSize, partitions); - flipPartitionMultiple(partitions, FALSE, FALSE, BlockSize); - numPartitions = partitions->pmMapBlkCnt; - partitions = (Partition*) realloc(partitions, numPartitions * BlockSize); - toReturn->read(toReturn, BlockSize, numPartitions * BlockSize, partitions); - flipPartition(partitions, FALSE, BlockSize); - - if(partition >= 0) { - ((DMG*)toReturn->data)->offset = partitions[partition].pmPyPartStart * BlockSize; - } else { - for(i = 0; i < numPartitions; i++) { - if(strcmp((char*)partitions->pmParType, "Apple_HFSX") == 0 || strcmp((char*)partitions->pmParType, "Apple_HFS") == 0) { - ((DMG*)toReturn->data)->offset = partitions->pmPyPartStart * BlockSize; - break; - } - partitions = (Partition*)((uint8_t*)partitions + BlockSize); - } - } - - return toReturn; -} diff --git a/3rdparty/libdmg-hfsplus/dmg/dmglib.c b/3rdparty/libdmg-hfsplus/dmg/dmglib.c deleted file mode 100644 index e27c487aa..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/dmglib.c +++ /dev/null @@ -1,515 +0,0 @@ -#include -#include "common.h" -#include "abstractfile.h" -#include - -uint32_t calculateMasterChecksum(ResourceKey* resources); - -int extractDmg(AbstractFile* abstractIn, AbstractFile* abstractOut, int partNum) { - off_t fileLength; - UDIFResourceFile resourceFile; - ResourceKey* resources; - ResourceData* blkxData; - - fileLength = abstractIn->getLength(abstractIn); - abstractIn->seek(abstractIn, fileLength - sizeof(UDIFResourceFile)); - readUDIFResourceFile(abstractIn, &resourceFile); - resources = readResources(abstractIn, &resourceFile); - - printf("Writing out data..\n"); fflush(stdout); - - /* reasonable assumption that 2 is the main partition, given that that's usually the case in SPUD layouts */ - if(partNum < 0) { - blkxData = getResourceByKey(resources, "blkx")->data; - while(blkxData != NULL) { - if(strstr(blkxData->name, "Apple_HFS") != NULL) { - break; - } - blkxData = blkxData->next; - } - } else { - blkxData = getDataByID(getResourceByKey(resources, "blkx"), partNum); - } - - if(blkxData) { - extractBLKX(abstractIn, abstractOut, (BLKXTable*)(blkxData->data)); - } else { - printf("BLKX not found!\n"); fflush(stdout); - } - abstractOut->close(abstractOut); - - releaseResources(resources); - abstractIn->close(abstractIn); - - return TRUE; -} - -uint32_t calculateMasterChecksum(ResourceKey* resources) { - ResourceKey* blkxKeys; - ResourceData* data; - BLKXTable* blkx; - unsigned char* buffer; - int blkxNum; - uint32_t result; - - blkxKeys = getResourceByKey(resources, "blkx"); - - data = blkxKeys->data; - blkxNum = 0; - while(data != NULL) { - blkx = (BLKXTable*) data->data; - if(blkx->checksum.type == CHECKSUM_CRC32) { - blkxNum++; - } - data = data->next; - } - - buffer = (unsigned char*) malloc(4 * blkxNum) ; - data = blkxKeys->data; - blkxNum = 0; - while(data != NULL) { - blkx = (BLKXTable*) data->data; - if(blkx->checksum.type == CHECKSUM_CRC32) { - buffer[(blkxNum * 4) + 0] = (blkx->checksum.data[0] >> 24) & 0xff; - buffer[(blkxNum * 4) + 1] = (blkx->checksum.data[0] >> 16) & 0xff; - buffer[(blkxNum * 4) + 2] = (blkx->checksum.data[0] >> 8) & 0xff; - buffer[(blkxNum * 4) + 3] = (blkx->checksum.data[0] >> 0) & 0xff; - blkxNum++; - } - data = data->next; - } - - result = 0; - CRC32Checksum(&result, (const unsigned char*) buffer, 4 * blkxNum); - free(buffer); - return result; -} - -int buildDmg(AbstractFile* abstractIn, AbstractFile* abstractOut) { - io_func* io; - Volume* volume; - - HFSPlusVolumeHeader* volumeHeader; - DriverDescriptorRecord* DDM; - Partition* partitions; - - ResourceKey* resources; - ResourceKey* curResource; - - NSizResource* nsiz; - NSizResource* myNSiz; - CSumResource csum; - - BLKXTable* blkx; - ChecksumToken uncompressedToken; - - ChecksumToken dataForkToken; - - UDIFResourceFile koly; - - off_t plistOffset; - uint32_t plistSize; - uint32_t dataForkChecksum; - - io = IOFuncFromAbstractFile(abstractIn); - volume = openVolume(io); - volumeHeader = volume->volumeHeader; - - - if(volumeHeader->signature != HFSX_SIGNATURE) { - printf("Warning: ASR data only reverse engineered for case-sensitive HFS+ volumes\n");fflush(stdout); - } - - resources = NULL; - nsiz = NULL; - - memset(&dataForkToken, 0, sizeof(ChecksumToken)); - memset(koly.fUDIFMasterChecksum.data, 0, sizeof(koly.fUDIFMasterChecksum.data)); - memset(koly.fUDIFDataForkChecksum.data, 0, sizeof(koly.fUDIFDataForkChecksum.data)); - - printf("Creating and writing DDM and partition map...\n"); fflush(stdout); - - DDM = createDriverDescriptorMap((volumeHeader->totalBlocks * volumeHeader->blockSize)/SECTOR_SIZE); - - partitions = createApplePartitionMap((volumeHeader->totalBlocks * volumeHeader->blockSize)/SECTOR_SIZE, HFSX_VOLUME_TYPE); - - writeDriverDescriptorMap(abstractOut, DDM, &CRCProxy, (void*) (&dataForkToken), &resources); - free(DDM); - writeApplePartitionMap(abstractOut, partitions, &CRCProxy, (void*) (&dataForkToken), &resources, &nsiz); - free(partitions); - writeATAPI(abstractOut, &CRCProxy, (void*) (&dataForkToken), &resources, &nsiz); - - memset(&uncompressedToken, 0, sizeof(uncompressedToken)); - SHA1Init(&(uncompressedToken.sha1)); - - printf("Writing main data blkx...\n"); fflush(stdout); - - abstractIn->seek(abstractIn, 0); - blkx = insertBLKX(abstractOut, abstractIn, USER_OFFSET, (volumeHeader->totalBlocks * volumeHeader->blockSize)/SECTOR_SIZE, - 2, CHECKSUM_CRC32, &BlockSHA1CRC, &uncompressedToken, &CRCProxy, &dataForkToken, volume); - - blkx->checksum.data[0] = uncompressedToken.crc; - printf("Inserting main blkx...\n"); fflush(stdout); - - resources = insertData(resources, "blkx", 2, "Mac_OS_X (Apple_HFSX : 3)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); - free(blkx); - - - printf("Inserting cSum data...\n"); fflush(stdout); - - csum.version = 1; - csum.type = CHECKSUM_MKBLOCK; - csum.checksum = uncompressedToken.block; - - resources = insertData(resources, "cSum", 2, "", (const char*) (&csum), sizeof(csum), 0); - - printf("Inserting nsiz data\n"); fflush(stdout); - - myNSiz = (NSizResource*) malloc(sizeof(NSizResource)); - memset(myNSiz, 0, sizeof(NSizResource)); - myNSiz->isVolume = TRUE; - myNSiz->blockChecksum2 = uncompressedToken.block; - myNSiz->partitionNumber = 2; - myNSiz->version = 6; - myNSiz->bytes = (volumeHeader->totalBlocks - volumeHeader->freeBlocks) * volumeHeader->blockSize; - myNSiz->modifyDate = volumeHeader->modifyDate; - myNSiz->volumeSignature = volumeHeader->signature; - myNSiz->sha1Digest = (unsigned char *)malloc(20); - SHA1Final(myNSiz->sha1Digest, &(uncompressedToken.sha1)); - myNSiz->next = NULL; - if(nsiz == NULL) { - nsiz = myNSiz; - } else { - myNSiz->next = nsiz->next; - nsiz->next = myNSiz; - } - - printf("Writing free partition...\n"); fflush(stdout); - - writeFreePartition(abstractOut, (volumeHeader->totalBlocks * volumeHeader->blockSize)/SECTOR_SIZE, &resources); - - dataForkChecksum = dataForkToken.crc; - - printf("Writing XML data...\n"); fflush(stdout); - curResource = resources; - while(curResource->next != NULL) - curResource = curResource->next; - - curResource->next = writeNSiz(nsiz); - curResource = curResource->next; - releaseNSiz(nsiz); - - curResource->next = makePlst(); - curResource = curResource->next; - - curResource->next = makeSize(volumeHeader); - curResource = curResource->next; - - plistOffset = abstractOut->tell(abstractOut); - writeResources(abstractOut, resources); - plistSize = abstractOut->tell(abstractOut) - plistOffset; - - printf("Generating UDIF metadata...\n"); fflush(stdout); - - koly.fUDIFSignature = KOLY_SIGNATURE; - koly.fUDIFVersion = 4; - koly.fUDIFHeaderSize = sizeof(koly); - koly.fUDIFFlags = kUDIFFlagsFlattened; - koly.fUDIFRunningDataForkOffset = 0; - koly.fUDIFDataForkOffset = 0; - koly.fUDIFDataForkLength = plistOffset; - koly.fUDIFRsrcForkOffset = 0; - koly.fUDIFRsrcForkLength = 0; - - koly.fUDIFSegmentNumber = 1; - koly.fUDIFSegmentCount = 1; - koly.fUDIFSegmentID.data1 = rand(); - koly.fUDIFSegmentID.data2 = rand(); - koly.fUDIFSegmentID.data3 = rand(); - koly.fUDIFSegmentID.data4 = rand(); - koly.fUDIFDataForkChecksum.type = CHECKSUM_CRC32; - koly.fUDIFDataForkChecksum.size = 0x20; - koly.fUDIFDataForkChecksum.data[0] = dataForkChecksum; - koly.fUDIFXMLOffset = plistOffset; - koly.fUDIFXMLLength = plistSize; - memset(&(koly.reserved1), 0, 0x78); - - koly.fUDIFMasterChecksum.type = CHECKSUM_CRC32; - koly.fUDIFMasterChecksum.size = 0x20; - koly.fUDIFMasterChecksum.data[0] = calculateMasterChecksum(resources); - printf("Master checksum: %x\n", koly.fUDIFMasterChecksum.data[0]); fflush(stdout); - - koly.fUDIFImageVariant = kUDIFDeviceImageType; - koly.fUDIFSectorCount = EXTRA_SIZE + (volumeHeader->totalBlocks * volumeHeader->blockSize)/SECTOR_SIZE; - koly.reserved2 = 0; - koly.reserved3 = 0; - koly.reserved4 = 0; - - printf("Writing out UDIF resource file...\n"); fflush(stdout); - - writeUDIFResourceFile(abstractOut, &koly); - - printf("Cleaning up...\n"); fflush(stdout); - - releaseResources(resources); - - abstractOut->close(abstractOut); - closeVolume(volume); - CLOSE(io); - - printf("Done.\n"); fflush(stdout); - - return TRUE; -} - -int convertToDMG(AbstractFile* abstractIn, AbstractFile* abstractOut) { - Partition* partitions; - DriverDescriptorRecord* DDM; - int i; - - BLKXTable* blkx; - ResourceKey* resources; - ResourceKey* curResource; - - ChecksumToken dataForkToken; - ChecksumToken uncompressedToken; - - NSizResource* nsiz; - NSizResource* myNSiz; - CSumResource csum; - - off_t plistOffset; - uint32_t plistSize; - uint32_t dataForkChecksum; - uint64_t numSectors; - - UDIFResourceFile koly; - - char partitionName[512]; - - off_t fileLength; - size_t partitionTableSize; - - unsigned int BlockSize; - - numSectors = 0; - - resources = NULL; - nsiz = NULL; - myNSiz = NULL; - memset(&dataForkToken, 0, sizeof(ChecksumToken)); - memset(koly.fUDIFMasterChecksum.data, 0, sizeof(koly.fUDIFMasterChecksum.data)); - memset(koly.fUDIFDataForkChecksum.data, 0, sizeof(koly.fUDIFDataForkChecksum.data)); - - partitions = (Partition*) malloc(SECTOR_SIZE); - - printf("Processing DDM...\n"); fflush(stdout); - DDM = (DriverDescriptorRecord*) malloc(SECTOR_SIZE); - abstractIn->seek(abstractIn, 0); - ASSERT(abstractIn->read(abstractIn, DDM, SECTOR_SIZE) == SECTOR_SIZE, "fread"); - flipDriverDescriptorRecord(DDM, FALSE); - - if(DDM->sbSig == DRIVER_DESCRIPTOR_SIGNATURE) { - BlockSize = DDM->sbBlkSize; - writeDriverDescriptorMap(abstractOut, DDM, &CRCProxy, (void*) (&dataForkToken), &resources); - free(DDM); - - printf("Processing partition map...\n"); fflush(stdout); - - abstractIn->seek(abstractIn, BlockSize); - ASSERT(abstractIn->read(abstractIn, partitions, BlockSize) == BlockSize, "fread"); - flipPartitionMultiple(partitions, FALSE, FALSE, BlockSize); - - partitionTableSize = BlockSize * partitions->pmMapBlkCnt; - partitions = (Partition*) realloc(partitions, partitionTableSize); - - abstractIn->seek(abstractIn, BlockSize); - ASSERT(abstractIn->read(abstractIn, partitions, partitionTableSize) == partitionTableSize, "fread"); - flipPartition(partitions, FALSE, BlockSize); - - printf("Writing blkx (%d)...\n", partitions->pmMapBlkCnt); fflush(stdout); - - for(i = 0; i < partitions->pmMapBlkCnt; i++) { - if(partitions[i].pmSig != APPLE_PARTITION_MAP_SIGNATURE) { - break; - } - - printf("Processing blkx %d, total %d...\n", i, partitions->pmMapBlkCnt); fflush(stdout); - - sprintf(partitionName, "%s (%s : %d)", partitions[i].pmPartName, partitions[i].pmParType, i + 1); - - memset(&uncompressedToken, 0, sizeof(uncompressedToken)); - - abstractIn->seek(abstractIn, partitions[i].pmPyPartStart * BlockSize); - blkx = insertBLKX(abstractOut, abstractIn, partitions[i].pmPyPartStart, partitions[i].pmPartBlkCnt, i, CHECKSUM_CRC32, - &BlockCRC, &uncompressedToken, &CRCProxy, &dataForkToken, NULL); - - blkx->checksum.data[0] = uncompressedToken.crc; - resources = insertData(resources, "blkx", i, partitionName, (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); - free(blkx); - - memset(&csum, 0, sizeof(CSumResource)); - csum.version = 1; - csum.type = CHECKSUM_MKBLOCK; - csum.checksum = uncompressedToken.block; - resources = insertData(resources, "cSum", i, "", (const char*) (&csum), sizeof(csum), 0); - - if(nsiz == NULL) { - nsiz = myNSiz = (NSizResource*) malloc(sizeof(NSizResource)); - } else { - myNSiz->next = (NSizResource*) malloc(sizeof(NSizResource)); - myNSiz = myNSiz->next; - } - - memset(myNSiz, 0, sizeof(NSizResource)); - myNSiz->isVolume = FALSE; - myNSiz->blockChecksum2 = uncompressedToken.block; - myNSiz->partitionNumber = i; - myNSiz->version = 6; - myNSiz->next = NULL; - - if((partitions[i].pmPyPartStart + partitions[i].pmPartBlkCnt) > numSectors) { - numSectors = partitions[i].pmPyPartStart + partitions[i].pmPartBlkCnt; - } - } - - koly.fUDIFImageVariant = kUDIFDeviceImageType; - } else { - printf("No DDM! Just doing one huge blkx then...\n"); fflush(stdout); - - fileLength = abstractIn->getLength(abstractIn); - - memset(&uncompressedToken, 0, sizeof(uncompressedToken)); - - abstractIn->seek(abstractIn, 0); - blkx = insertBLKX(abstractOut, abstractIn, 0, fileLength/SECTOR_SIZE, ENTIRE_DEVICE_DESCRIPTOR, CHECKSUM_CRC32, - &BlockCRC, &uncompressedToken, &CRCProxy, &dataForkToken, NULL); - blkx->checksum.data[0] = uncompressedToken.crc; - resources = insertData(resources, "blkx", 0, "whole disk (unknown partition : 0)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); - free(blkx); - - memset(&csum, 0, sizeof(CSumResource)); - csum.version = 1; - csum.type = CHECKSUM_MKBLOCK; - csum.checksum = uncompressedToken.block; - resources = insertData(resources, "cSum", 0, "", (const char*) (&csum), sizeof(csum), 0); - - if(nsiz == NULL) { - nsiz = myNSiz = (NSizResource*) malloc(sizeof(NSizResource)); - } else { - myNSiz->next = (NSizResource*) malloc(sizeof(NSizResource)); - myNSiz = myNSiz->next; - } - - memset(myNSiz, 0, sizeof(NSizResource)); - myNSiz->isVolume = FALSE; - myNSiz->blockChecksum2 = uncompressedToken.block; - myNSiz->partitionNumber = 0; - myNSiz->version = 6; - myNSiz->next = NULL; - - koly.fUDIFImageVariant = kUDIFPartitionImageType; - } - - dataForkChecksum = dataForkToken.crc; - - printf("Writing XML data...\n"); fflush(stdout); - curResource = resources; - while(curResource->next != NULL) - curResource = curResource->next; - - curResource->next = writeNSiz(nsiz); - curResource = curResource->next; - releaseNSiz(nsiz); - - curResource->next = makePlst(); - curResource = curResource->next; - - plistOffset = abstractOut->tell(abstractOut); - writeResources(abstractOut, resources); - plistSize = abstractOut->tell(abstractOut) - plistOffset; - - printf("Generating UDIF metadata...\n"); fflush(stdout); - - koly.fUDIFSignature = KOLY_SIGNATURE; - koly.fUDIFVersion = 4; - koly.fUDIFHeaderSize = sizeof(koly); - koly.fUDIFFlags = kUDIFFlagsFlattened; - koly.fUDIFRunningDataForkOffset = 0; - koly.fUDIFDataForkOffset = 0; - koly.fUDIFDataForkLength = plistOffset; - koly.fUDIFRsrcForkOffset = 0; - koly.fUDIFRsrcForkLength = 0; - - koly.fUDIFSegmentNumber = 1; - koly.fUDIFSegmentCount = 1; - koly.fUDIFSegmentID.data1 = rand(); - koly.fUDIFSegmentID.data2 = rand(); - koly.fUDIFSegmentID.data3 = rand(); - koly.fUDIFSegmentID.data4 = rand(); - koly.fUDIFDataForkChecksum.type = CHECKSUM_CRC32; - koly.fUDIFDataForkChecksum.size = 0x20; - koly.fUDIFDataForkChecksum.data[0] = dataForkChecksum; - koly.fUDIFXMLOffset = plistOffset; - koly.fUDIFXMLLength = plistSize; - memset(&(koly.reserved1), 0, 0x78); - - koly.fUDIFMasterChecksum.type = CHECKSUM_CRC32; - koly.fUDIFMasterChecksum.size = 0x20; - koly.fUDIFMasterChecksum.data[0] = calculateMasterChecksum(resources); - printf("Master checksum: %x\n", koly.fUDIFMasterChecksum.data[0]); fflush(stdout); - - koly.fUDIFSectorCount = numSectors; - koly.reserved2 = 0; - koly.reserved3 = 0; - koly.reserved4 = 0; - - printf("Writing out UDIF resource file...\n"); fflush(stdout); - - writeUDIFResourceFile(abstractOut, &koly); - - printf("Cleaning up...\n"); fflush(stdout); - - releaseResources(resources); - - abstractIn->close(abstractIn); - free(partitions); - - printf("Done\n"); fflush(stdout); - - abstractOut->close(abstractOut); - - return TRUE; -} - -int convertToISO(AbstractFile* abstractIn, AbstractFile* abstractOut) { - off_t fileLength; - UDIFResourceFile resourceFile; - ResourceKey* resources; - ResourceData* blkx; - BLKXTable* blkxTable; - - fileLength = abstractIn->getLength(abstractIn); - abstractIn->seek(abstractIn, fileLength - sizeof(UDIFResourceFile)); - readUDIFResourceFile(abstractIn, &resourceFile); - resources = readResources(abstractIn, &resourceFile); - - blkx = (getResourceByKey(resources, "blkx"))->data; - - printf("Writing out data..\n"); fflush(stdout); - - while(blkx != NULL) { - blkxTable = (BLKXTable*)(blkx->data); - abstractOut->seek(abstractOut, blkxTable->firstSectorNumber * 512); - extractBLKX(abstractIn, abstractOut, blkxTable); - blkx = blkx->next; - } - - abstractOut->close(abstractOut); - - releaseResources(resources); - abstractIn->close(abstractIn); - - return TRUE; - -} diff --git a/3rdparty/libdmg-hfsplus/dmg/filevault.c b/3rdparty/libdmg-hfsplus/dmg/filevault.c deleted file mode 100644 index 3bda9a0f9..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/filevault.c +++ /dev/null @@ -1,269 +0,0 @@ -#include -#include -#include - -#include -#include -#include - -#ifdef HAVE_CRYPT - -#include -#include -#include - -#define CHUNKNO(oft, info) ((uint32_t)((oft)/info->blockSize)) -#define CHUNKOFFSET(oft, info) ((size_t)((oft) - ((off_t)(CHUNKNO(oft, info)) * (off_t)info->blockSize))) - -static void flipFileVaultV2Header(FileVaultV2Header* header) { - FLIPENDIAN(header->signature); - FLIPENDIAN(header->version); - FLIPENDIAN(header->encIVSize); - FLIPENDIAN(header->unk1); - FLIPENDIAN(header->unk2); - FLIPENDIAN(header->unk3); - FLIPENDIAN(header->unk4); - FLIPENDIAN(header->unk5); - FLIPENDIAN(header->unk5); - - FLIPENDIAN(header->blockSize); - FLIPENDIAN(header->dataSize); - FLIPENDIAN(header->dataOffset); - FLIPENDIAN(header->kdfAlgorithm); - FLIPENDIAN(header->kdfPRNGAlgorithm); - FLIPENDIAN(header->kdfIterationCount); - FLIPENDIAN(header->kdfSaltLen); - FLIPENDIAN(header->blobEncIVSize); - FLIPENDIAN(header->blobEncKeyBits); - FLIPENDIAN(header->blobEncAlgorithm); - FLIPENDIAN(header->blobEncPadding); - FLIPENDIAN(header->blobEncMode); - FLIPENDIAN(header->encryptedKeyblobSize); -} - -static void writeChunk(FileVaultInfo* info) { - unsigned char buffer[info->blockSize]; - unsigned char buffer2[info->blockSize]; - unsigned char msgDigest[FILEVAULT_MSGDGST_LENGTH]; - uint32_t msgDigestLen; - uint32_t myChunk; - - myChunk = info->curChunk; - - FLIPENDIAN(myChunk); - HMAC_Init_ex(&(info->hmacCTX), NULL, 0, NULL, NULL); - HMAC_Update(&(info->hmacCTX), (unsigned char *) &myChunk, sizeof(uint32_t)); - HMAC_Final(&(info->hmacCTX), msgDigest, &msgDigestLen); - - AES_cbc_encrypt(info->chunk, buffer, info->blockSize, &(info->aesEncKey), msgDigest, AES_ENCRYPT); - - info->file->seek(info->file, (info->curChunk * info->blockSize) + info->dataOffset); - info->file->read(info->file, buffer2, info->blockSize); - - info->file->seek(info->file, (info->curChunk * info->blockSize) + info->dataOffset); - info->file->write(info->file, buffer, info->blockSize); - - info->dirty = FALSE; -} - -static void cacheChunk(FileVaultInfo* info, uint32_t chunk) { - unsigned char buffer[info->blockSize]; - unsigned char msgDigest[FILEVAULT_MSGDGST_LENGTH]; - uint32_t msgDigestLen; - - if(chunk == info->curChunk) { - return; - } - - if(info->dirty) { - writeChunk(info); - } - - info->file->seek(info->file, chunk * info->blockSize + info->dataOffset); - info->file->read(info->file, buffer, info->blockSize); - - info->curChunk = chunk; - - FLIPENDIAN(chunk); - HMAC_Init_ex(&(info->hmacCTX), NULL, 0, NULL, NULL); - HMAC_Update(&(info->hmacCTX), (unsigned char *) &chunk, sizeof(uint32_t)); - HMAC_Final(&(info->hmacCTX), msgDigest, &msgDigestLen); - - AES_cbc_encrypt(buffer, info->chunk, info->blockSize, &(info->aesKey), msgDigest, AES_DECRYPT); -} - -size_t fvRead(AbstractFile* file, void* data, size_t len) { - FileVaultInfo* info; - size_t toRead; - - info = (FileVaultInfo*) (file->data); - - if((CHUNKOFFSET(info->offset, info) + len) > info->blockSize) { - toRead = info->blockSize - CHUNKOFFSET(info->offset, info); - memcpy(data, (void *)((uint8_t*)(&(info->chunk)) + CHUNKOFFSET(info->offset, info)), toRead); - info->offset += toRead; - cacheChunk(info, CHUNKNO(info->offset, info)); - return toRead + fvRead(file, (void *)((uint8_t*)data + toRead), len - toRead); - } else { - toRead = len; - memcpy(data, (void *)((uint8_t*)(&(info->chunk)) + CHUNKOFFSET(info->offset, info)), toRead); - info->offset += toRead; - cacheChunk(info, CHUNKNO(info->offset, info)); - return toRead; - } -} - -size_t fvWrite(AbstractFile* file, const void* data, size_t len) { - FileVaultInfo* info; - size_t toRead; - int i; - - info = (FileVaultInfo*) (file->data); - - if(info->dataSize < (info->offset + len)) { - if(info->version == 2) { - info->header.v2.dataSize = info->offset + len; - } - info->headerDirty = TRUE; - } - - if((CHUNKOFFSET(info->offset, info) + len) > info->blockSize) { - toRead = info->blockSize - CHUNKOFFSET(info->offset, info); - for(i = 0; i < toRead; i++) { - ASSERT(*((char*)((uint8_t*)(&(info->chunk)) + (uint32_t)CHUNKOFFSET(info->offset, info) + i)) == ((char*)data)[i], "blah"); - } - memcpy((void *)((uint8_t*)(&(info->chunk)) + (uint32_t)CHUNKOFFSET(info->offset, info)), data, toRead); - info->dirty = TRUE; - info->offset += toRead; - cacheChunk(info, CHUNKNO(info->offset, info)); - return toRead + fvWrite(file, (void *)((uint8_t*)data + toRead), len - toRead); - } else { - toRead = len; - for(i = 0; i < toRead; i++) { - ASSERT(*((char*)((uint8_t*)(&(info->chunk)) + CHUNKOFFSET(info->offset, info) + i)) == ((char*)data)[i], "blah"); - } - memcpy((void *)((uint8_t*)(&(info->chunk)) + CHUNKOFFSET(info->offset, info)), data, toRead); - info->dirty = TRUE; - info->offset += toRead; - cacheChunk(info, CHUNKNO(info->offset, info)); - return toRead; - } -} - -int fvSeek(AbstractFile* file, off_t offset) { - FileVaultInfo* info = (FileVaultInfo*) (file->data); - info->offset = offset; - cacheChunk(info, CHUNKNO(offset, info)); - return 0; -} - -off_t fvTell(AbstractFile* file) { - FileVaultInfo* info = (FileVaultInfo*) (file->data); - return info->offset; -} - -off_t fvGetLength(AbstractFile* file) { - FileVaultInfo* info = (FileVaultInfo*) (file->data); - return info->dataSize; -} - -void fvClose(AbstractFile* file) { - FileVaultInfo* info = (FileVaultInfo*) (file->data); - - /* force a flush */ - if(info->curChunk == 0) { - cacheChunk(info, 1); - } else { - cacheChunk(info, 0); - } - - HMAC_CTX_cleanup(&(info->hmacCTX)); - - if(info->headerDirty) { - if(info->version == 2) { - file->seek(file, 0); - flipFileVaultV2Header(&(info->header.v2)); - file->write(file, &(info->header.v2), sizeof(FileVaultV2Header)); - } - } - - info->file->close(info->file); - free(info); - free(file); -} - -AbstractFile* createAbstractFileFromFileVault(AbstractFile* file, const char* key) { - FileVaultInfo* info; - AbstractFile* toReturn; - uint64_t signature; - uint8_t aesKey[16]; - uint8_t hmacKey[20]; - - int i; - - if(file == NULL) - return NULL; - - file->seek(file, 0); - file->read(file, &signature, sizeof(uint64_t)); - FLIPENDIAN(signature); - if(signature != FILEVAULT_V2_SIGNATURE) { - printf("Unknown signature: %" PRId64 "\n", signature); - /* no FileVault v1 handling yet */ - return NULL; - } - - toReturn = (AbstractFile*) malloc(sizeof(AbstractFile)); - info = (FileVaultInfo*) malloc(sizeof(FileVaultInfo)); - - info->version = 2; - - file->seek(file, 0); - file->read(file, &(info->header.v2), sizeof(FileVaultV2Header)); - flipFileVaultV2Header(&(info->header.v2)); - - for(i = 0; i < 16; i++) { - unsigned int curByte; - sscanf(&(key[i * 2]), "%02x", &curByte); - aesKey[i] = curByte; - } - - for(i = 0; i < 20; i++) { - unsigned int curByte; - sscanf(&(key[(16 * 2) + i * 2]), "%02x", &curByte); - hmacKey[i] = curByte; - } - - HMAC_CTX_init(&(info->hmacCTX)); - HMAC_Init_ex(&(info->hmacCTX), hmacKey, sizeof(hmacKey), EVP_sha1(), NULL); - AES_set_decrypt_key(aesKey, FILEVAULT_CIPHER_KEY_LENGTH * 8, &(info->aesKey)); - AES_set_encrypt_key(aesKey, FILEVAULT_CIPHER_KEY_LENGTH * 8, &(info->aesEncKey)); - - info->dataOffset = info->header.v2.dataOffset; - info->dataSize = info->header.v2.dataSize; - info->blockSize = info->header.v2.blockSize; - info->offset = 0; - info->file = file; - - info->headerDirty = FALSE; - info->dirty = FALSE; - info->curChunk = 1; /* just to set it to a value not 0 */ - cacheChunk(info, 0); - - toReturn->data = info; - toReturn->read = fvRead; - toReturn->write = fvWrite; - toReturn->seek = fvSeek; - toReturn->tell = fvTell; - toReturn->getLength = fvGetLength; - toReturn->close = fvClose; - return toReturn; -} - -#else - -AbstractFile* createAbstractFileFromFileVault(AbstractFile* file, const char* key) { - return NULL; -} - -#endif diff --git a/3rdparty/libdmg-hfsplus/dmg/io.c b/3rdparty/libdmg-hfsplus/dmg/io.c deleted file mode 100644 index 1c44f4429..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/io.c +++ /dev/null @@ -1,257 +0,0 @@ -#include -#include -#include -#include - -#include -#include -#include - -#define SECTORS_AT_A_TIME 0x200 - -BLKXTable* insertBLKX(AbstractFile* out, AbstractFile* in, uint32_t firstSectorNumber, uint32_t numSectors, uint32_t blocksDescriptor, - uint32_t checksumType, ChecksumFunc uncompressedChk, void* uncompressedChkToken, ChecksumFunc compressedChk, - void* compressedChkToken, Volume* volume) { - BLKXTable* blkx; - - uint32_t roomForRuns; - uint32_t curRun; - uint64_t curSector; - - unsigned char* inBuffer; - unsigned char* outBuffer; - size_t bufferSize; - size_t have; - int ret; - - z_stream strm; - - - blkx = (BLKXTable*) malloc(sizeof(BLKXTable) + (2 * sizeof(BLKXRun))); - roomForRuns = 2; - memset(blkx, 0, sizeof(BLKXTable) + (roomForRuns * sizeof(BLKXRun))); - - blkx->fUDIFBlocksSignature = UDIF_BLOCK_SIGNATURE; - blkx->infoVersion = 1; - blkx->firstSectorNumber = firstSectorNumber; - blkx->sectorCount = numSectors; - blkx->dataStart = 0; - blkx->decompressBufferRequested = 0x208; - blkx->blocksDescriptor = blocksDescriptor; - blkx->reserved1 = 0; - blkx->reserved2 = 0; - blkx->reserved3 = 0; - blkx->reserved4 = 0; - blkx->reserved5 = 0; - blkx->reserved6 = 0; - memset(&(blkx->checksum), 0, sizeof(blkx->checksum)); - blkx->checksum.type = checksumType; - blkx->checksum.size = 0x20; - blkx->blocksRunCount = 0; - - bufferSize = SECTOR_SIZE * blkx->decompressBufferRequested; - - ASSERT(inBuffer = (unsigned char*) malloc(bufferSize), "malloc"); - ASSERT(outBuffer = (unsigned char*) malloc(bufferSize), "malloc"); - - curRun = 0; - curSector = 0; - - while(numSectors > 0) { - if(curRun >= roomForRuns) { - roomForRuns <<= 1; - blkx = (BLKXTable*) realloc(blkx, sizeof(BLKXTable) + (roomForRuns * sizeof(BLKXRun))); - } - - blkx->runs[curRun].type = BLOCK_ZLIB; - blkx->runs[curRun].reserved = 0; - blkx->runs[curRun].sectorStart = curSector; - blkx->runs[curRun].sectorCount = (numSectors > SECTORS_AT_A_TIME) ? SECTORS_AT_A_TIME : numSectors; - - memset(&strm, 0, sizeof(strm)); - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - - printf("run %d: sectors=%" PRId64 ", left=%d\n", curRun, blkx->runs[curRun].sectorCount, numSectors); - - ASSERT(deflateInit(&strm, Z_DEFAULT_COMPRESSION) == Z_OK, "deflateInit"); - - ASSERT((strm.avail_in = in->read(in, inBuffer, blkx->runs[curRun].sectorCount * SECTOR_SIZE)) == (blkx->runs[curRun].sectorCount * SECTOR_SIZE), "mRead"); - strm.next_in = inBuffer; - - if(uncompressedChk) - (*uncompressedChk)(uncompressedChkToken, inBuffer, blkx->runs[curRun].sectorCount * SECTOR_SIZE); - - blkx->runs[curRun].compOffset = out->tell(out) - blkx->dataStart; - blkx->runs[curRun].compLength = 0; - - strm.avail_out = bufferSize; - strm.next_out = outBuffer; - - ASSERT((ret = deflate(&strm, Z_FINISH)) != Z_STREAM_ERROR, "deflate/Z_STREAM_ERROR"); - if(ret != Z_STREAM_END) { - ASSERT(FALSE, "deflate"); - } - have = bufferSize - strm.avail_out; - - if((have / SECTOR_SIZE) > blkx->runs[curRun].sectorCount) { - blkx->runs[curRun].type = BLOCK_RAW; - ASSERT(out->write(out, inBuffer, blkx->runs[curRun].sectorCount * SECTOR_SIZE) == (blkx->runs[curRun].sectorCount * SECTOR_SIZE), "fwrite"); - blkx->runs[curRun].compLength += blkx->runs[curRun].sectorCount * SECTOR_SIZE; - - if(compressedChk) - (*compressedChk)(compressedChkToken, inBuffer, blkx->runs[curRun].sectorCount * SECTOR_SIZE); - - } else { - ASSERT(out->write(out, outBuffer, have) == have, "fwrite"); - - if(compressedChk) - (*compressedChk)(compressedChkToken, outBuffer, have); - - blkx->runs[curRun].compLength += have; - } - - deflateEnd(&strm); - - curSector += blkx->runs[curRun].sectorCount; - numSectors -= blkx->runs[curRun].sectorCount; - curRun++; - } - - if(curRun >= roomForRuns) { - roomForRuns <<= 1; - blkx = (BLKXTable*) realloc(blkx, sizeof(BLKXTable) + (roomForRuns * sizeof(BLKXRun))); - } - - blkx->runs[curRun].type = BLOCK_TERMINATOR; - blkx->runs[curRun].reserved = 0; - blkx->runs[curRun].sectorStart = curSector; - blkx->runs[curRun].sectorCount = 0; - blkx->runs[curRun].compOffset = out->tell(out) - blkx->dataStart; - blkx->runs[curRun].compLength = 0; - blkx->blocksRunCount = curRun + 1; - - free(inBuffer); - free(outBuffer); - - return blkx; -} - -#define DEFAULT_BUFFER_SIZE (1 * 1024 * 1024) - -void extractBLKX(AbstractFile* in, AbstractFile* out, BLKXTable* blkx) { - unsigned char* inBuffer; - unsigned char* outBuffer; - unsigned char zero; - size_t bufferSize; - size_t have; - off_t initialOffset; - int i; - int ret; - - z_stream strm; - - bufferSize = SECTOR_SIZE * blkx->decompressBufferRequested; - - ASSERT(inBuffer = (unsigned char*) malloc(bufferSize), "malloc"); - ASSERT(outBuffer = (unsigned char*) malloc(bufferSize), "malloc"); - - initialOffset = out->tell(out); - ASSERT(initialOffset != -1, "ftello"); - - zero = 0; - - for(i = 0; i < blkx->blocksRunCount; i++) { - ASSERT(in->seek(in, blkx->dataStart + blkx->runs[i].compOffset) == 0, "fseeko"); - ASSERT(out->seek(out, initialOffset + (blkx->runs[i].sectorStart * SECTOR_SIZE)) == 0, "mSeek"); - - if(blkx->runs[i].sectorCount > 0) { - ASSERT(out->seek(out, initialOffset + (blkx->runs[i].sectorStart + blkx->runs[i].sectorCount) * SECTOR_SIZE - 1) == 0, "mSeek"); - ASSERT(out->write(out, &zero, 1) == 1, "mWrite"); - ASSERT(out->seek(out, initialOffset + (blkx->runs[i].sectorStart * SECTOR_SIZE)) == 0, "mSeek"); - } - - if(blkx->runs[i].type == BLOCK_TERMINATOR) { - break; - } - - if( blkx->runs[i].compLength == 0) { - continue; - } - - printf("run %d: start=%" PRId64 " sectors=%" PRId64 ", length=%" PRId64 ", fileOffset=0x%" PRIx64 "\n", i, initialOffset + (blkx->runs[i].sectorStart * SECTOR_SIZE), blkx->runs[i].sectorCount, blkx->runs[i].compLength, blkx->runs[i].compOffset); - - switch(blkx->runs[i].type) { - case BLOCK_ADC: - { - size_t bufferRead = 0; - do { - ASSERT((strm.avail_in = in->read(in, inBuffer, blkx->runs[i].compLength)) == blkx->runs[i].compLength, "fread"); - strm.avail_out = adc_decompress(strm.avail_in, inBuffer, bufferSize, outBuffer, &have); - ASSERT(out->write(out, outBuffer, have) == have, "mWrite"); - bufferRead+=strm.avail_out; - } while (bufferRead < blkx->runs[i].compLength); - break; - } - - case BLOCK_ZLIB: - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - strm.avail_in = 0; - strm.next_in = Z_NULL; - - ASSERT(inflateInit(&strm) == Z_OK, "inflateInit"); - - ASSERT((strm.avail_in = in->read(in, inBuffer, blkx->runs[i].compLength)) == blkx->runs[i].compLength, "fread"); - strm.next_in = inBuffer; - - do { - strm.avail_out = bufferSize; - strm.next_out = outBuffer; - ASSERT((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_ERROR, "inflate/Z_STREAM_ERROR"); - if(ret != Z_OK && ret != Z_BUF_ERROR && ret != Z_STREAM_END) { - ASSERT(FALSE, "inflate"); - } - have = bufferSize - strm.avail_out; - ASSERT(out->write(out, outBuffer, have) == have, "mWrite"); - } while (strm.avail_out == 0); - - ASSERT(inflateEnd(&strm) == Z_OK, "inflateEnd"); - break; - case BLOCK_RAW: - if(blkx->runs[i].compLength > bufferSize) { - uint64_t left = blkx->runs[i].compLength; - void* pageBuffer = malloc(DEFAULT_BUFFER_SIZE); - while(left > 0) { - size_t thisRead; - if(left > DEFAULT_BUFFER_SIZE) { - thisRead = DEFAULT_BUFFER_SIZE; - } else { - thisRead = left; - } - ASSERT((have = in->read(in, pageBuffer, thisRead)) == thisRead, "fread"); - ASSERT(out->write(out, pageBuffer, have) == have, "mWrite"); - left -= have; - } - free(pageBuffer); - } else { - ASSERT((have = in->read(in, inBuffer, blkx->runs[i].compLength)) == blkx->runs[i].compLength, "fread"); - ASSERT(out->write(out, inBuffer, have) == have, "mWrite"); - } - break; - case BLOCK_IGNORE: - break; - case BLOCK_COMMENT: - break; - case BLOCK_TERMINATOR: - break; - default: - break; - } - } - - free(inBuffer); - free(outBuffer); -} diff --git a/3rdparty/libdmg-hfsplus/dmg/partition.c b/3rdparty/libdmg-hfsplus/dmg/partition.c deleted file mode 100644 index dc671dcf4..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/partition.c +++ /dev/null @@ -1,790 +0,0 @@ -#include -#include - -#include - -static unsigned char atapi_data [4096] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00 -}; - -static void flipDriverDescriptor(DriverDescriptor* descriptor) { - FLIPENDIAN(descriptor->ddBlock); - FLIPENDIAN(descriptor->ddSize); - FLIPENDIAN(descriptor->ddType); -} - -void flipDriverDescriptorRecord(DriverDescriptorRecord* record, char out) { - int i; - - FLIPENDIAN(record->sbSig); - FLIPENDIAN(record->sbBlkSize); - FLIPENDIAN(record->sbBlkCount); - FLIPENDIAN(record->sbDevType); - FLIPENDIAN(record->sbDevId); - FLIPENDIAN(record->sbData); - FLIPENDIAN(record->ddBlock); - FLIPENDIAN(record->ddSize); - FLIPENDIAN(record->ddType); - - if(out) { - for(i = 0; i < record->sbDrvrCount; i++) { - flipDriverDescriptor(&(record->ddPad[i])); - } - FLIPENDIAN(record->sbDrvrCount); - } else { - if(record->sbSig != DRIVER_DESCRIPTOR_SIGNATURE) { - return; - } - - FLIPENDIAN(record->sbDrvrCount); - for(i = 0; i < record->sbDrvrCount; i++) { - flipDriverDescriptor(&(record->ddPad[i])); - } - } -} - -void flipPartitionMultiple(Partition* partition, char multiple, char out, unsigned int BlockSize) { - int i; - int numPartitions; - - if(out) { - numPartitions = partition->pmMapBlkCnt; - } else { - numPartitions = partition->pmMapBlkCnt; - FLIPENDIAN(numPartitions); - } - - for(i = 0; i < numPartitions; i++) { - if(out) { - if(partition->pmSig != APPLE_PARTITION_MAP_SIGNATURE) { - break; - } - FLIPENDIAN(partition->pmSig); - } else { - FLIPENDIAN(partition->pmSig); - if(partition->pmSig != APPLE_PARTITION_MAP_SIGNATURE) { - break; - } - } - - FLIPENDIAN(partition->pmMapBlkCnt); - FLIPENDIAN(partition->pmPyPartStart); - FLIPENDIAN(partition->pmPartBlkCnt); - FLIPENDIAN(partition->pmLgDataStart); - FLIPENDIAN(partition->pmDataCnt); - FLIPENDIAN(partition->pmPartStatus); - FLIPENDIAN(partition->pmLgBootStart); - FLIPENDIAN(partition->pmBootSize); - FLIPENDIAN(partition->pmBootAddr); - FLIPENDIAN(partition->pmBootAddr2); - FLIPENDIAN(partition->pmBootEntry); - FLIPENDIAN(partition->pmBootEntry2); - FLIPENDIAN(partition->pmBootCksum); - FLIPENDIAN(partition->bootCode); - - if(!multiple) { - break; - } - - partition = (Partition*)((uint8_t*)partition + BlockSize); - } -} - -void flipPartition(Partition* partition, char out, unsigned int BlockSize) { - flipPartitionMultiple(partition, TRUE, out, BlockSize); -} - - -void readDriverDescriptorMap(AbstractFile* file, ResourceKey* resources) { - BLKXTable* blkx; - unsigned char* buffer; - AbstractFile* bufferFile; - DriverDescriptorRecord* record; - int i; - - blkx = (BLKXTable*) (getDataByID(getResourceByKey(resources, "blkx"), -1)->data); - - buffer = (unsigned char*) malloc(512); - bufferFile = createAbstractFileFromMemory((void**)&(buffer), 512); - extractBLKX(file, bufferFile, blkx); - bufferFile->close(bufferFile); - - record = (DriverDescriptorRecord*)buffer; - flipDriverDescriptorRecord(record, FALSE); - printf("sbSig:\t\t0x%x\n", record->sbSig); - printf("sbBlkSize:\t0x%x\n", record->sbBlkSize); - printf("sbBlkCount:\t0x%x\n", record->sbBlkCount); - printf("sbDevType:\t0x%x\n", record->sbDevType); - printf("sbDevId:\t0x%x\n", record->sbDevId); - printf("sbData:\t\t0x%x\n", record->sbData); - printf("sbDrvrCount:\t0x%x\n", record->sbDrvrCount); - printf("ddBlock:\t0x%x\n", record->ddBlock); - printf("ddSize:\t\t0x%x\n", record->ddSize); - printf("ddType:\t\t0x%x\n", record->ddType); - - for(i = 0; i < (record->sbDrvrCount - 1); i++) { - printf("\tddBlock:\t0x%x\n", record->ddPad[i].ddBlock); - printf("\tddSize:\t\t0x%x\n", record->ddPad[i].ddSize); - printf("\tddType:\t\t0x%x\n", record->ddPad[i].ddType); - } - - free(buffer); -} - -DriverDescriptorRecord* createDriverDescriptorMap(uint32_t numSectors) { - DriverDescriptorRecord* toReturn; - - toReturn = (DriverDescriptorRecord*) malloc(SECTOR_SIZE); - memset(toReturn, 0, SECTOR_SIZE); - - toReturn->sbSig = DRIVER_DESCRIPTOR_SIGNATURE; - toReturn->sbBlkSize = SECTOR_SIZE; - toReturn->sbBlkCount = numSectors + EXTRA_SIZE; - toReturn->sbDevType = 0; - toReturn->sbDevId = 0; - toReturn->sbData = 0; - toReturn->sbDrvrCount = 1; - toReturn->ddBlock = ATAPI_OFFSET; - toReturn->ddSize = 0x4; - toReturn->ddType = 0x701; - - return toReturn; -} - -void writeDriverDescriptorMap(AbstractFile* file, DriverDescriptorRecord* DDM, ChecksumFunc dataForkChecksum, void* dataForkToken, - ResourceKey **resources) { - AbstractFile* bufferFile; - BLKXTable* blkx; - ChecksumToken uncompressedToken; - DriverDescriptorRecord* buffer; - - buffer = (DriverDescriptorRecord*) malloc(DDM_SIZE * SECTOR_SIZE); - memcpy(buffer, DDM, DDM_SIZE * SECTOR_SIZE); - memset(&uncompressedToken, 0, sizeof(uncompressedToken)); - - flipDriverDescriptorRecord(buffer, TRUE); - - bufferFile = createAbstractFileFromMemory((void**)&buffer, DDM_SIZE * SECTOR_SIZE); - - blkx = insertBLKX(file, bufferFile, DDM_OFFSET, DDM_SIZE, DDM_DESCRIPTOR, CHECKSUM_CRC32, &CRCProxy, &uncompressedToken, - dataForkChecksum, dataForkToken, NULL); - - blkx->checksum.data[0] = uncompressedToken.crc; - - *resources = insertData(*resources, "blkx", -1, "Driver Descriptor Map (DDM : 0)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); - - free(buffer); - bufferFile->close(bufferFile); - free(blkx); -} - -void writeApplePartitionMap(AbstractFile* file, Partition* partitions, ChecksumFunc dataForkChecksum, void* dataForkToken, ResourceKey **resources, NSizResource** nsizIn) { - AbstractFile* bufferFile; - BLKXTable* blkx; - ChecksumToken uncompressedToken; - Partition* buffer; - NSizResource* nsiz; - CSumResource csum; - - buffer = (Partition*) malloc(PARTITION_SIZE * SECTOR_SIZE); - memcpy(buffer, partitions, PARTITION_SIZE * SECTOR_SIZE); - memset(&uncompressedToken, 0, sizeof(uncompressedToken)); - - flipPartition(buffer, TRUE, SECTOR_SIZE); - - bufferFile = createAbstractFileFromMemory((void**)&buffer, PARTITION_SIZE * SECTOR_SIZE); - - blkx = insertBLKX(file, bufferFile, PARTITION_OFFSET, PARTITION_SIZE, 0, CHECKSUM_CRC32, - &BlockCRC, &uncompressedToken, dataForkChecksum, dataForkToken, NULL); - - bufferFile->close(bufferFile); - - *((uint32_t*)blkx->checksum.data) = uncompressedToken.crc; - - csum.version = 1; - csum.type = CHECKSUM_MKBLOCK; - csum.checksum = uncompressedToken.block; - - *resources = insertData(*resources, "blkx", 0, "Apple (Apple_partition_map : 1)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); - *resources = insertData(*resources, "cSum", 0, "", (const char*) (&csum), sizeof(csum), 0); - - nsiz = (NSizResource*) malloc(sizeof(NSizResource)); - memset(nsiz, 0, sizeof(NSizResource)); - nsiz->isVolume = FALSE; - nsiz->blockChecksum2 = uncompressedToken.block; - nsiz->partitionNumber = 0; - nsiz->version = 6; - nsiz->next = NULL; - - if((*nsizIn) == NULL) { - *nsizIn = nsiz; - } else { - nsiz->next = (*nsizIn)->next; - (*nsizIn)->next = nsiz; - } - - free(buffer); - free(blkx); -} - -void writeATAPI(AbstractFile* file, ChecksumFunc dataForkChecksum, void* dataForkToken, ResourceKey **resources, NSizResource** nsizIn) { - AbstractFile* bufferFile; - BLKXTable* blkx; - ChecksumToken uncompressedToken; - NSizResource* nsiz; - CSumResource csum; - char* atapi; - - memset(&uncompressedToken, 0, sizeof(uncompressedToken)); - - atapi = (char*) malloc(ATAPI_SIZE * SECTOR_SIZE); - printf("malloc: %p %d\n", atapi, ATAPI_SIZE * SECTOR_SIZE); fflush(stdout); - memcpy(atapi, atapi_data, ATAPI_SIZE * SECTOR_SIZE); - bufferFile = createAbstractFileFromMemory((void**)&atapi, ATAPI_SIZE * SECTOR_SIZE); - - blkx = insertBLKX(file, bufferFile, ATAPI_OFFSET, ATAPI_SIZE, 1, CHECKSUM_CRC32, - &BlockCRC, &uncompressedToken, dataForkChecksum, dataForkToken, NULL); - - bufferFile->close(bufferFile); - free(atapi); - - blkx->checksum.data[0] = uncompressedToken.crc; - - csum.version = 1; - csum.type = CHECKSUM_MKBLOCK; - csum.checksum = uncompressedToken.block; - - *resources = insertData(*resources, "blkx", 1, "Macintosh (Apple_Driver_ATAPI : 2)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); - *resources = insertData(*resources, "cSum", 1, "", (const char*) (&csum), sizeof(csum), 0); - - nsiz = (NSizResource*) malloc(sizeof(NSizResource)); - memset(nsiz, 0, sizeof(NSizResource)); - nsiz->isVolume = FALSE; - nsiz->blockChecksum2 = uncompressedToken.block; - nsiz->partitionNumber = 1; - nsiz->version = 6; - nsiz->next = NULL; - - if((*nsizIn) == NULL) { - *nsizIn = nsiz; - } else { - nsiz->next = (*nsizIn)->next; - (*nsizIn)->next = nsiz; - } - - free(blkx); -} - - -void readApplePartitionMap(AbstractFile* file, ResourceKey* resources, unsigned int BlockSize) { - AbstractFile* bufferFile; - BLKXTable* blkx; - Partition* partition; - int i; - - blkx = (BLKXTable*) (getDataByID(getResourceByKey(resources, "blkx"), 0)->data); - - partition = (Partition*) malloc(512); - bufferFile = createAbstractFileFromMemory((void**)&partition, 512); - extractBLKX(file, bufferFile, blkx); - bufferFile->close(bufferFile); - - flipPartition(partition, FALSE, BlockSize); - - for(i = 0; i < partition->pmMapBlkCnt; i++) { - if(partition[i].pmSig != APPLE_PARTITION_MAP_SIGNATURE) { - break; - } - - printf("pmSig:\t\t\t0x%x\n", partition[i].pmSig); - printf("pmSigPad:\t\t0x%x\n", partition[i].pmSigPad); - printf("pmMapBlkCnt:\t\t0x%x\n", partition[i].pmMapBlkCnt); - printf("pmPartName:\t\t%s\n", partition[i].pmPartName); - printf("pmParType:\t\t%s\n", partition[i].pmParType); - printf("pmPyPartStart:\t\t0x%x\n", partition[i].pmPyPartStart); - printf("pmPartBlkCnt:\t\t0x%x\n", partition[i].pmPartBlkCnt); - printf("pmLgDataStart:\t\t0x%x\n", partition[i].pmLgDataStart); - printf("pmDataCnt:\t\t0x%x\n", partition[i].pmDataCnt); - printf("pmPartStatus:\t\t0x%x\n", partition[i].pmPartStatus); - printf("pmLgBootStart:\t\t0x%x\n", partition[i].pmLgBootStart); - printf("pmBootSize:\t\t0x%x\n", partition[i].pmBootSize); - printf("pmBootAddr:\t\t0x%x\n", partition[i].pmBootAddr); - printf("pmBootAddr2:\t\t0x%x\n", partition[i].pmBootAddr2); - printf("pmBootEntry:\t\t0x%x\n", partition[i].pmBootEntry); - printf("pmBootEntry2:\t\t0x%x\n", partition[i].pmBootEntry2); - printf("pmBootCksum:\t\t0x%x\n", partition[i].pmBootCksum); - printf("pmProcessor:\t\t\t%s\n\n", partition[i].pmProcessor); - } - - free(partition); -} - -Partition* createApplePartitionMap(uint32_t numSectors, const char* volumeType) { - Partition* partition; - - partition = (Partition*) malloc(SECTOR_SIZE * PARTITION_SIZE); - memset(partition, 0, SECTOR_SIZE * PARTITION_SIZE); - - partition[0].pmSig = APPLE_PARTITION_MAP_SIGNATURE; - partition[0].pmSigPad = 0; - partition[0].pmMapBlkCnt = 0x4; - strcpy((char*)partition[0].pmPartName, "Apple"); - strcpy((char*)partition[0].pmParType, "Apple_partition_map"); - partition[0].pmPyPartStart = PARTITION_OFFSET; - partition[0].pmPartBlkCnt = PARTITION_SIZE; - partition[0].pmLgDataStart = 0; - partition[0].pmDataCnt = PARTITION_SIZE; - partition[0].pmPartStatus = 0x3; - partition[0].pmLgBootStart = 0x0; - partition[0].pmBootSize = 0x0; - partition[0].pmBootAddr = 0x0; - partition[0].pmBootAddr2 = 0x0; - partition[0].pmBootEntry = 0x0; - partition[0].pmBootEntry2 = 0x0; - partition[0].pmBootCksum = 0x0; - partition[0].pmProcessor[0] = '\0'; - partition[0].bootCode = 0; - - partition[1].pmSig = APPLE_PARTITION_MAP_SIGNATURE; - partition[1].pmSigPad = 0; - partition[1].pmMapBlkCnt = 0x4; - strcpy((char*)partition[1].pmPartName, "Macintosh"); - strcpy((char*)partition[1].pmParType, "Apple_Driver_ATAPI"); - partition[1].pmPyPartStart = ATAPI_OFFSET; - partition[1].pmPartBlkCnt = ATAPI_SIZE; - partition[1].pmLgDataStart = 0; - partition[1].pmDataCnt = 0x04; - partition[1].pmPartStatus = 0x303; - partition[1].pmLgBootStart = 0x0; - partition[1].pmBootSize = 0x800; - partition[1].pmBootAddr = 0x0; - partition[1].pmBootAddr2 = 0x0; - partition[1].pmBootEntry = 0x0; - partition[1].pmBootEntry2 = 0x0; - partition[1].pmBootCksum = 0xffff; - partition[1].pmProcessor[0] = '\0'; - partition[1].bootCode = BOOTCODE_DMMY; - - partition[2].pmSig = APPLE_PARTITION_MAP_SIGNATURE; - partition[2].pmSigPad = 0; - partition[2].pmMapBlkCnt = 0x4; - strcpy((char*)partition[2].pmPartName, "Mac_OS_X"); - strcpy((char*)partition[2].pmParType, volumeType); - partition[2].pmPyPartStart = USER_OFFSET; - partition[2].pmPartBlkCnt = numSectors; - partition[2].pmLgDataStart = 0; - partition[2].pmDataCnt = numSectors; - partition[2].pmPartStatus = 0x40000033; - partition[2].pmLgBootStart = 0x0; - partition[2].pmBootSize = 0x0; - partition[2].pmBootAddr = 0x0; - partition[2].pmBootAddr2 = 0x0; - partition[2].pmBootEntry = 0x0; - partition[2].pmBootEntry2 = 0x0; - partition[2].pmBootCksum = 0x0; - partition[2].pmProcessor[0] = '\0'; - partition[2].bootCode = BOOTCODE_GOON; - - partition[3].pmSig = APPLE_PARTITION_MAP_SIGNATURE; - partition[3].pmSigPad = 0; - partition[3].pmMapBlkCnt = 0x4; - partition[3].pmPartName[0] = '\0'; - strcpy((char*)partition[3].pmParType, "Apple_Free"); - partition[3].pmPyPartStart = USER_OFFSET + numSectors; - partition[3].pmPartBlkCnt = FREE_SIZE; - partition[3].pmLgDataStart = 0; - partition[3].pmDataCnt = 0x0; - partition[3].pmPartStatus = 0x0; - partition[3].pmLgBootStart = 0x0; - partition[3].pmBootSize = 0x0; - partition[3].pmBootAddr = 0x0; - partition[3].pmBootAddr2 = 0x0; - partition[3].pmBootEntry = 0x0; - partition[3].pmBootEntry2 = 0x0; - partition[3].pmBootCksum = 0x0; - partition[3].pmProcessor[0] = '\0'; - partition[3].bootCode = 0; - - return partition; -} - -void writeFreePartition(AbstractFile* outFile, uint32_t numSectors, ResourceKey** resources) { - BLKXTable* blkx; - - blkx = (BLKXTable*) malloc(sizeof(BLKXTable) + (2 * sizeof(BLKXRun))); - - blkx->fUDIFBlocksSignature = UDIF_BLOCK_SIGNATURE; - blkx->infoVersion = 1; - blkx->firstSectorNumber = USER_OFFSET + numSectors; - blkx->sectorCount = FREE_SIZE; - blkx->dataStart = 0; - blkx->decompressBufferRequested = 0; - blkx->blocksDescriptor = 3; - blkx->reserved1 = 0; - blkx->reserved2 = 0; - blkx->reserved3 = 0; - blkx->reserved4 = 0; - blkx->reserved5 = 0; - blkx->reserved6 = 0; - memset(&(blkx->checksum), 0, sizeof(blkx->checksum)); - blkx->checksum.type = CHECKSUM_CRC32; - blkx->checksum.size = 0x20; - blkx->blocksRunCount = 2; - blkx->runs[0].type = BLOCK_IGNORE; - blkx->runs[0].reserved = 0; - blkx->runs[0].sectorStart = 0; - blkx->runs[0].sectorCount = FREE_SIZE; - blkx->runs[0].compOffset = outFile->tell(outFile); - blkx->runs[0].compLength = 0; - blkx->runs[1].type = BLOCK_TERMINATOR; - blkx->runs[1].reserved = 0; - blkx->runs[1].sectorStart = FREE_SIZE; - blkx->runs[1].sectorCount = 0; - blkx->runs[1].compOffset = blkx->runs[0].compOffset; - blkx->runs[1].compLength = 0; - - *resources = insertData(*resources, "blkx", 3, " (Apple_Free : 4)", (const char*) blkx, sizeof(BLKXTable) + (blkx->blocksRunCount * sizeof(BLKXRun)), ATTRIBUTE_HDIUTIL); - - free(blkx); -} diff --git a/3rdparty/libdmg-hfsplus/dmg/resources.c b/3rdparty/libdmg-hfsplus/dmg/resources.c deleted file mode 100644 index ab1a41904..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/resources.c +++ /dev/null @@ -1,850 +0,0 @@ -#include -#include -#include -#include -#include - -#include - -static char plstData[1032] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -const char* plistHeader = "\n\n\n\n"; -const char* plistFooter = "\n\n"; - -static void flipSizeResource(unsigned char* data, char out) { - SizeResource* size; - - size = (SizeResource*) data; - - FLIPENDIAN(size->version); - FLIPENDIAN(size->isHFS); - FLIPENDIAN(size->unknown2); - FLIPENDIAN(size->unknown3); - FLIPENDIAN(size->volumeModified); - FLIPENDIAN(size->unknown4); - FLIPENDIAN(size->volumeSignature); - FLIPENDIAN(size->sizePresent); -} - -static void flipCSumResource(unsigned char* data, char out) { - CSumResource* cSum; - - cSum = (CSumResource*) data; - - FLIPENDIAN(cSum->version); - FLIPENDIAN(cSum->type); - FLIPENDIAN(cSum->checksum); -} - - -static void flipBLKXRun(BLKXRun* data) { - BLKXRun* run; - - run = (BLKXRun*) data; - - FLIPENDIAN(run->type); - FLIPENDIAN(run->reserved); - FLIPENDIAN(run->sectorStart); - FLIPENDIAN(run->sectorCount); - FLIPENDIAN(run->compOffset); - FLIPENDIAN(run->compLength); -} - -static void flipBLKX(unsigned char* data, char out) { - BLKXTable* blkx; - uint32_t i; - - blkx = (BLKXTable*) data; - - FLIPENDIAN(blkx->fUDIFBlocksSignature); - FLIPENDIAN(blkx->infoVersion); - FLIPENDIAN(blkx->firstSectorNumber); - FLIPENDIAN(blkx->sectorCount); - - FLIPENDIAN(blkx->dataStart); - FLIPENDIAN(blkx->decompressBufferRequested); - FLIPENDIAN(blkx->blocksDescriptor); - - FLIPENDIAN(blkx->reserved1); - FLIPENDIAN(blkx->reserved2); - FLIPENDIAN(blkx->reserved3); - FLIPENDIAN(blkx->reserved4); - FLIPENDIAN(blkx->reserved5); - FLIPENDIAN(blkx->reserved6); - - flipUDIFChecksum(&(blkx->checksum), out); - - if(out) { - for(i = 0; i < blkx->blocksRunCount; i++) { - flipBLKXRun(&(blkx->runs[i])); - } - FLIPENDIAN(blkx->blocksRunCount); - } else { - FLIPENDIAN(blkx->blocksRunCount); - for(i = 0; i < blkx->blocksRunCount; i++) { - flipBLKXRun(&(blkx->runs[i])); - } - - /*printf("fUDIFBlocksSignature: 0x%x\n", blkx->fUDIFBlocksSignature); - printf("infoVersion: 0x%x\n", blkx->infoVersion); - printf("firstSectorNumber: 0x%llx\n", blkx->firstSectorNumber); - printf("sectorCount: 0x%llx\n", blkx->sectorCount); - printf("dataStart: 0x%llx\n", blkx->dataStart); - printf("decompressBufferRequested: 0x%x\n", blkx->decompressBufferRequested); - printf("blocksDescriptor: 0x%x\n", blkx->blocksDescriptor); - printf("blocksRunCount: 0x%x\n", blkx->blocksRunCount);*/ - } -} - -static char* getXMLString(char** location) { - char* curLoc; - char* tagEnd; - char* toReturn; - size_t strLen; - - curLoc = *location; - - curLoc = strstr(curLoc, ""); - if(!curLoc) - return NULL; - curLoc += sizeof("") - 1; - - tagEnd = strstr(curLoc, ""); - - strLen = (size_t)(tagEnd - curLoc); - toReturn = (char*) malloc(strLen + 1); - memcpy(toReturn, curLoc, strLen); - toReturn[strLen] = '\0'; - - curLoc = tagEnd + sizeof("") - 1; - - *location = curLoc; - - return toReturn; -} - -static uint32_t getXMLInteger(char** location) { - char* curLoc; - char* tagEnd; - char* buffer; - uint32_t toReturn; - size_t strLen; - - curLoc = *location; - - curLoc = strstr(curLoc, ""); - if(!curLoc) - return 0; - curLoc += sizeof("") - 1; - - tagEnd = strstr(curLoc, ""); - - strLen = (size_t)(tagEnd - curLoc); - buffer = (char*) malloc(strLen + 1); - memcpy(buffer, curLoc, strLen); - buffer[strLen] = '\0'; - - curLoc = tagEnd + sizeof("") - 1; - - sscanf(buffer, "%d", (int32_t*)(&toReturn)); - - free(buffer); - - *location = curLoc; - - return toReturn; -} - -static unsigned char* getXMLData(char** location, size_t *dataLength) { - char* curLoc; - char* tagEnd; - char* encodedData; - unsigned char* toReturn; - size_t strLen; - - curLoc = *location; - - curLoc = strstr(curLoc, ""); - if(!curLoc) - return NULL; - curLoc += sizeof("") - 1; - - tagEnd = strstr(curLoc, ""); - - - strLen = (size_t)(tagEnd - curLoc); - - encodedData = (char*) malloc(strLen + 1); - memcpy(encodedData, curLoc, strLen); - encodedData[strLen] = '\0'; - - curLoc = tagEnd + sizeof("") - 1; - - *location = curLoc; - - toReturn = decodeBase64(encodedData, dataLength); - - free(encodedData); - - return toReturn; -} - -static void readResourceData(ResourceData* data, char** location, FlipDataFunc flipData) { - char* curLoc; - char* tagBegin; - char* tagEnd; - char* dictEnd; - size_t strLen; - char* buffer; - - curLoc = *location; - - data->name = NULL; - data->attributes = 0; - data->id = 0; - data->data = NULL; - - curLoc = strstr(curLoc, ""); - dictEnd = strstr(curLoc, ""); /* hope there's not a dict type in this resource data! */ - while(curLoc != NULL && curLoc < dictEnd) { - curLoc = strstr(curLoc, ""); - if(!curLoc) - break; - curLoc += sizeof("") - 1; - - tagEnd = strstr(curLoc, ""); - - strLen = (size_t)(tagEnd - curLoc); - tagBegin = curLoc; - curLoc = tagEnd + sizeof("") - 1; - - if(strncmp(tagBegin, "Attributes", strLen) == 0) { - buffer = getXMLString(&curLoc); - sscanf(buffer, "0x%x", &(data->attributes)); - free(buffer); - } else if(strncmp(tagBegin, "Data", strLen) == 0) { - data->data = getXMLData(&curLoc, &(data->dataLength)); - if(flipData) { - (*flipData)(data->data, 0); - } - } else if(strncmp(tagBegin, "ID", strLen) == 0) { - buffer = getXMLString(&curLoc); - sscanf(buffer, "%d", &(data->id)); - free(buffer); - } else if(strncmp(tagBegin, "Name", strLen) == 0) { - data->name = getXMLString(&curLoc); - } - } - - curLoc = dictEnd + sizeof("") - 1; - - *location = curLoc; -} - -static void readNSizResource(NSizResource* data, char** location) { - char* curLoc; - char* tagBegin; - char* tagEnd; - char* dictEnd; - size_t strLen; - size_t dummy; - - curLoc = *location; - - data->isVolume = FALSE; - data->sha1Digest = NULL; - data->blockChecksum2 = 0; - data->bytes = 0; - data->modifyDate = 0; - data->partitionNumber = 0; - data->version = 0; - data->volumeSignature = 0; - - curLoc = strstr(curLoc, ""); - dictEnd = strstr(curLoc, ""); /* hope there's not a dict type in this resource data! */ - while(curLoc != NULL && curLoc < dictEnd) { - curLoc = strstr(curLoc, ""); - if(!curLoc) - break; - curLoc += sizeof("") - 1; - - tagEnd = strstr(curLoc, ""); - - strLen = (size_t)(tagEnd - curLoc); - tagBegin = curLoc; - curLoc = tagEnd + sizeof("") - 1; - - if(strncmp(tagBegin, "SHA-1-digest", strLen) == 0) { - data->sha1Digest = getXMLData(&curLoc, &dummy);; - /*flipEndian(data->sha1Digest, 4);*/ - } else if(strncmp(tagBegin, "block-checksum-2", strLen) == 0) { - data->blockChecksum2 = getXMLInteger(&curLoc); - } else if(strncmp(tagBegin, "bytes", strLen) == 0) { - data->bytes = getXMLInteger(&curLoc); - } else if(strncmp(tagBegin, "date", strLen) == 0) { - data->modifyDate = getXMLInteger(&curLoc); - } else if(strncmp(tagBegin, "part-num", strLen) == 0) { - data->partitionNumber = getXMLInteger(&curLoc); - } else if(strncmp(tagBegin, "version", strLen) == 0) { - data->version = getXMLInteger(&curLoc); - } else if(strncmp(tagBegin, "volume-signature", strLen) == 0) { - data->volumeSignature = getXMLInteger(&curLoc); - data->isVolume = TRUE; - } - } - - curLoc = dictEnd + sizeof("") - 1; - - *location = curLoc; -} - -static void writeNSizResource(NSizResource* data, char* buffer) { - char itemBuffer[1024]; - char* sha1Buffer; - - (*buffer) = '\0'; - itemBuffer[0] = '\0'; - - strcat(buffer, plistHeader); - if(data->sha1Digest != NULL) { - sha1Buffer = convertBase64(data->sha1Digest, 20, 1, 42); - sprintf(itemBuffer, "\tSHA-1-digest\n\t\n%s\t\n", sha1Buffer); - free(sha1Buffer); - strcat(buffer, itemBuffer); - } - sprintf(itemBuffer, "\tblock-checksum-2\n\t%d\n", (int32_t)(data->blockChecksum2)); - strcat(buffer, itemBuffer); - if(data->isVolume) { - sprintf(itemBuffer, "\tbytes\n\t%d\n", (int32_t)(data->bytes)); - strcat(buffer, itemBuffer); - sprintf(itemBuffer, "\tdate\n\t%d\n", (int32_t)(data->modifyDate)); - strcat(buffer, itemBuffer); - } - sprintf(itemBuffer, "\tpart-num\n\t%d\n", (int32_t)(data->partitionNumber)); - strcat(buffer, itemBuffer); - sprintf(itemBuffer, "\tversion\n\t%d\n", (int32_t)(data->version)); - strcat(buffer, itemBuffer); - if(data->isVolume) { - sprintf(itemBuffer, "\tbytes\n\t%d\n", (int32_t)(data->volumeSignature)); - strcat(buffer, itemBuffer); - } - strcat(buffer, plistFooter); -} - - -NSizResource* readNSiz(ResourceKey* resources) { - ResourceData* curData; - NSizResource* toReturn; - NSizResource* curNSiz; - char* curLoc; - uint32_t modifyDate; - - curData = getResourceByKey(resources, "nsiz")->data; - toReturn = NULL; - - while(curData != NULL) { - curLoc = (char*) curData->data; - - if(toReturn == NULL) { - toReturn = (NSizResource*) malloc(sizeof(NSizResource)); - curNSiz = toReturn; - } else { - curNSiz->next = (NSizResource*) malloc(sizeof(NSizResource)); - curNSiz = curNSiz->next; - } - - curNSiz->next = NULL; - - readNSizResource(curNSiz, &curLoc); - - - printf("block-checksum-2:\t0x%x\n", curNSiz->blockChecksum2); - printf("part-num:\t\t0x%x\n", curNSiz->partitionNumber); - printf("version:\t\t0x%x\n", curNSiz->version); - - if(curNSiz->isVolume) { - printf("has SHA1:\t\t%d\n", curNSiz->sha1Digest != NULL); - printf("bytes:\t\t\t0x%x\n", curNSiz->bytes); - modifyDate = APPLE_TO_UNIX_TIME(curNSiz->modifyDate); - printf("date:\t\t\t%s", ctime((time_t*)(&modifyDate))); - printf("volume-signature:\t0x%x\n", curNSiz->volumeSignature); - } - - printf("\n"); - - curData = curData->next; - } - - return toReturn; -} - -ResourceKey* writeNSiz(NSizResource* nSiz) { - NSizResource* curNSiz; - ResourceKey* key; - ResourceData* curData; - char buffer[1024]; - - curNSiz = nSiz; - - key = (ResourceKey*) malloc(sizeof(ResourceKey)); - key->key = (unsigned char*) malloc(sizeof("nsiz") + 1); - strcpy((char*) key->key, "nsiz"); - key->next = NULL; - key->flipData = NULL; - key->data = NULL; - - while(curNSiz != NULL) { - writeNSizResource(curNSiz, buffer); - if(key->data == NULL) { - key->data = (ResourceData*) malloc(sizeof(ResourceData)); - curData = key->data; - } else { - curData->next = (ResourceData*) malloc(sizeof(ResourceData)); - curData = curData->next; - } - - curData->attributes = 0; - curData->id = curNSiz->partitionNumber; - curData->name = (char*) malloc(sizeof(char)); - curData->name[0] = '\0'; - curData->next = NULL; - curData->dataLength = sizeof(char) * strlen(buffer); - curData->data = (unsigned char*) malloc(curData->dataLength); - memcpy(curData->data, buffer, curData->dataLength); - - curNSiz = curNSiz->next; - } - - return key; -} - -void releaseNSiz(NSizResource* nSiz) { - NSizResource* curNSiz; - NSizResource* toRemove; - - curNSiz = nSiz; - - while(curNSiz != NULL) { - if(curNSiz->sha1Digest != NULL) - free(curNSiz->sha1Digest); - - toRemove = curNSiz; - curNSiz = curNSiz->next; - free(toRemove); - } -} - -ResourceKey* readResources(AbstractFile* file, UDIFResourceFile* resourceFile) { - char* xml; - char* curLoc; - char* tagEnd; - size_t strLen; - - ResourceKey* toReturn; - ResourceKey* curResource; - ResourceData* curData; - - xml = (char*) malloc((size_t)resourceFile->fUDIFXMLLength + 1); /* we're not going to handle over 32-bit resource files, that'd be insane */ - xml[(size_t)resourceFile->fUDIFXMLLength] = '\0'; - - if(!xml) - return NULL; - - toReturn = NULL; - curResource = NULL; - curData = NULL; - - file->seek(file, (off_t)(resourceFile->fUDIFXMLOffset)); - ASSERT(file->read(file, xml, (size_t)resourceFile->fUDIFXMLLength) == (size_t)resourceFile->fUDIFXMLLength, "fread"); - - curLoc = strstr(xml, "resource-fork"); - if(!curLoc) - return NULL; - curLoc += sizeof("resource-fork") - 1; - - curLoc = strstr(curLoc, ""); - if(!curLoc) - return NULL; - curLoc += sizeof("") - 1; - - while(TRUE) { - curLoc = strstr(curLoc, ""); - if(!curLoc) - break; - curLoc += sizeof("") - 1; - - tagEnd = strstr(curLoc, ""); - if(!tagEnd) - break; - - if(toReturn == NULL) { - toReturn = (ResourceKey*) malloc(sizeof(ResourceKey)); - curResource = toReturn; - } else { - curResource->next = (ResourceKey*) malloc(sizeof(ResourceKey)); - curResource = curResource->next; - } - - curResource->data = NULL; - curResource->next = NULL; - curResource->flipData = NULL; - - strLen = (size_t)(tagEnd - curLoc); - curResource->key = (unsigned char*) malloc(strLen + 1); - memcpy(curResource->key, curLoc, strLen); - curResource->key[strLen] = '\0'; - - curLoc = tagEnd + sizeof("") - 1; - - curLoc = strstr(curLoc, ""); - if(!curLoc) - return NULL; - curLoc += sizeof("") - 1; - - tagEnd = strstr(curLoc, ""); - if(!tagEnd) - break; - - if(strcmp((char*) curResource->key, "blkx") == 0) { - curResource->flipData = &flipBLKX; - } else if(strcmp((char*) curResource->key, "size") == 0) { - curResource->flipData = &flipSizeResource; - } else if(strcmp((char*) curResource->key, "cSum") == 0) { - curResource->flipData = &flipCSumResource; - } - - curLoc = strstr(curLoc, ""); - while(curLoc != NULL && curLoc < tagEnd) { - if(curResource->data == NULL) { - curResource->data = (ResourceData*) malloc(sizeof(ResourceData)); - curData = curResource->data; - } else { - curData->next = (ResourceData*) malloc(sizeof(ResourceData)); - curData = curData->next; - } - - curData->next = NULL; - - readResourceData(curData, &curLoc, curResource->flipData); - curLoc = strstr(curLoc, ""); - } - - curLoc = tagEnd + sizeof("") - 1; - } - - free(xml); - - return toReturn; -} - -static void writeResourceData(AbstractFile* file, ResourceData* data, FlipDataFunc flipData, int tabLength) { - unsigned char* dataBuf; - char* tabs; - int i; - - tabs = (char*) malloc(sizeof(char) * (tabLength + 1)); - for(i = 0; i < tabLength; i++) { - tabs[i] = '\t'; - } - tabs[tabLength] = '\0'; - - abstractFilePrint(file, "%s\n", tabs); - abstractFilePrint(file, "%s\tAttributes\n%s\t0x%04x\n", tabs, tabs, data->attributes); - abstractFilePrint(file, "%s\tData\n%s\t\n", tabs, tabs); - - if(flipData) { - dataBuf = (unsigned char*) malloc(data->dataLength); - memcpy(dataBuf, data->data, data->dataLength); - (*flipData)(dataBuf, 1); - writeBase64(file, dataBuf, data->dataLength, tabLength + 1, 43); - free(dataBuf); - } else { - writeBase64(file, data->data, data->dataLength, tabLength + 1, 43); - } - - abstractFilePrint(file, "%s\t\n", tabs); - abstractFilePrint(file, "%s\tID\n%s\t%d\n", tabs, tabs, data->id); - abstractFilePrint(file, "%s\tName\n%s\t%s\n", tabs, tabs, data->name); - abstractFilePrint(file, "%s\n", tabs); - - free(tabs); -} - -void writeResources(AbstractFile* file, ResourceKey* resources) { - ResourceKey* curResource; - ResourceData* curData; - - abstractFilePrint(file, plistHeader); - abstractFilePrint(file, "\tresource-fork\n\t\n"); - - curResource = resources; - while(curResource != NULL) { - abstractFilePrint(file, "\t\t%s\n\t\t\n", curResource->key); - curData = curResource->data; - while(curData != NULL) { - writeResourceData(file, curData, curResource->flipData, 3); - curData = curData->next; - } - abstractFilePrint(file, "\t\t\n", curResource->key); - curResource = curResource->next; - } - - abstractFilePrint(file, "\t\n"); - abstractFilePrint(file, plistFooter); - -} - -static void releaseResourceData(ResourceData* data) { - ResourceData* curData; - ResourceData* nextData; - - nextData = data; - while(nextData != NULL) { - curData = nextData; - - if(curData->name) - free(curData->name); - - if(curData->data) - free(curData->data); - - nextData = nextData->next; - free(curData); - } -} - -void releaseResources(ResourceKey* resources) { - ResourceKey* curResource; - ResourceKey* nextResource; - - nextResource = resources; - while(nextResource != NULL) { - curResource = nextResource; - free(curResource->key); - releaseResourceData(curResource->data); - nextResource = nextResource->next; - free(curResource); - } -} - -ResourceKey* getResourceByKey(ResourceKey* resources, const char* key) { - ResourceKey* curResource; - - curResource = resources; - while(curResource != NULL) { - if(strcmp((char*) curResource->key, key) == 0) { - return curResource; - } - curResource = curResource->next; - } - - return NULL; -} - -ResourceData* getDataByID(ResourceKey* resource, int id) { - ResourceData* curData; - - curData = resource->data; - - while(curData != NULL) { - if(curData->id == id) { - return curData; - } - curData = curData->next; - } - - return NULL; -} - -ResourceKey* insertData(ResourceKey* resources, const char* key, int id, const char* name, const char* data, size_t dataLength, uint32_t attributes) { - ResourceKey* curResource; - ResourceKey* lastResource; - ResourceData* curData; - - lastResource = resources; - curResource = resources; - while(curResource != NULL) { - if(strcmp((char*) curResource->key, key) == 0) { - break; - } - lastResource = curResource; - curResource = curResource->next; - } - - if(curResource == NULL) { - if(lastResource == NULL) { - curResource = (ResourceKey*) malloc(sizeof(ResourceKey)); - } else { - lastResource->next = (ResourceKey*) malloc(sizeof(ResourceKey)); - curResource = lastResource->next; - } - - curResource->key = (unsigned char*) malloc(strlen(key) + 1); - strcpy((char*) curResource->key, key); - curResource->next = NULL; - - if(strcmp((char*) curResource->key, "blkx") == 0) { - curResource->flipData = &flipBLKX; - } else if(strcmp((char*) curResource->key, "size") == 0) { - printf("we know to flip this size resource\n"); - curResource->flipData = &flipSizeResource; - } else if(strcmp((char*) curResource->key, "cSum") == 0) { - curResource->flipData = &flipCSumResource; - } else { - curResource->flipData = NULL; - } - - curResource->data = NULL; - } - - if(curResource->data == NULL) { - curData = (ResourceData*) malloc(sizeof(ResourceData)); - curResource->data = curData; - curData->next = NULL; - } else { - curData = curResource->data; - while(curData->next != NULL) { - if(curData->id == id) { - break; - } - curData = curData->next; - } - - if(curData->id != id) { - curData->next = (ResourceData*) malloc(sizeof(ResourceData)); - curData = curData->next; - curData->next = NULL; - } else { - free(curData->data); - free(curData->name); - } - } - - curData->attributes = attributes; - curData->dataLength = dataLength; - curData->id = id; - curData->name = (char*) malloc(strlen(name) + 1); - strcpy((char*) curData->name, name); - curData->data = (unsigned char*) malloc(dataLength); - memcpy(curData->data, data, dataLength); - - int i = 0; - if(resources) { - curResource = resources; - while(curResource) { - curResource = curResource->next; - i++; - } - return resources; - } else { - return curResource; - } -} - -ResourceKey* makePlst() { - return insertData(NULL, "plst", 0, "", plstData, sizeof(plstData), ATTRIBUTE_HDIUTIL); -} - -ResourceKey* makeSize(HFSPlusVolumeHeader* volumeHeader) { - SizeResource size; - memset(&size, 0, sizeof(SizeResource)); - size.version = 5; - size.isHFS = 1; - size.unknown2 = 0; - size.unknown3 = 0; - size.volumeModified = volumeHeader->modifyDate; - size.unknown4 = 0; - size.volumeSignature = volumeHeader->signature; - size.sizePresent = 1; - - printf("making size data\n"); - return insertData(NULL, "size", 0, "", (const char*)(&size), sizeof(SizeResource), 0); -} - diff --git a/3rdparty/libdmg-hfsplus/dmg/udif.c b/3rdparty/libdmg-hfsplus/dmg/udif.c deleted file mode 100644 index 56003e794..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/udif.c +++ /dev/null @@ -1,129 +0,0 @@ -#include -#include -#include - -#include - -void flipUDIFChecksum(UDIFChecksum* o, char out) { - int i; - - FLIPENDIAN(o->type); - - if(out) { - for(i = 0; i < o->size; i++) { - FLIPENDIAN(o->data[i]); - } - FLIPENDIAN(o->size); - } else { - FLIPENDIAN(o->size); - for(i = 0; i < o->size; i++) { - FLIPENDIAN(o->data[i]); - } - } -} - -void readUDIFChecksum(AbstractFile* file, UDIFChecksum* o) { - int i; - - o->type = readUInt32(file); - o->size = readUInt32(file); - - for(i = 0; i < 0x20; i++) { - o->data[i] = readUInt32(file); - } -} - -void writeUDIFChecksum(AbstractFile* file, UDIFChecksum* o) { - int i; - - writeUInt32(file, o->type); - writeUInt32(file, o->size); - - for(i = 0; i < o->size; i++) { - writeUInt32(file, o->data[i]); - } -} - -void readUDIFID(AbstractFile* file, UDIFID* o) { - o->data4 = readUInt32(file); FLIPENDIAN(o->data4); - o->data3 = readUInt32(file); FLIPENDIAN(o->data3); - o->data2 = readUInt32(file); FLIPENDIAN(o->data2); - o->data1 = readUInt32(file); FLIPENDIAN(o->data1); -} - -void writeUDIFID(AbstractFile* file, UDIFID* o) { - FLIPENDIAN(o->data4); writeUInt32(file, o->data4); FLIPENDIAN(o->data4); - FLIPENDIAN(o->data3); writeUInt32(file, o->data3); FLIPENDIAN(o->data3); - FLIPENDIAN(o->data2); writeUInt32(file, o->data2); FLIPENDIAN(o->data2); - FLIPENDIAN(o->data1); writeUInt32(file, o->data1); FLIPENDIAN(o->data1); -} - -void readUDIFResourceFile(AbstractFile* file, UDIFResourceFile* o) { - o->fUDIFSignature = readUInt32(file); - - ASSERT(o->fUDIFSignature == 0x6B6F6C79, "readUDIFResourceFile - signature incorrect"); - - o->fUDIFVersion = readUInt32(file); - o->fUDIFHeaderSize = readUInt32(file); - o->fUDIFFlags = readUInt32(file); - - o->fUDIFRunningDataForkOffset = readUInt64(file); - o->fUDIFDataForkOffset = readUInt64(file); - o->fUDIFDataForkLength = readUInt64(file); - o->fUDIFRsrcForkOffset = readUInt64(file); - o->fUDIFRsrcForkLength = readUInt64(file); - - o->fUDIFSegmentNumber = readUInt32(file); - o->fUDIFSegmentCount = readUInt32(file); - readUDIFID(file, &(o->fUDIFSegmentID)); - - readUDIFChecksum(file, &(o->fUDIFDataForkChecksum)); - - o->fUDIFXMLOffset = readUInt64(file); - o->fUDIFXMLLength = readUInt64(file); - - ASSERT(file->read(file, &(o->reserved1), 0x78) == 0x78, "fread"); - - readUDIFChecksum(file, &(o->fUDIFMasterChecksum)); - - o->fUDIFImageVariant = readUInt32(file); - o->fUDIFSectorCount = readUInt64(file); - - o->reserved2 = readUInt32(file); - o->reserved3 = readUInt32(file); - o->reserved4 = readUInt32(file); -} - -void writeUDIFResourceFile(AbstractFile* file, UDIFResourceFile* o) { - writeUInt32(file, o->fUDIFSignature); - writeUInt32(file, o->fUDIFVersion); - writeUInt32(file, o->fUDIFHeaderSize); - writeUInt32(file, o->fUDIFFlags); - - writeUInt64(file, o->fUDIFRunningDataForkOffset); - writeUInt64(file, o->fUDIFDataForkOffset); - writeUInt64(file, o->fUDIFDataForkLength); - writeUInt64(file, o->fUDIFRsrcForkOffset); - writeUInt64(file, o->fUDIFRsrcForkLength); - - writeUInt32(file, o->fUDIFSegmentNumber); - writeUInt32(file, o->fUDIFSegmentCount); - writeUDIFID(file, &(o->fUDIFSegmentID)); - - writeUDIFChecksum(file, &(o->fUDIFDataForkChecksum)); - - writeUInt64(file, o->fUDIFXMLOffset); - writeUInt64(file, o->fUDIFXMLLength); - - ASSERT(file->write(file, &(o->reserved1), 0x78) == 0x78, "fwrite"); - - writeUDIFChecksum(file, &(o->fUDIFMasterChecksum)); - - writeUInt32(file, o->fUDIFImageVariant); - writeUInt64(file, o->fUDIFSectorCount); - - writeUInt32(file, o->reserved2); - writeUInt32(file, o->reserved3); - writeUInt32(file, o->reserved4); -} - diff --git a/3rdparty/libdmg-hfsplus/dmg/win32test.c b/3rdparty/libdmg-hfsplus/dmg/win32test.c deleted file mode 100644 index cbc610666..000000000 --- a/3rdparty/libdmg-hfsplus/dmg/win32test.c +++ /dev/null @@ -1,9 +0,0 @@ -#include - -#ifdef WIN32 -blahfs-o_f-0-(){ {}A -#else -int main(int argc, char* argv[]) { - return 0; -} -#endif diff --git a/3rdparty/libdmg-hfsplus/hdutil/CMakeLists.txt b/3rdparty/libdmg-hfsplus/hdutil/CMakeLists.txt deleted file mode 100644 index 4c1750a35..000000000 --- a/3rdparty/libdmg-hfsplus/hdutil/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -link_directories(${PROJECT_BINARY_DIR}/common ${PROJECT_BINARY_DIR}/hfs ${PROJECT_BINARY_DIR}/dmg) - -add_executable(hdutil hdutil.c) - -target_link_libraries (hdutil dmg hfs common) - -install(TARGETS hdutil DESTINATION .) - diff --git a/3rdparty/libdmg-hfsplus/hdutil/hdutil.c b/3rdparty/libdmg-hfsplus/hdutil/hdutil.c deleted file mode 100644 index 110137e63..000000000 --- a/3rdparty/libdmg-hfsplus/hdutil/hdutil.c +++ /dev/null @@ -1,327 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "hfs/hfslib.h" -#include - -char endianness; - -void cmd_ls(Volume* volume, int argc, const char *argv[]) { - if(argc > 1) - hfs_ls(volume, argv[1]); - else - hfs_ls(volume, "/"); -} - -void cmd_cat(Volume* volume, int argc, const char *argv[]) { - HFSPlusCatalogRecord* record; - AbstractFile* stdoutFile; - - record = getRecordFromPath(argv[1], volume, NULL, NULL); - - stdoutFile = createAbstractFileFromFile(stdout); - - if(record != NULL) { - if(record->recordType == kHFSPlusFileRecord) - writeToFile((HFSPlusCatalogFile*)record, stdoutFile, volume); - else - printf("Not a file\n"); - } else { - printf("No such file or directory\n"); - } - - free(record); - free(stdoutFile); -} - -void cmd_extract(Volume* volume, int argc, const char *argv[]) { - HFSPlusCatalogRecord* record; - AbstractFile *outFile; - - if(argc < 3) { - printf("Not enough arguments"); - return; - } - - outFile = createAbstractFileFromFile(fopen(argv[2], "wb")); - - if(outFile == NULL) { - printf("cannot create file"); - } - - record = getRecordFromPath(argv[1], volume, NULL, NULL); - - if(record != NULL) { - if(record->recordType == kHFSPlusFileRecord) - writeToFile((HFSPlusCatalogFile*)record, outFile, volume); - else - printf("Not a file\n"); - } else { - printf("No such file or directory\n"); - } - - outFile->close(outFile); - free(record); -} - -void cmd_mv(Volume* volume, int argc, const char *argv[]) { - if(argc > 2) { - move(argv[1], argv[2], volume); - } else { - printf("Not enough arguments"); - } -} - -void cmd_symlink(Volume* volume, int argc, const char *argv[]) { - if(argc > 2) { - makeSymlink(argv[1], argv[2], volume); - } else { - printf("Not enough arguments"); - } -} - -void cmd_mkdir(Volume* volume, int argc, const char *argv[]) { - if(argc > 1) { - newFolder(argv[1], volume); - } else { - printf("Not enough arguments"); - } -} - -void cmd_add(Volume* volume, int argc, const char *argv[]) { - AbstractFile *inFile; - - if(argc < 3) { - printf("Not enough arguments"); - return; - } - - inFile = createAbstractFileFromFile(fopen(argv[1], "rb")); - - if(inFile == NULL) { - printf("file to add not found"); - } - - add_hfs(volume, inFile, argv[2]); -} - -void cmd_rm(Volume* volume, int argc, const char *argv[]) { - if(argc > 1) { - removeFile(argv[1], volume); - } else { - printf("Not enough arguments"); - } -} - -void cmd_chmod(Volume* volume, int argc, const char *argv[]) { - int mode; - - if(argc > 2) { - sscanf(argv[1], "%o", &mode); - chmodFile(argv[2], mode, volume); - } else { - printf("Not enough arguments"); - } -} - -void cmd_extractall(Volume* volume, int argc, const char *argv[]) { - HFSPlusCatalogRecord* record; - char cwd[1024]; - char* name; - - ASSERT(getcwd(cwd, 1024) != NULL, "cannot get current working directory"); - - if(argc > 1) - record = getRecordFromPath(argv[1], volume, &name, NULL); - else - record = getRecordFromPath("/", volume, &name, NULL); - - if(argc > 2) { - ASSERT(chdir(argv[2]) == 0, "chdir"); - } - - if(record != NULL) { - if(record->recordType == kHFSPlusFolderRecord) - extractAllInFolder(((HFSPlusCatalogFolder*)record)->folderID, volume); - else - printf("Not a folder\n"); - } else { - printf("No such file or directory\n"); - } - free(record); - - ASSERT(chdir(cwd) == 0, "chdir"); -} - - -void cmd_rmall(Volume* volume, int argc, const char *argv[]) { - HFSPlusCatalogRecord* record; - char* name; - char initPath[1024]; - int lastCharOfPath; - - if(argc > 1) { - record = getRecordFromPath(argv[1], volume, &name, NULL); - strcpy(initPath, argv[1]); - lastCharOfPath = strlen(argv[1]) - 1; - if(argv[1][lastCharOfPath] != '/') { - initPath[lastCharOfPath + 1] = '/'; - initPath[lastCharOfPath + 2] = '\0'; - } - } else { - record = getRecordFromPath("/", volume, &name, NULL); - initPath[0] = '/'; - initPath[1] = '\0'; - } - - if(record != NULL) { - if(record->recordType == kHFSPlusFolderRecord) { - removeAllInFolder(((HFSPlusCatalogFolder*)record)->folderID, volume, initPath); - } else { - printf("Not a folder\n"); - } - } else { - printf("No such file or directory\n"); - } - free(record); -} - -void cmd_addall(Volume* volume, int argc, const char *argv[]) { - if(argc < 2) { - printf("Not enough arguments"); - return; - } - - if(argc > 2) { - addall_hfs(volume, argv[1], argv[2]); - } else { - addall_hfs(volume, argv[1], "/"); - } -} - -void cmd_grow(Volume* volume, int argc, const char *argv[]) { - uint64_t newSize; - - if(argc < 2) { - printf("Not enough arguments\n"); - return; - } - - newSize = 0; - sscanf(argv[1], "%" PRId64, &newSize); - - grow_hfs(volume, newSize); - - printf("grew volume: %" PRId64 "\n", newSize); -} - -void cmd_untar(Volume* volume, int argc, const char *argv[]) { - AbstractFile *inFile; - - if(argc < 2) { - printf("Not enough arguments"); - return; - } - - inFile = createAbstractFileFromFile(fopen(argv[1], "rb")); - - if(inFile == NULL) { - printf("file to untar not found"); - } - - hfs_untar(volume, inFile); -} - -void TestByteOrder() -{ - short int word = 0x0001; - char *byte = (char *) &word; - endianness = byte[0] ? IS_LITTLE_ENDIAN : IS_BIG_ENDIAN; -} - -int main(int argc, const char *argv[]) { - io_func* io; - Volume* volume; - AbstractFile* image; - int argOff; - - TestByteOrder(); - - if(argc < 3) { - printf("usage: %s (-k ) \n", argv[0]); - return 0; - } - - argOff = 2; - - if(strstr(argv[1], ".dmg")) { - image = createAbstractFileFromFile(fopen(argv[1], "rb")); - if(argc > 3) { - if(strcmp(argv[2], "-k") == 0) { - image = createAbstractFileFromFileVault(image, argv[3]); - argOff = 4; - } - } - io = openDmgFilePartition(image, -1); - } else { - io = openFlatFile(argv[1]); - } - - if(io == NULL) { - fprintf(stderr, "error: Cannot open image-file.\n"); - return 1; - } - - volume = openVolume(io); - if(volume == NULL) { - fprintf(stderr, "error: Cannot open volume.\n"); - CLOSE(io); - return 1; - } - - if(argc > argOff) { - if(strcmp(argv[argOff], "ls") == 0) { - cmd_ls(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "cat") == 0) { - cmd_cat(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "mv") == 0) { - cmd_mv(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[2], "symlink") == 0) { - cmd_symlink(volume, argc - 2, argv + 2); - } else if(strcmp(argv[argOff], "mkdir") == 0) { - cmd_mkdir(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "add") == 0) { - cmd_add(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "rm") == 0) { - cmd_rm(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "chmod") == 0) { - cmd_chmod(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "extract") == 0) { - cmd_extract(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "extractall") == 0) { - cmd_extractall(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "rmall") == 0) { - cmd_rmall(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "addall") == 0) { - cmd_addall(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "grow") == 0) { - cmd_grow(volume, argc - argOff, argv + argOff); - } else if(strcmp(argv[argOff], "untar") == 0) { - cmd_untar(volume, argc - argOff, argv + argOff); - } - } - - closeVolume(volume); - CLOSE(io); - - return 0; -} diff --git a/3rdparty/libdmg-hfsplus/hdutil/win32test.c b/3rdparty/libdmg-hfsplus/hdutil/win32test.c deleted file mode 100644 index cbc610666..000000000 --- a/3rdparty/libdmg-hfsplus/hdutil/win32test.c +++ /dev/null @@ -1,9 +0,0 @@ -#include - -#ifdef WIN32 -blahfs-o_f-0-(){ {}A -#else -int main(int argc, char* argv[]) { - return 0; -} -#endif diff --git a/3rdparty/libdmg-hfsplus/hfs/CMakeLists.txt b/3rdparty/libdmg-hfsplus/hfs/CMakeLists.txt deleted file mode 100644 index b4e30e1e0..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -link_directories (${PROJECT_BINARY_DIR}/common) -add_library(hfs btree.c catalog.c extents.c fastunicodecompare.c flatfile.c hfslib.c rawfile.c utility.c volume.c) -target_link_libraries(hfs common) - -add_executable(hfsplus hfs.c) -target_link_libraries (hfsplus hfs) - -install(TARGETS hfsplus DESTINATION .) - diff --git a/3rdparty/libdmg-hfsplus/hfs/btree.c b/3rdparty/libdmg-hfsplus/hfs/btree.c deleted file mode 100644 index 1e6fb6f0a..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/btree.c +++ /dev/null @@ -1,1533 +0,0 @@ -#include -#include - -BTNodeDescriptor* readBTNodeDescriptor(uint32_t num, BTree* tree) { - BTNodeDescriptor* descriptor; - - descriptor = (BTNodeDescriptor*) malloc(sizeof(BTNodeDescriptor)); - - if(!READ(tree->io, num * tree->headerRec->nodeSize, sizeof(BTNodeDescriptor), descriptor)) - return NULL; - - FLIPENDIAN(descriptor->fLink); - FLIPENDIAN(descriptor->bLink); - FLIPENDIAN(descriptor->numRecords); - - return descriptor; -} - -static int writeBTNodeDescriptor(BTNodeDescriptor* descriptor, uint32_t num, BTree* tree) { - BTNodeDescriptor myDescriptor; - - myDescriptor = *descriptor; - - FLIPENDIAN(myDescriptor.fLink); - FLIPENDIAN(myDescriptor.bLink); - FLIPENDIAN(myDescriptor.numRecords); - - if(!WRITE(tree->io, num * tree->headerRec->nodeSize, sizeof(BTNodeDescriptor), &myDescriptor)) - return FALSE; - - return TRUE; -} - -BTHeaderRec* readBTHeaderRec(io_func* io) { - BTHeaderRec* headerRec; - - headerRec = (BTHeaderRec*) malloc(sizeof(BTHeaderRec)); - - if(!READ(io, sizeof(BTNodeDescriptor), sizeof(BTHeaderRec), headerRec)) - return NULL; - - FLIPENDIAN(headerRec->treeDepth); - FLIPENDIAN(headerRec->rootNode); - FLIPENDIAN(headerRec->leafRecords); - FLIPENDIAN(headerRec->firstLeafNode); - FLIPENDIAN(headerRec->lastLeafNode); - FLIPENDIAN(headerRec->nodeSize); - FLIPENDIAN(headerRec->maxKeyLength); - FLIPENDIAN(headerRec->totalNodes); - FLIPENDIAN(headerRec->freeNodes); - FLIPENDIAN(headerRec->clumpSize); - FLIPENDIAN(headerRec->attributes); - - /*printf("treeDepth: %d\n", headerRec->treeDepth); - printf("rootNode: %d\n", headerRec->rootNode); - printf("leafRecords: %d\n", headerRec->leafRecords); - printf("firstLeafNode: %d\n", headerRec->firstLeafNode); - printf("lastLeafNode: %d\n", headerRec->lastLeafNode); - printf("nodeSize: %d\n", headerRec->nodeSize); - printf("maxKeyLength: %d\n", headerRec->maxKeyLength); - printf("totalNodes: %d\n", headerRec->totalNodes); - printf("freeNodes: %d\n", headerRec->freeNodes); - printf("clumpSize: %d\n", headerRec->clumpSize); - printf("bTreeType: 0x%x\n", headerRec->btreeType); - printf("keyCompareType: 0x%x\n", headerRec->keyCompareType); - printf("attributes: 0x%x\n", headerRec->attributes); - fflush(stdout);*/ - - return headerRec; -} - -static int writeBTHeaderRec(BTree* tree) { - BTHeaderRec headerRec; - - headerRec = *tree->headerRec; - - FLIPENDIAN(headerRec.treeDepth); - FLIPENDIAN(headerRec.rootNode); - FLIPENDIAN(headerRec.leafRecords); - FLIPENDIAN(headerRec.firstLeafNode); - FLIPENDIAN(headerRec.lastLeafNode); - FLIPENDIAN(headerRec.nodeSize); - FLIPENDIAN(headerRec.maxKeyLength); - FLIPENDIAN(headerRec.totalNodes); - FLIPENDIAN(headerRec.freeNodes); - FLIPENDIAN(headerRec.clumpSize); - FLIPENDIAN(headerRec.attributes); - - if(!WRITE(tree->io, sizeof(BTNodeDescriptor), sizeof(BTHeaderRec), &headerRec)) - return FALSE; - - return TRUE; -} - - -BTree* openBTree(io_func* io, compareFunc compare, dataReadFunc keyRead, keyWriteFunc keyWrite, keyPrintFunc keyPrint, dataReadFunc dataRead) { - BTree* tree; - - tree = (BTree*) malloc(sizeof(BTree)); - tree->io = io; - tree->headerRec = readBTHeaderRec(tree->io); - - if(tree->headerRec == NULL) { - free(tree); - return NULL; - } - - tree->compare = compare; - tree->keyRead = keyRead; - tree->keyWrite = keyWrite; - tree->keyPrint = keyPrint; - tree->dataRead = dataRead; - - return tree; -} - -void closeBTree(BTree* tree) { - (*tree->io->close)(tree->io); - free(tree->headerRec); - free(tree); -} - -off_t getRecordOffset(int num, uint32_t nodeNum, BTree* tree) { - uint16_t offset; - off_t nodeOffset; - - nodeOffset = nodeNum * tree->headerRec->nodeSize; - - if(!READ(tree->io, nodeOffset + tree->headerRec->nodeSize - (sizeof(uint16_t) * (num + 1)), sizeof(uint16_t), &offset)) { - hfs_panic("cannot get record offset!"); - } - - FLIPENDIAN(offset); - - //printf("%d: %d %d\n", nodeOffset + tree->headerRec->nodeSize - (sizeof(uint16_t) * (num + 1)), nodeOffset + offset, offset); - - return (nodeOffset + offset); -} - -static off_t getFreeSpace(uint32_t nodeNum, BTNodeDescriptor* descriptor, BTree* tree) { - uint16_t num; - off_t nodeOffset; - off_t freespaceOffsetOffset; - uint16_t offset; - off_t freespaceOffset; - - num = descriptor->numRecords; - - nodeOffset = nodeNum * tree->headerRec->nodeSize; - freespaceOffsetOffset = nodeOffset + tree->headerRec->nodeSize - (sizeof(uint16_t) * (num + 1)); - - if(!READ(tree->io, freespaceOffsetOffset, sizeof(uint16_t), &offset)) { - hfs_panic("cannot get record offset!"); - } - - FLIPENDIAN(offset); - - freespaceOffset = nodeOffset + offset; - - return (freespaceOffsetOffset - freespaceOffset); -} - -off_t getNodeNumberFromPointerRecord(off_t offset, io_func* io) { - uint32_t nodeNum; - - if(!READ(io, offset, sizeof(uint32_t), &nodeNum)) { - hfs_panic("cannot get node number from pointer record!"); - } - - FLIPENDIAN(nodeNum); - - return nodeNum; -} - -static void* searchNode(BTree* tree, uint32_t root, BTKey* searchKey, int *exact, uint32_t *nodeNumber, int *recordNumber) { - BTNodeDescriptor* descriptor; - BTKey* key; - off_t recordOffset; - off_t recordDataOffset; - off_t lastRecordDataOffset; - - int res; - int i; - - descriptor = readBTNodeDescriptor(root, tree); - - if(descriptor == NULL) - return NULL; - - lastRecordDataOffset = 0; - - for(i = 0; i < descriptor->numRecords; i++) { - recordOffset = getRecordOffset(i, root, tree); - key = READ_KEY(tree, recordOffset, tree->io); - recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); - - res = COMPARE(tree, key, searchKey); - free(key); - if(res == 0) { - if(descriptor->kind == kBTLeafNode) { - if(nodeNumber != NULL) - *nodeNumber = root; - - if(recordNumber != NULL) - *recordNumber = i; - - if(exact != NULL) - *exact = TRUE; - - free(descriptor); - - return READ_DATA(tree, recordDataOffset, tree->io); - } else { - - free(descriptor); - return searchNode(tree, getNodeNumberFromPointerRecord(recordDataOffset, tree->io), searchKey, exact, nodeNumber, recordNumber); - } - } else if(res > 0) { - break; - } - - lastRecordDataOffset = recordDataOffset; - } - - if(lastRecordDataOffset == 0) { - hfs_panic("BTree inconsistent!"); - return NULL; - } - - if(descriptor->kind == kBTLeafNode) { - if(nodeNumber != NULL) - *nodeNumber = root; - - if(recordNumber != NULL) - *recordNumber = i; - - if(exact != NULL) - *exact = FALSE; - - free(descriptor); - return READ_DATA(tree, lastRecordDataOffset, tree->io); - } else { - - free(descriptor); - return searchNode(tree, getNodeNumberFromPointerRecord(lastRecordDataOffset, tree->io), searchKey, exact, nodeNumber, recordNumber); - } -} - -void* search(BTree* tree, BTKey* searchKey, int *exact, uint32_t *nodeNumber, int *recordNumber) { - return searchNode(tree, tree->headerRec->rootNode, searchKey, exact, nodeNumber, recordNumber); -} - -static uint32_t linearCheck(uint32_t* heightTable, unsigned char* map, BTree* tree, uint32_t *errCount) { - uint8_t i; - uint8_t j; - uint32_t node; - - uint32_t count; - uint32_t leafRecords; - - BTNodeDescriptor* descriptor; - - uint32_t prevNode; - - off_t recordOffset; - BTKey* key; - BTKey* previousKey; - - count = 0; - - leafRecords = 0; - - for(i = 0; i <= tree->headerRec->treeDepth; i++) { - node = heightTable[i]; - if(node != 0) { - descriptor = readBTNodeDescriptor(node, tree); - while(descriptor->bLink != 0) { - node = descriptor->bLink; - free(descriptor); - descriptor = readBTNodeDescriptor(node, tree); - } - free(descriptor); - - prevNode = 0; - previousKey = NULL; - - if(i == 1) { - if(node != tree->headerRec->firstLeafNode) { - printf("BTREE CONSISTENCY ERROR: First leaf node (%d) is not correct. Should be: %d\n", tree->headerRec->firstLeafNode, node); - (*errCount)++; - } - } - - while(node != 0) { - descriptor = readBTNodeDescriptor(node, tree); - if(descriptor->bLink != prevNode) { - printf("BTREE CONSISTENCY ERROR: Node %d is not properly linked with previous node %d\n", node, prevNode); - (*errCount)++; - } - - if(descriptor->height != i) { - printf("BTREE CONSISTENCY ERROR: Node %d (%d) is not properly linked with nodes of the same height %d\n", node, descriptor->height, i); - (*errCount)++; - } - - if((map[node / 8] & (1 << (7 - (node % 8)))) == 0) { - printf("BTREE CONSISTENCY ERROR: Node %d not marked allocated\n", node); - (*errCount)++; - } - - /*if(descriptor->kind == kBTIndexNode && descriptor->numRecords < 2) { - printf("BTREE CONSISTENCY ERROR: Node %d does not have at least two children\n", node); - (*errCount)++; - }*/ - - for(j = 0; j < descriptor->numRecords; j++) { - recordOffset = getRecordOffset(j, node, tree); - key = READ_KEY(tree, recordOffset, tree->io); - if(previousKey != NULL) { - if(COMPARE(tree, key, previousKey) < 0) { - printf("BTREE CONSISTENCY ERROR: Ordering not preserved during linear check for record %d node %d: ", j, node); - (*errCount)++; - tree->keyPrint(previousKey); - printf(" < "); - tree->keyPrint(key); - printf("\n"); - } - free(previousKey); - } - - if(i == 1) { - leafRecords++; - } - previousKey = key; - } - - count++; - - prevNode = node; - node = descriptor->fLink; - free(descriptor); - } - - if(i == 1) { - if(prevNode != tree->headerRec->lastLeafNode) { - printf("BTREE CONSISTENCY ERROR: Last leaf node (%d) is not correct. Should be: %d\n", tree->headerRec->lastLeafNode, node); - (*errCount)++; - } - } - - free(previousKey); - } - } - - if(leafRecords != tree->headerRec->leafRecords) { - printf("BTREE CONSISTENCY ERROR: leafRecords (%d) is not correct. Should be: %d\n", tree->headerRec->leafRecords, leafRecords); - (*errCount)++; - } - - return count; -} - -static uint32_t traverseNode(uint32_t nodeNum, BTree* tree, unsigned char* map, int parentHeight, BTKey** firstKey, BTKey** lastKey, - uint32_t* heightTable, uint32_t* errCount, int displayTree) { - BTNodeDescriptor* descriptor; - BTKey* key; - BTKey* previousKey; - BTKey* retFirstKey; - BTKey* retLastKey; - int i, j; - - int res; - - uint32_t count; - - off_t recordOffset; - off_t recordDataOffset; - - off_t lastrecordDataOffset; - - descriptor = readBTNodeDescriptor(nodeNum, tree); - - previousKey = NULL; - - count = 1; - - if(displayTree) { - for(i = 0; i < descriptor->height; i++) { - printf(" "); - } - } - - if(descriptor->kind == kBTLeafNode) { - if(displayTree) - printf("Leaf %d: %d", nodeNum, descriptor->numRecords); - - if(descriptor->height != 1) { - printf("BTREE CONSISTENCY ERROR: Leaf node %d does not have height 1\n", nodeNum); fflush(stdout); - (*errCount)++; - } - } else if(descriptor->kind == kBTIndexNode) { - if(displayTree) - printf("Index %d: %d", nodeNum, descriptor->numRecords); - - } else { - printf("BTREE CONSISTENCY ERROR: Unexpected node %d has kind %d\n", nodeNum, descriptor->kind); fflush(stdout); - (*errCount)++; - } - - if(displayTree) { - printf("\n"); fflush(stdout); - } - - if((map[nodeNum / 8] & (1 << (7 - (nodeNum % 8)))) == 0) { - printf("BTREE CONSISTENCY ERROR: Node %d not marked allocated\n", nodeNum); fflush(stdout); - (*errCount)++; - } - - if(nodeNum == tree->headerRec->rootNode) { - if(descriptor->height != tree->headerRec->treeDepth) { - printf("BTREE CONSISTENCY ERROR: Root node %d (%d) does not have the proper height (%d)\n", nodeNum, - descriptor->height, tree->headerRec->treeDepth); fflush(stdout); - (*errCount)++; - } - } else { - if(descriptor->height != (parentHeight - 1)) { - printf("BTREE CONSISTENCY ERROR: Node %d does not have the proper height\n", nodeNum); fflush(stdout); - (*errCount)++; - } - } - - /*if(descriptor->kind == kBTIndexNode && descriptor->numRecords < 2) { - printf("BTREE CONSISTENCY ERROR: Node %d does not have at least two children\n", nodeNum); - (*errCount)++; - }*/ - - heightTable[descriptor->height] = nodeNum; - lastrecordDataOffset = 0; - - for(i = 0; i < descriptor->numRecords; i++) { - recordOffset = getRecordOffset(i, nodeNum, tree); - key = READ_KEY(tree, recordOffset, tree->io); - recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); - - if((recordDataOffset - (nodeNum * tree->headerRec->nodeSize)) > (tree->headerRec->nodeSize - (sizeof(uint16_t) * (descriptor->numRecords + 1)))) { - printf("BTREE CONSISTENCY ERROR: Record data extends past offsets in node %d record %d\n", nodeNum, i); fflush(stdout); - (*errCount)++; - } - - if(i == 0) { - *firstKey = READ_KEY(tree, recordOffset, tree->io); - } - - if(i == (descriptor->numRecords - 1)) { - *lastKey = READ_KEY(tree, recordOffset, tree->io); - } - - if(previousKey != NULL) { - res = COMPARE(tree, key, previousKey); - if(res < 0) { - printf("BTREE CONSISTENCY ERROR(traverse): Ordering between records within node not preserved in record %d node %d for ", i, nodeNum); - (*errCount)++; - tree->keyPrint(previousKey); - printf(" < "); - tree->keyPrint(key); - printf("\n"); fflush(stdout); - } - free(previousKey); - } - - if(displayTree) { - for(j = 0; j < (descriptor->height - 1); j++) { - printf(" "); - } - tree->keyPrint(key); - printf("\n"); - } - - if(descriptor->kind == kBTIndexNode) { - count += traverseNode(getNodeNumberFromPointerRecord(recordDataOffset, tree->io), - tree, map, descriptor->height, &retFirstKey, &retLastKey, heightTable, errCount, displayTree); - - if(COMPARE(tree, retFirstKey, key) != 0) { - printf("BTREE CONSISTENCY ERROR: Index node key does not match first key in record %d node %d\n", i, nodeNum); fflush(stdout); - (*errCount)++; - } - if(COMPARE(tree, retLastKey, key) < 0) { - printf("BTREE CONSISTENCY ERROR: Last key is less than the index node key in record %d node %d\n", i, nodeNum); fflush(stdout); - (*errCount)++; - } - free(retFirstKey); - free(key); - previousKey = retLastKey; - } else { - previousKey = key; - } - - if(recordOffset < lastrecordDataOffset) { - printf("BTREE CONSISTENCY ERROR: Record offsets are not in order in node %d starting at record %d\n", nodeNum, i); fflush(stdout); - (*errCount)++; - } - - lastrecordDataOffset = recordDataOffset; - } - - free(descriptor); - - return count; - -} - -static unsigned char* mapNodes(BTree* tree, uint32_t* numMapNodes, uint32_t* errCount) { - unsigned char *map; - - BTNodeDescriptor* descriptor; - - unsigned char byte; - - uint32_t totalNodes; - uint32_t freeNodes; - - uint32_t byteNumber; - uint32_t byteTracker; - - uint32_t mapNode; - - off_t mapRecordStart; - off_t mapRecordLength; - - int i; - - map = (unsigned char *)malloc(tree->headerRec->totalNodes/8 + 1); - - byteTracker = 0; - freeNodes = 0; - totalNodes = 0; - - mapRecordStart = getRecordOffset(2, 0, tree); - mapRecordLength = tree->headerRec->nodeSize - 256; - byteNumber = 0; - mapNode = 0; - - *numMapNodes = 0; - - while(TRUE) { - while(byteNumber < mapRecordLength) { - READ(tree->io, mapRecordStart + byteNumber, 1, &byte); - map[byteTracker] = byte; - byteTracker++; - byteNumber++; - for(i = 0; i < 8; i++) { - if((byte & (1 << (7 - i))) == 0) { - freeNodes++; - } - totalNodes++; - - if(totalNodes == tree->headerRec->totalNodes) - goto done; - } - } - - descriptor = readBTNodeDescriptor(mapNode, tree); - mapNode = descriptor->fLink; - free(descriptor); - - (*numMapNodes)++; - - if(mapNode == 0) { - printf("BTREE CONSISTENCY ERROR: Not enough map nodes allocated! Allocated for: %d, needed: %d\n", totalNodes, tree->headerRec->totalNodes); - (*errCount)++; - break; - } - - mapRecordStart = mapNode * tree->headerRec->nodeSize + 14; - mapRecordLength = tree->headerRec->nodeSize - 20; - byteNumber = 0; - } - - done: - - if(freeNodes != tree->headerRec->freeNodes) { - printf("BTREE CONSISTENCY ERROR: Free nodes %d differ from actually allocated %d\n", tree->headerRec->freeNodes, freeNodes); - (*errCount)++; - } - - return map; -} - -int debugBTree(BTree* tree, int displayTree) { - unsigned char* map; - uint32_t *heightTable; - BTKey* retFirstKey; - BTKey* retLastKey; - - uint32_t numMapNodes; - uint32_t traverseCount; - uint32_t linearCount; - uint32_t errorCount; - - uint8_t i; - - errorCount = 0; - - printf("Mapping nodes...\n"); fflush(stdout); - map = mapNodes(tree, &numMapNodes, &errorCount); - - printf("Initializing height table...\n"); fflush(stdout); - heightTable = (uint32_t*) malloc(sizeof(uint32_t) * (tree->headerRec->treeDepth + 1)); - for(i = 0; i <= tree->headerRec->treeDepth; i++) { - heightTable[i] = 0; - } - - if(tree->headerRec->rootNode == 0) { - if(tree->headerRec->firstLeafNode == 0 && tree->headerRec->lastLeafNode == 0) { - traverseCount = 0; - linearCount = 0; - } else { - printf("BTREE CONSISTENCY ERROR: First leaf node (%d) and last leaf node (%d) inconsistent with empty BTree\n", - tree->headerRec->firstLeafNode, tree->headerRec->lastLeafNode); - - // Try to see if we can get a linear count - if(tree->headerRec->firstLeafNode != 0) - heightTable[1] = tree->headerRec->firstLeafNode; - else - heightTable[1] = tree->headerRec->lastLeafNode; - - linearCount = linearCheck(heightTable, map, tree, &errorCount); - } - } else { - printf("Performing tree traversal...\n"); fflush(stdout); - traverseCount = traverseNode(tree->headerRec->rootNode, tree, map, 0, &retFirstKey, &retLastKey, heightTable, &errorCount, displayTree); - - printf("Performing linear traversal...\n"); fflush(stdout); - linearCount = linearCheck(heightTable, map, tree, &errorCount); - } - - printf("Total traverse nodes: %d\n", traverseCount); fflush(stdout); - printf("Total linear nodes: %d\n", linearCount); fflush(stdout); - printf("Error count: %d\n", errorCount); fflush(stdout); - - if(traverseCount != linearCount) { - printf("BTREE CONSISTENCY ERROR: Linear count and traverse count are inconsistent\n"); - } - - if(traverseCount != (tree->headerRec->totalNodes - tree->headerRec->freeNodes - numMapNodes - 1)) { - printf("BTREE CONSISTENCY ERROR: Free nodes and total nodes (%d) and traverse count are inconsistent\n", - tree->headerRec->totalNodes - tree->headerRec->freeNodes); - } - - free(heightTable); - free(map); - - return errorCount; -} - -static uint32_t findFree(BTree* tree) { - unsigned char byte; - uint32_t byteNumber; - uint32_t mapNode; - - BTNodeDescriptor* descriptor; - - off_t mapRecordStart; - off_t mapRecordLength; - - int i; - - mapRecordStart = getRecordOffset(2, 0, tree); - mapRecordLength = tree->headerRec->nodeSize - 256; - mapNode = 0; - byteNumber = 0; - - while(TRUE) { - while(byteNumber < mapRecordLength) { - READ(tree->io, mapRecordStart + byteNumber, 1, &byte); - if(byte != 0xFF) { - for(i = 0; i < 8; i++) { - if((byte & (1 << (7 - i))) == 0) { - byte |= (1 << (7 - i)); - tree->headerRec->freeNodes--; - ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); - ASSERT(WRITE(tree->io, mapRecordStart + byteNumber, 1, &byte), "WRITE"); - return ((byteNumber * 8) + i); - } - } - } - byteNumber++; - } - - descriptor = readBTNodeDescriptor(mapNode, tree); - mapNode = descriptor->fLink; - free(descriptor); - - if(mapNode == 0) { - return 0; - } - - mapRecordStart = mapNode * tree->headerRec->nodeSize + 14; - mapRecordLength = tree->headerRec->nodeSize - 20; - byteNumber = 0; - } -} - -static int markUsed(uint32_t node, BTree* tree) { - BTNodeDescriptor* descriptor; - uint32_t mapNode; - uint32_t byteNumber; - - unsigned char byte; - - mapNode = 0; - byteNumber = node / 8; - - if(byteNumber >= (tree->headerRec->nodeSize - 256)) { - while(TRUE) { - descriptor = readBTNodeDescriptor(mapNode, tree); - mapNode = descriptor->fLink; - free(descriptor); - - if(byteNumber > (tree->headerRec->nodeSize - 20)) { - byteNumber -= tree->headerRec->nodeSize - 20; - } else { - break; - } - } - } - - ASSERT(READ(tree->io, mapNode * tree->headerRec->nodeSize + 14 + byteNumber, 1, &byte), "READ"); - byte |= (1 << (7 - (node % 8))); - ASSERT(WRITE(tree->io, mapNode * tree->headerRec->nodeSize + 14 + byteNumber, 1, &byte), "WRITE"); - - return TRUE; -} - -static int growBTree(BTree* tree) { - int i; - unsigned char* buffer; - uint16_t offset; - - uint32_t byteNumber; - uint32_t mapNode; - int increasedNodes; - - off_t newNodeOffset; - uint32_t newNodesStart; - - BTNodeDescriptor* descriptor; - BTNodeDescriptor newDescriptor; - - allocate((RawFile*)(tree->io->data), ((RawFile*)(tree->io->data))->forkData->logicalSize + ((RawFile*)(tree->io->data))->forkData->clumpSize); - increasedNodes = (((RawFile*)(tree->io->data))->forkData->logicalSize/tree->headerRec->nodeSize) - tree->headerRec->totalNodes; - - newNodesStart = tree->headerRec->totalNodes / tree->headerRec->nodeSize; - - tree->headerRec->freeNodes += increasedNodes; - tree->headerRec->totalNodes += increasedNodes; - - byteNumber = tree->headerRec->totalNodes / 8; - mapNode = 0; - - buffer = (unsigned char*) malloc(tree->headerRec->nodeSize - 20); - for(i = 0; i < (tree->headerRec->nodeSize - 20); i++) { - buffer[i] = 0; - } - - if(byteNumber < (tree->headerRec->nodeSize - 256)) { - ASSERT(writeBTHeaderRec(tree), "writeBTHeaderREc"); - return TRUE; - } else { - byteNumber -= tree->headerRec->nodeSize - 256; - - while(TRUE) { - descriptor = readBTNodeDescriptor(mapNode, tree); - - if(descriptor->fLink == 0) { - descriptor->fLink = newNodesStart; - ASSERT(writeBTNodeDescriptor(descriptor, mapNode, tree), "writeBTNodeDescriptor"); - - newDescriptor.fLink = 0; - newDescriptor.bLink = 0; - newDescriptor.kind = kBTMapNode; - newDescriptor.height = 0; - newDescriptor.numRecords = 1; - newDescriptor.reserved = 0; - ASSERT(writeBTNodeDescriptor(&newDescriptor, descriptor->fLink, tree), "writeBTNodeDescriptor"); - - newNodeOffset = descriptor->fLink * tree->headerRec->nodeSize; - - ASSERT(WRITE(tree->io, newNodeOffset + 14, tree->headerRec->nodeSize - 20, buffer), "WRITE"); - offset = 14; - FLIPENDIAN(offset); - ASSERT(WRITE(tree->io, newNodeOffset + tree->headerRec->nodeSize - 2, sizeof(offset), &offset), "WRITE"); - offset = 14 + tree->headerRec->nodeSize - 20; - FLIPENDIAN(offset); - ASSERT(WRITE(tree->io, newNodeOffset + tree->headerRec->nodeSize - 4, sizeof(offset), &offset), "WRITE"); - - // mark the map node as being used - ASSERT(markUsed(newNodesStart, tree), "markUsed"); - tree->headerRec->freeNodes--; - newNodesStart++; - } - mapNode = descriptor->fLink; - - if(byteNumber > (tree->headerRec->nodeSize - 20)) { - byteNumber -= tree->headerRec->nodeSize - 20; - } else { - free(buffer); - - ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); - return TRUE; - } - } - } - - return FALSE; -} - -static uint32_t getNewNode(BTree* tree) { - if(tree->headerRec->freeNodes == 0) { - growBTree(tree); - } - - return findFree(tree); -} - -static uint32_t removeNode(BTree* tree, uint32_t node) { - unsigned char byte; - off_t mapRecordStart; - uint32_t mapNode; - size_t mapRecordLength; - BTNodeDescriptor *descriptor; - BTNodeDescriptor *oDescriptor; - - mapRecordStart = getRecordOffset(2, 0, tree); - mapRecordLength = tree->headerRec->nodeSize - 256; - mapNode = 0; - - while((node / 8) >= mapRecordLength) { - descriptor = readBTNodeDescriptor(mapNode, tree); - mapNode = descriptor->fLink; - free(descriptor); - - if(mapNode == 0) { - hfs_panic("Cannot remove node because I can't map it!"); - return 0; - } - - mapRecordStart = mapNode * tree->headerRec->nodeSize + 14; - mapRecordLength = tree->headerRec->nodeSize - 20; - node -= mapRecordLength * 8; - } - - READ(tree->io, mapRecordStart + (node / 8), 1, &byte); - - byte &= ~(1 << (7 - (node % 8))); - - tree->headerRec->freeNodes++; - - descriptor = readBTNodeDescriptor(node, tree); - - if(tree->headerRec->firstLeafNode == node) { - tree->headerRec->firstLeafNode = descriptor->fLink; - } - - if(tree->headerRec->lastLeafNode == node) { - tree->headerRec->lastLeafNode = descriptor->bLink; - } - - if(node == tree->headerRec->rootNode) { - tree->headerRec->rootNode = 0; - } - - if(descriptor->bLink != 0) { - oDescriptor = readBTNodeDescriptor(descriptor->bLink, tree); - oDescriptor->fLink = descriptor->fLink; - ASSERT(writeBTNodeDescriptor(oDescriptor, descriptor->bLink, tree), "writeBTNodeDescriptor"); - free(oDescriptor); - } - - if(descriptor->fLink != 0) { - oDescriptor = readBTNodeDescriptor(descriptor->fLink, tree); - oDescriptor->bLink = descriptor->bLink; - ASSERT(writeBTNodeDescriptor(oDescriptor, descriptor->fLink, tree), "writeBTNodeDescriptor"); - free(oDescriptor); - } - - free(descriptor); - - ASSERT(WRITE(tree->io, mapRecordStart + (node / 8), 1, &byte), "WRITE"); - ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); - - return TRUE; -} - -static uint32_t splitNode(uint32_t node, BTNodeDescriptor* descriptor, BTree* tree) { - int nodesToMove; - - int i; - off_t internalOffset; - - BTNodeDescriptor* fDescriptor; - - BTNodeDescriptor newDescriptor; - uint32_t newNodeNum; - off_t newNodeOffset; - - off_t toMove; - size_t toMoveLength; - unsigned char *buffer; - - off_t offsetsToMove; - size_t offsetsToMoveLength; - uint16_t *offsetsBuffer; - - nodesToMove = descriptor->numRecords - (descriptor->numRecords/2); - - toMove = getRecordOffset(descriptor->numRecords/2, node, tree); - toMoveLength = getRecordOffset(descriptor->numRecords, node, tree) - toMove; - buffer = (unsigned char *)malloc(toMoveLength); - ASSERT(READ(tree->io, toMove, toMoveLength, buffer), "READ"); - - offsetsToMove = (node * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * (descriptor->numRecords + 1)); - offsetsToMoveLength = sizeof(uint16_t) * (nodesToMove + 1); - offsetsBuffer = (uint16_t *)malloc(offsetsToMoveLength); - ASSERT(READ(tree->io, offsetsToMove, offsetsToMoveLength, offsetsBuffer), "READ"); - - for(i = 0; i < (nodesToMove + 1); i++) { - FLIPENDIAN(offsetsBuffer[i]); - } - - internalOffset = offsetsBuffer[nodesToMove] - 14; - - for(i = 0; i < (nodesToMove + 1); i++) { - offsetsBuffer[i] -= internalOffset; - FLIPENDIAN(offsetsBuffer[i]); - } - - newNodeNum = getNewNode(tree); - newNodeOffset = newNodeNum * tree->headerRec->nodeSize; - - newDescriptor.fLink = descriptor->fLink; - newDescriptor.bLink = node; - newDescriptor.kind = descriptor->kind; - newDescriptor.height = descriptor->height; - newDescriptor.numRecords = nodesToMove; - newDescriptor.reserved = 0; - ASSERT(writeBTNodeDescriptor(&newDescriptor, newNodeNum, tree), "writeBTNodeDescriptor"); - - if(newDescriptor.fLink != 0) { - fDescriptor = readBTNodeDescriptor(newDescriptor.fLink, tree); - fDescriptor->bLink = newNodeNum; - ASSERT(writeBTNodeDescriptor(fDescriptor, newDescriptor.fLink, tree), "writeBTNodeDescriptor"); - free(fDescriptor); - } - - descriptor->fLink = newNodeNum; - descriptor->numRecords = descriptor->numRecords/2; - ASSERT(writeBTNodeDescriptor(descriptor, node, tree), "writeBTNodeDescriptor"); - - ASSERT(WRITE(tree->io, newNodeOffset + 14, toMoveLength, buffer), "WRITE"); - ASSERT(WRITE(tree->io, newNodeOffset + tree->headerRec->nodeSize - (sizeof(uint16_t) * (nodesToMove + 1)), offsetsToMoveLength, offsetsBuffer), "WRITE"); - - // The offset for the existing descriptor's new numRecords will happen to be where the old data was, which is now where the free space starts - // So we don't have to manually set the free space offset - - free(buffer); - free(offsetsBuffer); - - if(descriptor->kind == kBTLeafNode && node == tree->headerRec->lastLeafNode) { - tree->headerRec->lastLeafNode = newNodeNum; - ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); - } - - return newNodeNum; -} - -static int moveRecordsDown(BTree* tree, BTNodeDescriptor* descriptor, int record, uint32_t node, int length, int moveOffsets) { - off_t firstRecordStart; - off_t lastRecordEnd; - unsigned char* records; - - off_t firstOffsetStart; - off_t lastOffsetEnd; - uint16_t* offsets; - - int i; - - firstRecordStart = getRecordOffset(record, node, tree); - lastRecordEnd = getRecordOffset(descriptor->numRecords, node, tree); - - records = (unsigned char*)malloc(lastRecordEnd - firstRecordStart); - - ASSERT(READ(tree->io, firstRecordStart, lastRecordEnd - firstRecordStart, records), "READ"); - firstOffsetStart = (node * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * (descriptor->numRecords + 1)); - lastOffsetEnd = (node * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * record); - - offsets = (uint16_t*)malloc(lastOffsetEnd - firstOffsetStart); - ASSERT(READ(tree->io, firstOffsetStart, lastOffsetEnd - firstOffsetStart, offsets), "READ"); - - for(i = 0; i < (lastOffsetEnd - firstOffsetStart)/sizeof(uint16_t); i++) { - FLIPENDIAN(offsets[i]); - offsets[i] += length; - FLIPENDIAN(offsets[i]); - } - - ASSERT(WRITE(tree->io, firstRecordStart + length, lastRecordEnd - firstRecordStart, records), "WRITE"); - - if(moveOffsets > 0) { - ASSERT(WRITE(tree->io, firstOffsetStart - sizeof(uint16_t), lastOffsetEnd - firstOffsetStart, offsets), "WRITE"); - } else if(moveOffsets < 0) { - ASSERT(WRITE(tree->io, firstOffsetStart + sizeof(uint16_t), lastOffsetEnd - firstOffsetStart, offsets), "WRITE"); - } else { - ASSERT(WRITE(tree->io, firstOffsetStart, lastOffsetEnd - firstOffsetStart, offsets), "WRITE"); - } - - free(records); - free(offsets); - - return TRUE; -} - -static int doAddRecord(BTree* tree, uint32_t root, BTKey* searchKey, size_t length, unsigned char* content) { - BTNodeDescriptor* descriptor; - BTKey* key; - off_t recordOffset; - off_t recordDataOffset; - off_t lastRecordDataOffset; - - uint16_t offset; - - int res; - int i; - - descriptor = readBTNodeDescriptor(root, tree); - - if(descriptor == NULL) - return FALSE; - - lastRecordDataOffset = 0; - - for(i = 0; i < descriptor->numRecords; i++) { - recordOffset = getRecordOffset(i, root, tree); - key = READ_KEY(tree, recordOffset, tree->io); - recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); - - res = COMPARE(tree, key, searchKey); - if(res == 0) { - free(key); - free(descriptor); - - return FALSE; - } else if(res > 0) { - free(key); - - break; - } - - free(key); - - lastRecordDataOffset = recordDataOffset; - } - - if(i != descriptor->numRecords) { - // first, move everyone else down - - moveRecordsDown(tree, descriptor, i, root, sizeof(searchKey->keyLength) + searchKey->keyLength + length, 1); - - // then insert ourself - ASSERT(WRITE_KEY(tree, recordOffset, searchKey, tree->io), "WRITE_KEY"); - ASSERT(WRITE(tree->io, recordOffset + sizeof(searchKey->keyLength) + searchKey->keyLength, length, content), "WRITE"); - - offset = recordOffset - (root * tree->headerRec->nodeSize); - FLIPENDIAN(offset); - ASSERT(WRITE(tree->io, (root * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * (i + 1)), - sizeof(uint16_t), &offset), "WRITE"); - } else { - // just insert ourself at the end - recordOffset = getRecordOffset(i, root, tree); - ASSERT(WRITE_KEY(tree, recordOffset, searchKey, tree->io), "WRITE_KEY"); - ASSERT(WRITE(tree->io, recordOffset + sizeof(uint16_t) + searchKey->keyLength, length, content), "WRITE"); - - // write the new free offset - offset = (recordOffset + sizeof(searchKey->keyLength) + searchKey->keyLength + length) - (root * tree->headerRec->nodeSize); - FLIPENDIAN(offset); - ASSERT(WRITE(tree->io, (root * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * (descriptor->numRecords + 2)), - sizeof(uint16_t), &offset), "WRITE"); - } - - descriptor->numRecords++; - - if(descriptor->height == 1) { - tree->headerRec->leafRecords++; - } - - ASSERT(writeBTNodeDescriptor(descriptor, root, tree), "writeBTNodeDescriptor"); - ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); - - free(descriptor); - return TRUE; -} - -static int addRecord(BTree* tree, uint32_t root, BTKey* searchKey, size_t length, unsigned char* content, int* callAgain) { - BTNodeDescriptor* descriptor; - BTKey* key; - off_t recordOffset; - off_t recordDataOffset; - off_t lastRecordDataOffset; - - size_t freeSpace; - - int res; - int i; - - uint32_t newNode; - uint32_t newNodeBigEndian; - - uint32_t nodeBigEndian; - - descriptor = readBTNodeDescriptor(root, tree); - - if(descriptor == NULL) - return 0; - - freeSpace = getFreeSpace(root, descriptor, tree); - - lastRecordDataOffset = 0; - - for(i = 0; i < descriptor->numRecords; i++) { - recordOffset = getRecordOffset(i, root, tree); - key = READ_KEY(tree, recordOffset, tree->io); - recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); - - res = COMPARE(tree, key, searchKey); - if(res == 0) { - free(key); - free(descriptor); - - return 0; - } else if(res > 0) { - free(key); - - break; - } - - free(key); - - lastRecordDataOffset = recordDataOffset; - } - - if(descriptor->kind == kBTLeafNode) { - if(freeSpace < (sizeof(searchKey->keyLength) + searchKey->keyLength + length + sizeof(uint16_t))) { - newNode = splitNode(root, descriptor, tree); - if(i < descriptor->numRecords) { - doAddRecord(tree, root, searchKey, length, content); - } else { - doAddRecord(tree, newNode, searchKey, length, content); - } - - free(descriptor); - return newNode; - } else { - doAddRecord(tree, root, searchKey, length, content); - - free(descriptor); - return 0; - } - } else { - if(lastRecordDataOffset == 0) { - if(descriptor->numRecords == 0) { - hfs_panic("empty index node in btree"); - return 0; - } - - key = READ_KEY(tree, (root * tree->headerRec->nodeSize) + 14, tree->io); - - recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); - nodeBigEndian = getNodeNumberFromPointerRecord(recordDataOffset, tree->io); - - FLIPENDIAN(nodeBigEndian); - - free(key); - key = READ_KEY(tree, (root * tree->headerRec->nodeSize) + 14, tree->io); - recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); - - if(searchKey->keyLength != key->keyLength) { - if(searchKey->keyLength > key->keyLength && freeSpace < (searchKey->keyLength - key->keyLength)) { - // very unlikely. We need to split this node before we can resize the key of this index. Do that first, and tell them to call again. - *callAgain = TRUE; - return splitNode(root, descriptor, tree); - } - - moveRecordsDown(tree, descriptor, 1, root, searchKey->keyLength - key->keyLength, 0); - } - - free(key); - - ASSERT(WRITE_KEY(tree, recordOffset, searchKey, tree->io), "WRITE_KEY"); - ASSERT(WRITE(tree->io, recordOffset + sizeof(uint16_t) + searchKey->keyLength, sizeof(uint32_t), &nodeBigEndian), "WRITE"); - - FLIPENDIAN(nodeBigEndian); - - newNode = addRecord(tree, nodeBigEndian, searchKey, length, content, callAgain); - } else { - newNode = addRecord(tree, getNodeNumberFromPointerRecord(lastRecordDataOffset, tree->io), searchKey, length, content, callAgain); - } - - if(newNode == 0) { - free(descriptor); - return 0; - } else { - newNodeBigEndian = newNode; - key = READ_KEY(tree, newNode * tree->headerRec->nodeSize + 14, tree->io); - FLIPENDIAN(newNodeBigEndian); - - if(freeSpace < (sizeof(key->keyLength) + key->keyLength + sizeof(newNodeBigEndian) + sizeof(uint16_t))) { - newNode = splitNode(root, descriptor, tree); - - if(i < descriptor->numRecords) { - doAddRecord(tree, root, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); - } else { - doAddRecord(tree, newNode, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); - } - - free(key); - free(descriptor); - return newNode; - } else { - doAddRecord(tree, root, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); - - free(key); - free(descriptor); - return 0; - } - } - } -} - -static int increaseHeight(BTree* tree, uint32_t newNode) { - uint32_t oldRoot; - uint32_t newRoot; - BTNodeDescriptor newDescriptor; - - BTKey* oldRootKey; - BTKey* newNodeKey; - - uint16_t oldRootOffset; - uint16_t newNodeOffset; - uint16_t freeOffset; - - oldRoot = tree->headerRec->rootNode; - - oldRootKey = READ_KEY(tree, (oldRoot * tree->headerRec->nodeSize) + 14, tree->io); - newNodeKey = READ_KEY(tree, (newNode * tree->headerRec->nodeSize) + 14, tree->io); - - newRoot = getNewNode(tree); - - newDescriptor.fLink = 0; - newDescriptor.bLink = 0; - newDescriptor.kind = kBTIndexNode; - newDescriptor.height = tree->headerRec->treeDepth + 1; - newDescriptor.numRecords = 2; - newDescriptor.reserved = 0; - - oldRootOffset = 14; - newNodeOffset = oldRootOffset + sizeof(oldRootKey->keyLength) + oldRootKey->keyLength + sizeof(uint32_t); - freeOffset = newNodeOffset + sizeof(newNodeKey->keyLength) + newNodeKey->keyLength + sizeof(uint32_t); - - tree->headerRec->rootNode = newRoot; - tree->headerRec->treeDepth = newDescriptor.height; - - ASSERT(WRITE_KEY(tree, newRoot * tree->headerRec->nodeSize + oldRootOffset, oldRootKey, tree->io), "WRITE_KEY"); - FLIPENDIAN(oldRoot); - ASSERT(WRITE(tree->io, newRoot * tree->headerRec->nodeSize + oldRootOffset + sizeof(oldRootKey->keyLength) + oldRootKey->keyLength, - sizeof(uint32_t), &oldRoot), "WRITE"); - - ASSERT(WRITE_KEY(tree, newRoot * tree->headerRec->nodeSize + newNodeOffset, newNodeKey, tree->io), "WRITE_KEY"); - FLIPENDIAN(newNode); - ASSERT(WRITE(tree->io, newRoot * tree->headerRec->nodeSize + newNodeOffset + sizeof(newNodeKey->keyLength) + newNodeKey->keyLength, - sizeof(uint32_t), &newNode), "WRITE"); - - FLIPENDIAN(oldRootOffset); - ASSERT(WRITE(tree->io, (newRoot * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * 1), - sizeof(uint16_t), &oldRootOffset), "WRITE"); - - FLIPENDIAN(newNodeOffset); - ASSERT(WRITE(tree->io, (newRoot * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * 2), - sizeof(uint16_t), &newNodeOffset), "WRITE"); - - FLIPENDIAN(freeOffset); - ASSERT(WRITE(tree->io, (newRoot * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * 3), - sizeof(uint16_t), &freeOffset), "WRITE"); - - ASSERT(writeBTNodeDescriptor(&newDescriptor, tree->headerRec->rootNode, tree), "writeBTNodeDescriptor"); - ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); - - return TRUE; -} - -int addToBTree(BTree* tree, BTKey* searchKey, size_t length, unsigned char* content) { - int callAgain; - BTNodeDescriptor newDescriptor; - uint16_t offset; - uint16_t freeOffset; - uint32_t newNode; - - if(tree->headerRec->rootNode != 0) { - do { - callAgain = FALSE; - newNode = addRecord(tree, tree->headerRec->rootNode, searchKey, length, content, &callAgain); - if(newNode != 0) { - increaseHeight(tree, newNode); - } - } while(callAgain); - } else { - // add the first leaf node - tree->headerRec->rootNode = getNewNode(tree); - tree->headerRec->firstLeafNode = tree->headerRec->rootNode; - tree->headerRec->lastLeafNode = tree->headerRec->rootNode; - tree->headerRec->leafRecords = 1; - tree->headerRec->treeDepth = 1; - - newDescriptor.fLink = 0; - newDescriptor.bLink = 0; - newDescriptor.kind = kBTLeafNode; - newDescriptor.height = 1; - newDescriptor.numRecords = 1; - newDescriptor.reserved = 0; - - offset = 14; - freeOffset = offset + sizeof(searchKey->keyLength) + searchKey->keyLength + length; - - ASSERT(WRITE_KEY(tree, tree->headerRec->rootNode * tree->headerRec->nodeSize + offset, searchKey, tree->io), "WRITE_KEY"); - ASSERT(WRITE(tree->io, tree->headerRec->rootNode * tree->headerRec->nodeSize + offset + sizeof(searchKey->keyLength) + searchKey->keyLength, - length, content), "WRITE"); - - FLIPENDIAN(offset); - ASSERT(WRITE(tree->io, (tree->headerRec->rootNode * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * 1), - sizeof(uint16_t), &offset), "WRITE"); - - FLIPENDIAN(freeOffset); - ASSERT(WRITE(tree->io, (tree->headerRec->rootNode * tree->headerRec->nodeSize) + tree->headerRec->nodeSize - (sizeof(uint16_t) * 2), - sizeof(uint16_t), &freeOffset), "WRITE"); - - ASSERT(writeBTNodeDescriptor(&newDescriptor, tree->headerRec->rootNode, tree), "writeBTNodeDescriptor"); - ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); - } - - return TRUE; -} - -static uint32_t removeRecord(BTree* tree, uint32_t root, BTKey* searchKey, int* callAgain, int* gone) { - BTNodeDescriptor* descriptor; - int length; - int i; - int res; - - uint32_t newNode; - uint32_t nodeToTraverse; - uint32_t newNodeBigEndian; - - BTKey* key; - off_t recordOffset; - off_t recordDataOffset; - off_t lastRecordDataOffset; - - int childGone; - int checkForChangedKey ; - - size_t freeSpace; - - descriptor = readBTNodeDescriptor(root, tree); - - freeSpace = getFreeSpace(root, descriptor, tree); - - nodeToTraverse = 0; - lastRecordDataOffset = 0; - newNode = 0; - - (*gone) = FALSE; - checkForChangedKey = FALSE; - - for(i = 0; i < descriptor->numRecords; i++) { - recordOffset = getRecordOffset(i, root, tree); - key = READ_KEY(tree, recordOffset, tree->io); - recordDataOffset = recordOffset + key->keyLength + sizeof(key->keyLength); - - res = COMPARE(tree, key, searchKey); - if(res == 0) { - free(key); - - if(descriptor->kind == kBTLeafNode) { - if(i != (descriptor->numRecords - 1)) { - length = getRecordOffset(i + 1, root, tree) - recordOffset; - moveRecordsDown(tree, descriptor, i + 1, root, -length, -1); - } // don't need to do that if we're the last record, because our old offset pointer will be the new free space pointer - - descriptor->numRecords--; - tree->headerRec->leafRecords--; - ASSERT(writeBTNodeDescriptor(descriptor, root, tree), "writeBTNodeDescriptor"); - ASSERT(writeBTHeaderRec(tree), "writeBTHeaderRec"); - - if(descriptor->numRecords >= 1) { - free(descriptor); - return 0; - } else { - free(descriptor); - removeNode(tree, root); - (*gone) = TRUE; - return 0; - } - } else { - nodeToTraverse = getNodeNumberFromPointerRecord(recordDataOffset, tree->io); - checkForChangedKey = TRUE; - break; - } - } else if(res > 0) { - free(key); - - if(lastRecordDataOffset == 0 || descriptor->kind == kBTLeafNode) { - // not found; - free(descriptor); - return 0; - } else { - nodeToTraverse = getNodeNumberFromPointerRecord(lastRecordDataOffset, tree->io); - break; - } - } - - lastRecordDataOffset = recordDataOffset; - - free(key); - } - - if(nodeToTraverse == 0) { - nodeToTraverse = getNodeNumberFromPointerRecord(lastRecordDataOffset, tree->io); - } - - if(i == descriptor->numRecords) { - i = descriptor->numRecords - 1; - } - - newNode = removeRecord(tree, nodeToTraverse, searchKey, callAgain, &childGone); - - if(childGone) { - if(i != (descriptor->numRecords - 1)) { - length = getRecordOffset(i + 1, root, tree) - recordOffset; - moveRecordsDown(tree, descriptor, i + 1, root, -length, -1); - } // don't need to do that if we're the last record, because our old offset pointer will be the new free space pointer - - descriptor->numRecords--; - ASSERT(writeBTNodeDescriptor(descriptor, root, tree), "writeBTNodeDescriptor"); - } else { - if(checkForChangedKey) { - // we will remove the first item in the child node, so our index has to change - - key = READ_KEY(tree, getRecordOffset(0, nodeToTraverse, tree), tree->io); - - if(searchKey->keyLength != key->keyLength) { - if(key->keyLength > searchKey->keyLength && freeSpace < (key->keyLength - searchKey->keyLength)) { - // very unlikely. We need to split this node before we can resize the key of this index. Do that first, and tell them to call again. - *callAgain = TRUE; - return splitNode(root, descriptor, tree); - } - - moveRecordsDown(tree, descriptor, i + 1, root, key->keyLength - searchKey->keyLength, 0); - } - - ASSERT(WRITE_KEY(tree, recordOffset, key, tree->io), "WRITE_KEY"); - FLIPENDIAN(nodeToTraverse); - ASSERT(WRITE(tree->io, recordOffset + sizeof(uint16_t) + key->keyLength, sizeof(uint32_t), &nodeToTraverse), "WRITE"); - FLIPENDIAN(nodeToTraverse); - - free(key); - } - } - - if(newNode == 0) { - if(descriptor->numRecords == 0) { - removeNode(tree, root); - (*gone) = TRUE; - } - - free(descriptor); - return 0; - } else { - newNodeBigEndian = newNode; - key = READ_KEY(tree, newNode * tree->headerRec->nodeSize + 14, tree->io); - FLIPENDIAN(newNodeBigEndian); - - if(freeSpace < (sizeof(key->keyLength) + key->keyLength + sizeof(newNodeBigEndian) + sizeof(uint16_t))) { - newNode = splitNode(root, descriptor, tree); - - if(i < descriptor->numRecords) { - doAddRecord(tree, root, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); - } else { - doAddRecord(tree, newNode, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); - } - - if(descriptor->numRecords == 0) { - removeNode(tree, root); - (*gone) = TRUE; - } - - free(key); - free(descriptor); - return newNode; - } else { - doAddRecord(tree, root, key, sizeof(newNodeBigEndian), (unsigned char*)(&newNodeBigEndian)); - - free(key); - free(descriptor); - return 0; - } - } - - return FALSE; -} - -int removeFromBTree(BTree* tree, BTKey* searchKey) { - int callAgain; - int gone; - uint32_t newNode; - - do { - callAgain = FALSE; - newNode = removeRecord(tree, tree->headerRec->rootNode, searchKey, &callAgain, &gone); - if(newNode != 0) { - increaseHeight(tree, newNode); - } - } while(callAgain); - - return TRUE; -} diff --git a/3rdparty/libdmg-hfsplus/hfs/catalog.c b/3rdparty/libdmg-hfsplus/hfs/catalog.c deleted file mode 100644 index e048511bc..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/catalog.c +++ /dev/null @@ -1,1091 +0,0 @@ -#include -#include -#include -#include - -static inline void flipBSDInfo(HFSPlusBSDInfo* info) { - FLIPENDIAN(info->ownerID); - FLIPENDIAN(info->groupID); - FLIPENDIAN(info->fileMode); - FLIPENDIAN(info->special); -} - -static inline void flipPoint(Point* point) { - FLIPENDIAN(point->v); - FLIPENDIAN(point->h); -} - -static inline void flipRect(Rect* rect) { - FLIPENDIAN(rect->top); - FLIPENDIAN(rect->left); - FLIPENDIAN(rect->bottom); - FLIPENDIAN(rect->right); -} - -static inline void flipFolderInfo(FolderInfo* info) { - flipRect(&info->windowBounds); - FLIPENDIAN(info->finderFlags); - flipPoint(&info->location); -} - -static inline void flipExtendedFolderInfo(ExtendedFolderInfo* info) { - flipPoint(&info->scrollPosition); - FLIPENDIAN(info->extendedFinderFlags); - FLIPENDIAN(info->putAwayFolderID); -} - -static inline void flipFileInfo(FileInfo* info) { - FLIPENDIAN(info->fileType); - FLIPENDIAN(info->fileCreator); - FLIPENDIAN(info->finderFlags); - flipPoint(&info->location); -} - -static inline void flipExtendedFileInfo(ExtendedFileInfo* info) { - FLIPENDIAN(info->extendedFinderFlags); - FLIPENDIAN(info->putAwayFolderID); -} - -void flipCatalogFolder(HFSPlusCatalogFolder* record) { - FLIPENDIAN(record->recordType); - FLIPENDIAN(record->flags); - FLIPENDIAN(record->valence); - FLIPENDIAN(record->folderID); - FLIPENDIAN(record->createDate); - FLIPENDIAN(record->contentModDate); - FLIPENDIAN(record->attributeModDate); - FLIPENDIAN(record->accessDate); - FLIPENDIAN(record->backupDate); - - flipBSDInfo(&record->permissions); - flipFolderInfo(&record->userInfo); - flipExtendedFolderInfo(&record->finderInfo); - - FLIPENDIAN(record->textEncoding); - FLIPENDIAN(record->folderCount); -} - -void flipCatalogFile(HFSPlusCatalogFile* record) { - FLIPENDIAN(record->recordType); - FLIPENDIAN(record->flags); - FLIPENDIAN(record->fileID); - FLIPENDIAN(record->createDate); - FLIPENDIAN(record->contentModDate); - FLIPENDIAN(record->attributeModDate); - FLIPENDIAN(record->accessDate); - FLIPENDIAN(record->backupDate); - - flipBSDInfo(&record->permissions); - flipFileInfo(&record->userInfo); - flipExtendedFileInfo(&record->finderInfo); - - FLIPENDIAN(record->textEncoding); - - flipForkData(&record->dataFork); - flipForkData(&record->resourceFork); -} - -void flipCatalogThread(HFSPlusCatalogThread* record, int out) { - int i; - int nameLength; - - FLIPENDIAN(record->recordType); - FLIPENDIAN(record->parentID); - if(out) { - nameLength = record->nodeName.length; - FLIPENDIAN(record->nodeName.length); - } else { - FLIPENDIAN(record->nodeName.length); - nameLength = record->nodeName.length; - } - - for(i = 0; i < nameLength; i++) { - if(out) { - if(record->nodeName.unicode[i] == ':') { - record->nodeName.unicode[i] = '/'; - } - FLIPENDIAN(record->nodeName.unicode[i]); - } else { - FLIPENDIAN(record->nodeName.unicode[i]); - if(record->nodeName.unicode[i] == '/') { - record->nodeName.unicode[i] = ':'; - } - } - } -} - -#define UNICODE_START (sizeof(uint16_t) + sizeof(HFSCatalogNodeID) + sizeof(uint16_t)) - -static void catalogKeyPrint(BTKey* toPrint) { - HFSPlusCatalogKey* key; - - key = (HFSPlusCatalogKey*) toPrint; - - printf("%d:", key->parentID); - printUnicode(&key->nodeName); -} - -static int catalogCompare(BTKey* vLeft, BTKey* vRight) { - HFSPlusCatalogKey* left; - HFSPlusCatalogKey* right; - uint16_t i; - - uint16_t cLeft; - uint16_t cRight; - - left = (HFSPlusCatalogKey*) vLeft; - right =(HFSPlusCatalogKey*) vRight; - - if(left->parentID < right->parentID) { - return -1; - } else if(left->parentID > right->parentID) { - return 1; - } else { - for(i = 0; i < left->nodeName.length; i++) { - if(i >= right->nodeName.length) { - return 1; - } else { - /* ugly hack to support weird : to / conversion on iPhone */ - if(left->nodeName.unicode[i] == ':') { - cLeft = '/'; - } else { - cLeft = left->nodeName.unicode[i] ; - } - - if(right->nodeName.unicode[i] == ':') { - cRight = '/'; - } else { - cRight = right->nodeName.unicode[i]; - } - - if(cLeft < cRight) - return -1; - else if(cLeft > cRight) - return 1; - } - } - - if(i < right->nodeName.length) { - return -1; - } else { - /* do a safety check on key length. Otherwise, bad things may happen later on when we try to add or remove with this key */ - /*if(left->keyLength == right->keyLength) { - return 0; - } else if(left->keyLength < right->keyLength) { - return -1; - } else { - return 1; - }*/ - return 0; - } - } -} - -static int catalogCompareCS(BTKey* vLeft, BTKey* vRight) { - HFSPlusCatalogKey* left; - HFSPlusCatalogKey* right; - - left = (HFSPlusCatalogKey*) vLeft; - right =(HFSPlusCatalogKey*) vRight; - - if(left->parentID < right->parentID) { - return -1; - } else if(left->parentID > right->parentID) { - return 1; - } else { - return FastUnicodeCompare(left->nodeName.unicode, left->nodeName.length, right->nodeName.unicode, right->nodeName.length); - } -} - -static BTKey* catalogKeyRead(off_t offset, io_func* io) { - HFSPlusCatalogKey* key; - uint16_t i; - - key = (HFSPlusCatalogKey*) malloc(sizeof(HFSPlusCatalogKey)); - - if(!READ(io, offset, UNICODE_START, key)) - return NULL; - - FLIPENDIAN(key->keyLength); - FLIPENDIAN(key->parentID); - FLIPENDIAN(key->nodeName.length); - - if(!READ(io, offset + UNICODE_START, key->nodeName.length * sizeof(uint16_t), ((unsigned char *)key) + UNICODE_START)) - return NULL; - - for(i = 0; i < key->nodeName.length; i++) { - FLIPENDIAN(key->nodeName.unicode[i]); - if(key->nodeName.unicode[i] == '/') /* ugly hack that iPhone seems to do */ - key->nodeName.unicode[i] = ':'; - } - - return (BTKey*)key; -} - -static int catalogKeyWrite(off_t offset, BTKey* toWrite, io_func* io) { - HFSPlusCatalogKey* key; - uint16_t i; - uint16_t keyLength; - uint16_t nodeNameLength; - - keyLength = toWrite->keyLength + sizeof(uint16_t); - key = (HFSPlusCatalogKey*) malloc(keyLength); - memcpy(key, toWrite, keyLength); - - nodeNameLength = key->nodeName.length; - - FLIPENDIAN(key->keyLength); - FLIPENDIAN(key->parentID); - FLIPENDIAN(key->nodeName.length); - - for(i = 0; i < nodeNameLength; i++) { - if(key->nodeName.unicode[i] == ':') /* ugly hack that iPhone seems to do */ - key->nodeName.unicode[i] = '/'; - - FLIPENDIAN(key->nodeName.unicode[i]); - } - - if(!WRITE(io, offset, keyLength, key)) - return FALSE; - - free(key); - - return TRUE; -} - -static BTKey* catalogDataRead(off_t offset, io_func* io) { - int16_t recordType; - HFSPlusCatalogRecord* record; - uint16_t nameLength; - - if(!READ(io, offset, sizeof(int16_t), &recordType)) - return NULL; - - FLIPENDIAN(recordType); fflush(stdout); - - switch(recordType) { - case kHFSPlusFolderRecord: - record = (HFSPlusCatalogRecord*) malloc(sizeof(HFSPlusCatalogFolder)); - if(!READ(io, offset, sizeof(HFSPlusCatalogFolder), record)) - return NULL; - flipCatalogFolder((HFSPlusCatalogFolder*)record); - break; - - case kHFSPlusFileRecord: - record = (HFSPlusCatalogRecord*) malloc(sizeof(HFSPlusCatalogFile)); - if(!READ(io, offset, sizeof(HFSPlusCatalogFile), record)) - return NULL; - flipCatalogFile((HFSPlusCatalogFile*)record); - break; - - case kHFSPlusFolderThreadRecord: - case kHFSPlusFileThreadRecord: - record = (HFSPlusCatalogRecord*) malloc(sizeof(HFSPlusCatalogThread)); - - if(!READ(io, offset + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t), sizeof(uint16_t), &nameLength)) - return NULL; - - FLIPENDIAN(nameLength); - - if(!READ(io, offset, sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t) + sizeof(uint16_t) + (sizeof(uint16_t) * nameLength), record)) - return NULL; - - flipCatalogThread((HFSPlusCatalogThread*)record, FALSE); - break; - } - - return (BTKey*)record; -} - -void ASCIIToUnicode(const char* ascii, HFSUniStr255* unistr) { - int count; - - count = 0; - while(ascii[count] != '\0') { - unistr->unicode[count] = ascii[count]; - count++; - } - - unistr->length = count; -} - -HFSPlusCatalogRecord* getRecordByCNID(HFSCatalogNodeID CNID, Volume* volume) { - HFSPlusCatalogKey key; - HFSPlusCatalogThread* thread; - HFSPlusCatalogRecord* record; - int exact; - - key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); - key.parentID = CNID; - key.nodeName.length = 0; - - thread = (HFSPlusCatalogThread*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); - - if(thread == NULL) { - return NULL; - } - - if(exact == FALSE) { - free(thread); - return NULL; - } - - key.parentID = thread->parentID; - key.nodeName = thread->nodeName; - - free(thread); - - record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); - - if(record == NULL || exact == FALSE) - return NULL; - else - return record; -} - -CatalogRecordList* getFolderContents(HFSCatalogNodeID CNID, Volume* volume) { - BTree* tree; - HFSPlusCatalogThread* record; - HFSPlusCatalogKey key; - uint32_t nodeNumber; - int recordNumber; - - BTNodeDescriptor* descriptor; - off_t recordOffset; - off_t recordDataOffset; - HFSPlusCatalogKey* currentKey; - - CatalogRecordList* list; - CatalogRecordList* lastItem; - CatalogRecordList* item; - - tree = volume->catalogTree; - - key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); - key.parentID = CNID; - key.nodeName.length = 0; - - list = NULL; - - record = (HFSPlusCatalogThread*) search(tree, (BTKey*)(&key), NULL, &nodeNumber, &recordNumber); - - if(record == NULL) - return NULL; - - free(record); - - ++recordNumber; - - while(nodeNumber != 0) { - descriptor = readBTNodeDescriptor(nodeNumber, tree); - - while(recordNumber < descriptor->numRecords) { - recordOffset = getRecordOffset(recordNumber, nodeNumber, tree); - currentKey = (HFSPlusCatalogKey*) READ_KEY(tree, recordOffset, tree->io); - recordDataOffset = recordOffset + currentKey->keyLength + sizeof(currentKey->keyLength); - - if(currentKey->parentID == CNID) { - item = (CatalogRecordList*) malloc(sizeof(CatalogRecordList)); - item->name = currentKey->nodeName; - item->record = (HFSPlusCatalogRecord*) READ_DATA(tree, recordDataOffset, tree->io); - item->next = NULL; - - if(list == NULL) { - list = item; - } else { - lastItem->next = item; - } - - lastItem = item; - free(currentKey); - } else { - free(currentKey); - free(descriptor); - return list; - } - - recordNumber++; - } - - nodeNumber = descriptor->fLink; - recordNumber = 0; - - free(descriptor); - } - - return list; -} - -void releaseCatalogRecordList(CatalogRecordList* list) { - CatalogRecordList* next; - while(list) { - next = list->next; - free(list->record); - free(list); - list = next; - } -} - -HFSPlusCatalogRecord* getLinkTarget(HFSPlusCatalogRecord* record, HFSCatalogNodeID parentID, HFSPlusCatalogKey *key, Volume* volume) { - io_func* io; - char pathBuffer[1024]; - HFSPlusCatalogRecord* toReturn; - - if(record->recordType == kHFSPlusFileRecord && (((HFSPlusCatalogFile*)record)->permissions.fileMode & S_IFLNK) == S_IFLNK) { - io = openRawFile(((HFSPlusCatalogFile*)record)->fileID, &(((HFSPlusCatalogFile*)record)->dataFork), record, volume); - READ(io, 0, (((HFSPlusCatalogFile*)record)->dataFork).logicalSize, pathBuffer); - CLOSE(io); - pathBuffer[(((HFSPlusCatalogFile*)record)->dataFork).logicalSize] = '\0'; - toReturn = getRecordFromPath3(pathBuffer, volume, NULL, key, TRUE, TRUE, parentID); - free(record); - return toReturn; - } else { - return record; - } -} - -HFSPlusCatalogRecord* getRecordFromPath(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey) { - return getRecordFromPath2(path, volume, name, retKey, TRUE); -} - -HFSPlusCatalogRecord* getRecordFromPath2(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey, char traverse) { - return getRecordFromPath3(path, volume, name, retKey, TRUE, TRUE, kHFSRootFolderID); -} - -HFSPlusCatalogRecord* getRecordFromPath3(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey, char traverse, char returnLink, HFSCatalogNodeID parentID) { - HFSPlusCatalogKey key; - HFSPlusCatalogRecord* record; - - char* origPath; - char* myPath; - char* word; - char* pathLimit; - - uint32_t realParent; - - int exact; - - if(path[0] == '\0' || (path[0] == '/' && path[1] == '\0')) { - if(name != NULL) - *name = (char*)path; - - key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); - key.parentID = kHFSRootFolderID; - key.nodeName.length = 0; - - record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); - key.parentID = ((HFSPlusCatalogThread*)record)->parentID; - key.nodeName = ((HFSPlusCatalogThread*)record)->nodeName; - - free(record); - - record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); - return record; - } - - myPath = strdup(path); - origPath = myPath; - - record = NULL; - - if(path[0] == '/') { - key.parentID = kHFSRootFolderID; - } else { - key.parentID = parentID; - } - - pathLimit = myPath + strlen(myPath); - - for(word = (char*)strtok(myPath, "/"); word && (word < pathLimit); - word = ((word + strlen(word) + 1) < pathLimit) ? (char*)strtok(word + strlen(word) + 1, "/") : NULL) { - - if(name != NULL) - *name = (char*)(path + (word - origPath)); - - if(record != NULL) { - free(record); - record = NULL; - } - - if(word[0] == '\0') { - continue; - } - - ASCIIToUnicode(word, &key.nodeName); - - key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length) + (sizeof(uint16_t) * key.nodeName.length); - record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); - - if(record == NULL || exact == FALSE) { - free(origPath); - if(record != NULL) { - free(record); - } - return NULL; - } - - if(traverse) { - if(((word + strlen(word) + 1) < pathLimit) || returnLink) { - record = getLinkTarget(record, key.parentID, &key, volume); - if(record == NULL || exact == FALSE) { - free(origPath); - return NULL; - } - } - } - - if(record->recordType == kHFSPlusFileRecord) { - if((word + strlen(word) + 1) >= pathLimit) { - free(origPath); - - if(retKey != NULL) { - memcpy(retKey, &key, sizeof(HFSPlusCatalogKey)); - } - - return record; - } else { - free(origPath); - free(record); - return NULL; - } - } - - if(record->recordType != kHFSPlusFolderRecord) - hfs_panic("inconsistent catalog tree!"); - - realParent = key.parentID; - key.parentID = ((HFSPlusCatalogFolder*)record)->folderID; - } - - if(retKey != NULL) { - memcpy(retKey, &key, sizeof(HFSPlusCatalogKey)); - retKey->parentID = realParent; - } - - free(origPath); - return record; -} - -int updateCatalog(Volume* volume, HFSPlusCatalogRecord* catalogRecord) { - HFSPlusCatalogKey key; - HFSPlusCatalogRecord* record; - HFSPlusCatalogFile file; - HFSPlusCatalogFolder folder; - int exact; - - key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); - if(catalogRecord->recordType == kHFSPlusFolderRecord) { - key.parentID = ((HFSPlusCatalogFolder*)catalogRecord)->folderID; - } else if(catalogRecord->recordType == kHFSPlusFileRecord) { - key.parentID = ((HFSPlusCatalogFile*)catalogRecord)->fileID; - } else { - /* unexpected */ - return FALSE; - } - key.nodeName.length = 0; - - record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); - - key.parentID = ((HFSPlusCatalogThread*)record)->parentID; - key.nodeName = ((HFSPlusCatalogThread*)record)->nodeName; - key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length) + (sizeof(uint16_t) * key.nodeName.length); - - free(record); - - record = (HFSPlusCatalogRecord*) search(volume->catalogTree, (BTKey*)(&key), &exact, NULL, NULL); - - removeFromBTree(volume->catalogTree, (BTKey*)(&key)); - - switch(record->recordType) { - case kHFSPlusFolderRecord: - memcpy(&folder, catalogRecord, sizeof(HFSPlusCatalogFolder)); - flipCatalogFolder(&folder); - free(record); - return addToBTree(volume->catalogTree, (BTKey*)(&key), sizeof(HFSPlusCatalogFolder), (unsigned char *)(&folder)); - break; - - case kHFSPlusFileRecord: - memcpy(&file, catalogRecord, sizeof(HFSPlusCatalogFile)); - flipCatalogFile(&file); - free(record); - return addToBTree(volume->catalogTree, (BTKey*)(&key), sizeof(HFSPlusCatalogFile), (unsigned char *)(&file)); - break; - } - - return TRUE; -} - -int move(const char* source, const char* dest, Volume* volume) { - HFSPlusCatalogRecord* srcRec; - HFSPlusCatalogFolder* srcFolderRec; - HFSPlusCatalogFolder* destRec; - char* destPath; - char* destName; - char* curChar; - char* lastSeparator; - - int i; - int threadLength; - - HFSPlusCatalogKey srcKey; - HFSPlusCatalogKey destKey; - HFSPlusCatalogThread* thread; - - srcRec = getRecordFromPath3(source, volume, NULL, &srcKey, TRUE, FALSE, kHFSRootFolderID); - if(srcRec == NULL) { - free(srcRec); - return FALSE; - } - - srcFolderRec = (HFSPlusCatalogFolder*) getRecordByCNID(srcKey.parentID, volume); - - if(srcFolderRec == NULL || srcFolderRec->recordType != kHFSPlusFolderRecord) { - free(srcRec); - free(srcFolderRec); - return FALSE; - } - - destPath = strdup(dest); - - curChar = destPath; - lastSeparator = NULL; - - while((*curChar) != '\0') { - if((*curChar) == '/') - lastSeparator = curChar; - curChar++; - } - - if(lastSeparator == NULL) { - destRec = (HFSPlusCatalogFolder*) getRecordFromPath("/", volume, NULL, NULL); - destName = destPath; - } else { - destName = lastSeparator + 1; - *lastSeparator = '\0'; - destRec = (HFSPlusCatalogFolder*) getRecordFromPath(destPath, volume, NULL, NULL); - - if(destRec == NULL || destRec->recordType != kHFSPlusFolderRecord) { - free(destPath); - free(srcRec); - free(destRec); - free(srcFolderRec); - return FALSE; - } - } - - removeFromBTree(volume->catalogTree, (BTKey*)(&srcKey)); - - srcKey.nodeName.length = 0; - if(srcRec->recordType == kHFSPlusFolderRecord) { - srcKey.parentID = ((HFSPlusCatalogFolder*)srcRec)->folderID; - } else if(srcRec->recordType == kHFSPlusFileRecord) { - srcKey.parentID = ((HFSPlusCatalogFile*)srcRec)->fileID; - } else { - /* unexpected */ - return FALSE; - } - srcKey.keyLength = sizeof(srcKey.parentID) + sizeof(srcKey.nodeName.length); - - removeFromBTree(volume->catalogTree, (BTKey*)(&srcKey)); - - - destKey.nodeName.length = strlen(destName); - - threadLength = sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t) + sizeof(uint16_t) + (sizeof(uint16_t) * destKey.nodeName.length); - thread = (HFSPlusCatalogThread*) malloc(threadLength); - thread->reserved = 0; - destKey.parentID = destRec->folderID; - thread->parentID = destKey.parentID; - thread->nodeName.length = destKey.nodeName.length; - for(i = 0; i < destKey.nodeName.length; i++) { - destKey.nodeName.unicode[i] = destName[i]; - thread->nodeName.unicode[i] = destName[i]; - } - - destKey.keyLength = sizeof(uint32_t) + sizeof(uint16_t) + (sizeof(uint16_t) * destKey.nodeName.length); - - switch(srcRec->recordType) { - case kHFSPlusFolderRecord: - thread->recordType = kHFSPlusFolderThreadRecord; - flipCatalogFolder((HFSPlusCatalogFolder*)srcRec); - addToBTree(volume->catalogTree, (BTKey*)(&destKey), sizeof(HFSPlusCatalogFolder), (unsigned char *)(srcRec)); - break; - - case kHFSPlusFileRecord: - thread->recordType = kHFSPlusFileThreadRecord; - flipCatalogFile((HFSPlusCatalogFile*)srcRec); - addToBTree(volume->catalogTree, (BTKey*)(&destKey), sizeof(HFSPlusCatalogFile), (unsigned char *)(srcRec)); - break; - } - - destKey.nodeName.length = 0; - destKey.parentID = srcKey.parentID; - destKey.keyLength = sizeof(destKey.parentID) + sizeof(destKey.nodeName.length); - - flipCatalogThread(thread, TRUE); - addToBTree(volume->catalogTree, (BTKey*)(&destKey), threadLength, (unsigned char *)(thread)); - - /* adjust valence */ - srcFolderRec->valence--; - updateCatalog(volume, (HFSPlusCatalogRecord*) srcFolderRec); - destRec->valence++; - updateCatalog(volume, (HFSPlusCatalogRecord*) destRec); - - free(thread); - free(destPath); - free(srcRec); - free(destRec); - free(srcFolderRec); - - return TRUE; -} - -int removeFile(const char* fileName, Volume* volume) { - HFSPlusCatalogRecord* record; - HFSPlusCatalogKey key; - io_func* io; - HFSPlusCatalogFolder* parentFolder; - - record = getRecordFromPath3(fileName, volume, NULL, &key, TRUE, FALSE, kHFSRootFolderID); - if(record != NULL) { - parentFolder = (HFSPlusCatalogFolder*) getRecordByCNID(key.parentID, volume); - if(parentFolder != NULL) { - if(parentFolder->recordType != kHFSPlusFolderRecord) { - ASSERT(FALSE, "parent not folder"); - free(parentFolder); - return FALSE; - } - } else { - ASSERT(FALSE, "can't find parent"); - return FALSE; - } - - if(record->recordType == kHFSPlusFileRecord) { - io = openRawFile(((HFSPlusCatalogFile*)record)->fileID, &((HFSPlusCatalogFile*)record)->dataFork, record, volume); - allocate((RawFile*)io->data, 0); - CLOSE(io); - - removeFromBTree(volume->catalogTree, (BTKey*)(&key)); - - key.nodeName.length = 0; - key.parentID = ((HFSPlusCatalogFile*)record)->fileID; - key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); - removeFromBTree(volume->catalogTree, (BTKey*)(&key)); - - volume->volumeHeader->fileCount--; - } else { - if(((HFSPlusCatalogFolder*)record)->valence > 0) { - free(record); - free(parentFolder); - ASSERT(FALSE, "folder not empty"); - return FALSE; - } else { - removeFromBTree(volume->catalogTree, (BTKey*)(&key)); - - key.nodeName.length = 0; - key.parentID = ((HFSPlusCatalogFolder*)record)->folderID; - key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); - removeFromBTree(volume->catalogTree, (BTKey*)(&key)); - } - - parentFolder->folderCount--; - volume->volumeHeader->folderCount--; - } - parentFolder->valence--; - updateCatalog(volume, (HFSPlusCatalogRecord*) parentFolder); - updateVolume(volume); - - free(record); - free(parentFolder); - - return TRUE; - } else { - free(parentFolder); - ASSERT(FALSE, "cannot find record"); - return FALSE; - } -} - -int makeSymlink(const char* pathName, const char* target, Volume* volume) { - io_func* io; - HFSPlusCatalogFile* record; - - record = (HFSPlusCatalogFile*) getRecordFromPath3(pathName, volume, NULL, NULL, TRUE, FALSE, kHFSRootFolderID); - - if(!record) { - newFile(pathName, volume); - record = (HFSPlusCatalogFile*) getRecordFromPath(pathName, volume, NULL, NULL); - if(!record) { - return FALSE; - } - record->permissions.fileMode |= S_IFLNK; - record->userInfo.fileType = kSymLinkFileType; - record->userInfo.fileCreator = kSymLinkCreator; - updateCatalog(volume, (HFSPlusCatalogRecord*) record); - } else { - if(record->recordType != kHFSPlusFileRecord || (((HFSPlusCatalogFile*)record)->permissions.fileMode & S_IFLNK) != S_IFLNK) { - free(record); - return FALSE; - } - } - - io = openRawFile(record->fileID, &record->dataFork, (HFSPlusCatalogRecord*) record, volume); - WRITE(io, 0, strlen(target), (void*) target); - CLOSE(io); - free(record); - - return TRUE; -} - -HFSCatalogNodeID newFolder(const char* pathName, Volume* volume) { - HFSPlusCatalogFolder* parentFolder; - HFSPlusCatalogFolder folder; - HFSPlusCatalogKey key; - HFSPlusCatalogThread thread; - - uint32_t newFolderID; - - int threadLength; - - char* path; - char* name; - char* curChar; - char* lastSeparator; - - path = strdup(pathName); - - curChar = path; - lastSeparator = NULL; - - while((*curChar) != '\0') { - if((*curChar) == '/') - lastSeparator = curChar; - curChar++; - } - - if(lastSeparator == NULL) { - parentFolder = (HFSPlusCatalogFolder*) getRecordFromPath("/", volume, NULL, NULL); - name = path; - } else { - name = lastSeparator + 1; - *lastSeparator = '\0'; - parentFolder = (HFSPlusCatalogFolder*) getRecordFromPath(path, volume, NULL, NULL); - } - - if(parentFolder == NULL || parentFolder->recordType != kHFSPlusFolderRecord) { - free(path); - free(parentFolder); - return FALSE; - } - - newFolderID = volume->volumeHeader->nextCatalogID++; - volume->volumeHeader->folderCount++; - - folder.recordType = kHFSPlusFolderRecord; - folder.flags = kHFSHasFolderCountMask; - folder.valence = 0; - folder.folderID = newFolderID; - folder.createDate = UNIX_TO_APPLE_TIME(time(NULL)); - folder.contentModDate = folder.createDate; - folder.attributeModDate = folder.createDate; - folder.accessDate = folder.createDate; - folder.backupDate = folder.createDate; - folder.permissions.ownerID = parentFolder->permissions.ownerID; - folder.permissions.groupID = parentFolder->permissions.groupID; - folder.permissions.adminFlags = 0; - folder.permissions.ownerFlags = 0; - folder.permissions.fileMode = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; - folder.permissions.special.iNodeNum = 0; - memset(&folder.userInfo, 0, sizeof(folder.userInfo)); - memset(&folder.finderInfo, 0, sizeof(folder.finderInfo)); - folder.textEncoding = 0; - folder.folderCount = 0; - - key.parentID = parentFolder->folderID; - ASCIIToUnicode(name, &key.nodeName); - key.keyLength = sizeof(key.parentID) + STR_SIZE(key.nodeName); - - thread.recordType = kHFSPlusFolderThreadRecord; - thread.reserved = 0; - thread.parentID = parentFolder->folderID; - ASCIIToUnicode(name, &thread.nodeName); - threadLength = sizeof(thread.recordType) + sizeof(thread.reserved) + sizeof(thread.parentID) + STR_SIZE(thread.nodeName); - flipCatalogThread(&thread, TRUE); - flipCatalogFolder(&folder); - - ASSERT(addToBTree(volume->catalogTree, (BTKey*)(&key), sizeof(HFSPlusCatalogFolder), (unsigned char *)(&folder)), "addToBTree"); - key.nodeName.length = 0; - key.parentID = newFolderID; - key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); - ASSERT(addToBTree(volume->catalogTree, (BTKey*)(&key), threadLength, (unsigned char *)(&thread)), "addToBTree"); - - parentFolder->folderCount++; - parentFolder->valence++; - updateCatalog(volume, (HFSPlusCatalogRecord*) parentFolder); - - updateVolume(volume); - - free(parentFolder); - free(path); - - return newFolderID; -} - -HFSCatalogNodeID newFile(const char* pathName, Volume* volume) { - HFSPlusCatalogFolder* parentFolder; - HFSPlusCatalogFile file; - HFSPlusCatalogKey key; - HFSPlusCatalogThread thread; - - uint32_t newFileID; - - int threadLength; - - char* path; - char* name; - char* curChar; - char* lastSeparator; - - path = strdup(pathName); - - curChar = path; - lastSeparator = NULL; - - while((*curChar) != '\0') { - if((*curChar) == '/') - lastSeparator = curChar; - curChar++; - } - - if(lastSeparator == NULL) { - parentFolder = (HFSPlusCatalogFolder*) getRecordFromPath("/", volume, NULL, NULL); - name = path; - } else { - name = lastSeparator + 1; - *lastSeparator = '\0'; - parentFolder = (HFSPlusCatalogFolder*) getRecordFromPath(path, volume, NULL, NULL); - } - - if(parentFolder == NULL || parentFolder->recordType != kHFSPlusFolderRecord) { - free(path); - free(parentFolder); - return FALSE; - } - - newFileID = volume->volumeHeader->nextCatalogID++; - volume->volumeHeader->fileCount++; - - file.recordType = kHFSPlusFileRecord; - file.flags = kHFSThreadExistsMask; - file.reserved1 = 0; - file.fileID = newFileID; - file.createDate = UNIX_TO_APPLE_TIME(time(NULL)); - file.contentModDate = file.createDate; - file.attributeModDate = file.createDate; - file.accessDate = file.createDate; - file.backupDate = file.createDate; - file.permissions.ownerID = parentFolder->permissions.ownerID; - file.permissions.groupID = parentFolder->permissions.groupID; - file.permissions.adminFlags = 0; - file.permissions.ownerFlags = 0; - file.permissions.fileMode = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH; - file.permissions.special.iNodeNum = 0; - memset(&file.userInfo, 0, sizeof(file.userInfo)); - memset(&file.finderInfo, 0, sizeof(file.finderInfo)); - file.textEncoding = 0; - file.reserved2 = 0; - memset(&file.dataFork, 0, sizeof(file.dataFork)); - memset(&file.resourceFork, 0, sizeof(file.resourceFork)); - - key.parentID = parentFolder->folderID; - ASCIIToUnicode(name, &key.nodeName); - key.keyLength = sizeof(key.parentID) + STR_SIZE(key.nodeName); - - thread.recordType = kHFSPlusFileThreadRecord; - thread.reserved = 0; - thread.parentID = parentFolder->folderID; - ASCIIToUnicode(name, &thread.nodeName); - threadLength = sizeof(thread.recordType) + sizeof(thread.reserved) + sizeof(thread.parentID) + STR_SIZE(thread.nodeName); - flipCatalogThread(&thread, TRUE); - flipCatalogFile(&file); - - ASSERT(addToBTree(volume->catalogTree, (BTKey*)(&key), sizeof(HFSPlusCatalogFile), (unsigned char *)(&file)), "addToBTree"); - key.nodeName.length = 0; - key.parentID = newFileID; - key.keyLength = sizeof(key.parentID) + sizeof(key.nodeName.length); - ASSERT(addToBTree(volume->catalogTree, (BTKey*)(&key), threadLength, (unsigned char *)(&thread)), "addToBTree"); - - parentFolder->valence++; - updateCatalog(volume, (HFSPlusCatalogRecord*) parentFolder); - - updateVolume(volume); - - free(parentFolder); - free(path); - - return newFileID; -} - -int chmodFile(const char* pathName, int mode, Volume* volume) { - HFSPlusCatalogRecord* record; - - record = getRecordFromPath(pathName, volume, NULL, NULL); - - if(record == NULL) { - return FALSE; - } - - if(record->recordType == kHFSPlusFolderRecord) { - ((HFSPlusCatalogFolder*)record)->permissions.fileMode = (((HFSPlusCatalogFolder*)record)->permissions.fileMode & 0770000) | mode; - } else if(record->recordType == kHFSPlusFileRecord) { - ((HFSPlusCatalogFile*)record)->permissions.fileMode = (((HFSPlusCatalogFolder*)record)->permissions.fileMode & 0770000) | mode; - } else { - return FALSE; - } - - updateCatalog(volume, record); - - free(record); - - return TRUE; -} - -int chownFile(const char* pathName, uint32_t owner, uint32_t group, Volume* volume) { - HFSPlusCatalogRecord* record; - - record = getRecordFromPath(pathName, volume, NULL, NULL); - - if(record == NULL) { - return FALSE; - } - - if(record->recordType == kHFSPlusFolderRecord) { - ((HFSPlusCatalogFolder*)record)->permissions.ownerID = owner; - ((HFSPlusCatalogFolder*)record)->permissions.groupID = group; - } else if(record->recordType == kHFSPlusFileRecord) { - ((HFSPlusCatalogFile*)record)->permissions.ownerID = owner; - ((HFSPlusCatalogFile*)record)->permissions.groupID = group; - } else { - return FALSE; - } - - updateCatalog(volume, record); - - free(record); - - return TRUE; -} - - -BTree* openCatalogTree(io_func* file) { - BTree* btree; - - btree = openBTree(file, &catalogCompare, &catalogKeyRead, &catalogKeyWrite, &catalogKeyPrint, &catalogDataRead); - - if(btree->headerRec->keyCompareType == kHFSCaseFolding) { - btree->compare = &catalogCompareCS; - } - - return btree; -} - diff --git a/3rdparty/libdmg-hfsplus/hfs/extents.c b/3rdparty/libdmg-hfsplus/hfs/extents.c deleted file mode 100644 index 43a615240..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/extents.c +++ /dev/null @@ -1,119 +0,0 @@ -#include -#include -#include - -static inline void flipExtentDescriptor(HFSPlusExtentDescriptor* extentDescriptor) { - FLIPENDIAN(extentDescriptor->startBlock); - FLIPENDIAN(extentDescriptor->blockCount); -} - -void flipExtentRecord(HFSPlusExtentRecord* extentRecord) { - HFSPlusExtentDescriptor *extentDescriptor; - extentDescriptor = (HFSPlusExtentDescriptor*)extentRecord; - - flipExtentDescriptor(&extentDescriptor[0]); - flipExtentDescriptor(&extentDescriptor[1]); - flipExtentDescriptor(&extentDescriptor[2]); - flipExtentDescriptor(&extentDescriptor[3]); - flipExtentDescriptor(&extentDescriptor[4]); - flipExtentDescriptor(&extentDescriptor[5]); - flipExtentDescriptor(&extentDescriptor[6]); - flipExtentDescriptor(&extentDescriptor[7]); -} - -static int extentCompare(BTKey* vLeft, BTKey* vRight) { - HFSPlusExtentKey* left; - HFSPlusExtentKey* right; - - left = (HFSPlusExtentKey*) vLeft; - right =(HFSPlusExtentKey*) vRight; - - if(left->forkType < right->forkType) { - return -1; - } else if(left->forkType > right->forkType) { - return 1; - } else { - if(left->fileID < right->fileID) { - return -1; - } else if(left->fileID > right->fileID) { - return 1; - } else { - if(left->startBlock < right->startBlock) { - return -1; - } else if(left->startBlock > right->startBlock) { - return 1; - } else { - /* do a safety check on key length. Otherwise, bad things may happen later on when we try to add or remove with this key */ - if(left->keyLength == right->keyLength) { - return 0; - } else if(left->keyLength < right->keyLength) { - return -1; - } else { - return 1; - } - return 0; - } - } - } -} - -static BTKey* extentKeyRead(off_t offset, io_func* io) { - HFSPlusExtentKey* key; - - key = (HFSPlusExtentKey*) malloc(sizeof(HFSPlusExtentKey)); - - if(!READ(io, offset, sizeof(HFSPlusExtentKey), key)) - return NULL; - - FLIPENDIAN(key->keyLength); - FLIPENDIAN(key->forkType); - FLIPENDIAN(key->fileID); - FLIPENDIAN(key->startBlock); - - return (BTKey*)key; -} - -static int extentKeyWrite(off_t offset, BTKey* toWrite, io_func* io) { - HFSPlusExtentKey* key; - - key = (HFSPlusExtentKey*) malloc(sizeof(HFSPlusExtentKey)); - - memcpy(key, toWrite, sizeof(HFSPlusExtentKey)); - - FLIPENDIAN(key->keyLength); - FLIPENDIAN(key->forkType); - FLIPENDIAN(key->fileID); - FLIPENDIAN(key->startBlock); - - if(!WRITE(io, offset, sizeof(HFSPlusExtentKey), key)) - return FALSE; - - free(key); - - return TRUE; -} - -static void extentKeyPrint(BTKey* toPrint) { - HFSPlusExtentKey* key; - - key = (HFSPlusExtentKey*)toPrint; - - printf("extent%d:%d:%d", key->forkType, key->fileID, key->startBlock); -} - -static BTKey* extentDataRead(off_t offset, io_func* io) { - HFSPlusExtentRecord* record; - - record = (HFSPlusExtentRecord*) malloc(sizeof(HFSPlusExtentRecord)); - - if(!READ(io, offset, sizeof(HFSPlusExtentRecord), record)) - return NULL; - - flipExtentRecord(record); - - return (BTKey*)record; -} - -BTree* openExtentsTree(io_func* file) { - return openBTree(file, &extentCompare, &extentKeyRead, &extentKeyWrite, &extentKeyPrint, &extentDataRead); -} diff --git a/3rdparty/libdmg-hfsplus/hfs/fastunicodecompare.c b/3rdparty/libdmg-hfsplus/hfs/fastunicodecompare.c deleted file mode 100644 index 25793b325..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/fastunicodecompare.c +++ /dev/null @@ -1,418 +0,0 @@ -#include -#include - -/* This routine is taken from Apple's TN 1150, with adaptations for C */ - -/* The lower case table consists of a 256-entry high-byte table followed by - some number of 256-entry subtables. The high-byte table contains either an - offset to the subtable for characters with that high byte or zero, which - means that there are no case mappings or ignored characters in that block. - Ignored characters are mapped to zero. - */ - -uint16_t gLowerCaseTable[] = { - - /* 0 */ 0x0100, 0x0200, 0x0000, 0x0300, 0x0400, 0x0500, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 1 */ 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 2 */ 0x0700, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 4 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 5 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 6 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 7 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 9 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* A */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* B */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* C */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* D */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* E */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* F */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0A00, - - /* 0 */ 0xFFFF, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, - 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, - /* 1 */ 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, - 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, - /* 2 */ 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, - 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, - /* 3 */ 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, - 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, - /* 4 */ 0x0040, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, - 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, - /* 5 */ 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, - 0x0078, 0x0079, 0x007A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, - /* 6 */ 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, - 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, - /* 7 */ 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, - 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, - /* 8 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, - 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, - /* 9 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, - 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, - /* A */ 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, - 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, - /* B */ 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, - 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, - /* C */ 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00E6, 0x00C7, - 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, - /* D */ 0x00F0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, - 0x00F8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00FE, 0x00DF, - /* E */ 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, - 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, - /* F */ 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, - 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, - - /* 0 */ 0x0100, 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, - 0x0108, 0x0109, 0x010A, 0x010B, 0x010C, 0x010D, 0x010E, 0x010F, - /* 1 */ 0x0111, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, - 0x0118, 0x0119, 0x011A, 0x011B, 0x011C, 0x011D, 0x011E, 0x011F, - /* 2 */ 0x0120, 0x0121, 0x0122, 0x0123, 0x0124, 0x0125, 0x0127, 0x0127, - 0x0128, 0x0129, 0x012A, 0x012B, 0x012C, 0x012D, 0x012E, 0x012F, - /* 3 */ 0x0130, 0x0131, 0x0133, 0x0133, 0x0134, 0x0135, 0x0136, 0x0137, - 0x0138, 0x0139, 0x013A, 0x013B, 0x013C, 0x013D, 0x013E, 0x0140, - /* 4 */ 0x0140, 0x0142, 0x0142, 0x0143, 0x0144, 0x0145, 0x0146, 0x0147, - 0x0148, 0x0149, 0x014B, 0x014B, 0x014C, 0x014D, 0x014E, 0x014F, - /* 5 */ 0x0150, 0x0151, 0x0153, 0x0153, 0x0154, 0x0155, 0x0156, 0x0157, - 0x0158, 0x0159, 0x015A, 0x015B, 0x015C, 0x015D, 0x015E, 0x015F, - /* 6 */ 0x0160, 0x0161, 0x0162, 0x0163, 0x0164, 0x0165, 0x0167, 0x0167, - 0x0168, 0x0169, 0x016A, 0x016B, 0x016C, 0x016D, 0x016E, 0x016F, - /* 7 */ 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x0175, 0x0176, 0x0177, - 0x0178, 0x0179, 0x017A, 0x017B, 0x017C, 0x017D, 0x017E, 0x017F, - /* 8 */ 0x0180, 0x0253, 0x0183, 0x0183, 0x0185, 0x0185, 0x0254, 0x0188, - 0x0188, 0x0256, 0x0257, 0x018C, 0x018C, 0x018D, 0x01DD, 0x0259, - /* 9 */ 0x025B, 0x0192, 0x0192, 0x0260, 0x0263, 0x0195, 0x0269, 0x0268, - 0x0199, 0x0199, 0x019A, 0x019B, 0x026F, 0x0272, 0x019E, 0x0275, - /* A */ 0x01A0, 0x01A1, 0x01A3, 0x01A3, 0x01A5, 0x01A5, 0x01A6, 0x01A8, - 0x01A8, 0x0283, 0x01AA, 0x01AB, 0x01AD, 0x01AD, 0x0288, 0x01AF, - /* B */ 0x01B0, 0x028A, 0x028B, 0x01B4, 0x01B4, 0x01B6, 0x01B6, 0x0292, - 0x01B9, 0x01B9, 0x01BA, 0x01BB, 0x01BD, 0x01BD, 0x01BE, 0x01BF, - /* C */ 0x01C0, 0x01C1, 0x01C2, 0x01C3, 0x01C6, 0x01C6, 0x01C6, 0x01C9, - 0x01C9, 0x01C9, 0x01CC, 0x01CC, 0x01CC, 0x01CD, 0x01CE, 0x01CF, - /* D */ 0x01D0, 0x01D1, 0x01D2, 0x01D3, 0x01D4, 0x01D5, 0x01D6, 0x01D7, - 0x01D8, 0x01D9, 0x01DA, 0x01DB, 0x01DC, 0x01DD, 0x01DE, 0x01DF, - /* E */ 0x01E0, 0x01E1, 0x01E2, 0x01E3, 0x01E5, 0x01E5, 0x01E6, 0x01E7, - 0x01E8, 0x01E9, 0x01EA, 0x01EB, 0x01EC, 0x01ED, 0x01EE, 0x01EF, - /* F */ 0x01F0, 0x01F3, 0x01F3, 0x01F3, 0x01F4, 0x01F5, 0x01F6, 0x01F7, - 0x01F8, 0x01F9, 0x01FA, 0x01FB, 0x01FC, 0x01FD, 0x01FE, 0x01FF, - - /* 0 */ 0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0305, 0x0306, 0x0307, - 0x0308, 0x0309, 0x030A, 0x030B, 0x030C, 0x030D, 0x030E, 0x030F, - /* 1 */ 0x0310, 0x0311, 0x0312, 0x0313, 0x0314, 0x0315, 0x0316, 0x0317, - 0x0318, 0x0319, 0x031A, 0x031B, 0x031C, 0x031D, 0x031E, 0x031F, - /* 2 */ 0x0320, 0x0321, 0x0322, 0x0323, 0x0324, 0x0325, 0x0326, 0x0327, - 0x0328, 0x0329, 0x032A, 0x032B, 0x032C, 0x032D, 0x032E, 0x032F, - /* 3 */ 0x0330, 0x0331, 0x0332, 0x0333, 0x0334, 0x0335, 0x0336, 0x0337, - 0x0338, 0x0339, 0x033A, 0x033B, 0x033C, 0x033D, 0x033E, 0x033F, - /* 4 */ 0x0340, 0x0341, 0x0342, 0x0343, 0x0344, 0x0345, 0x0346, 0x0347, - 0x0348, 0x0349, 0x034A, 0x034B, 0x034C, 0x034D, 0x034E, 0x034F, - /* 5 */ 0x0350, 0x0351, 0x0352, 0x0353, 0x0354, 0x0355, 0x0356, 0x0357, - 0x0358, 0x0359, 0x035A, 0x035B, 0x035C, 0x035D, 0x035E, 0x035F, - /* 6 */ 0x0360, 0x0361, 0x0362, 0x0363, 0x0364, 0x0365, 0x0366, 0x0367, - 0x0368, 0x0369, 0x036A, 0x036B, 0x036C, 0x036D, 0x036E, 0x036F, - /* 7 */ 0x0370, 0x0371, 0x0372, 0x0373, 0x0374, 0x0375, 0x0376, 0x0377, - 0x0378, 0x0379, 0x037A, 0x037B, 0x037C, 0x037D, 0x037E, 0x037F, - /* 8 */ 0x0380, 0x0381, 0x0382, 0x0383, 0x0384, 0x0385, 0x0386, 0x0387, - 0x0388, 0x0389, 0x038A, 0x038B, 0x038C, 0x038D, 0x038E, 0x038F, - /* 9 */ 0x0390, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, - 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, - /* A */ 0x03C0, 0x03C1, 0x03A2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, - 0x03C8, 0x03C9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, - /* B */ 0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, - 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, - /* C */ 0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, - 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0x03CF, - /* D */ 0x03D0, 0x03D1, 0x03D2, 0x03D3, 0x03D4, 0x03D5, 0x03D6, 0x03D7, - 0x03D8, 0x03D9, 0x03DA, 0x03DB, 0x03DC, 0x03DD, 0x03DE, 0x03DF, - /* E */ 0x03E0, 0x03E1, 0x03E3, 0x03E3, 0x03E5, 0x03E5, 0x03E7, 0x03E7, - 0x03E9, 0x03E9, 0x03EB, 0x03EB, 0x03ED, 0x03ED, 0x03EF, 0x03EF, - /* F */ 0x03F0, 0x03F1, 0x03F2, 0x03F3, 0x03F4, 0x03F5, 0x03F6, 0x03F7, - 0x03F8, 0x03F9, 0x03FA, 0x03FB, 0x03FC, 0x03FD, 0x03FE, 0x03FF, - - /* 0 */ 0x0400, 0x0401, 0x0452, 0x0403, 0x0454, 0x0455, 0x0456, 0x0407, - 0x0458, 0x0459, 0x045A, 0x045B, 0x040C, 0x040D, 0x040E, 0x045F, - /* 1 */ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, - 0x0438, 0x0419, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, - /* 2 */ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, - 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, - /* 3 */ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, - 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, - /* 4 */ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, - 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, - /* 5 */ 0x0450, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, - 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x045D, 0x045E, 0x045F, - /* 6 */ 0x0461, 0x0461, 0x0463, 0x0463, 0x0465, 0x0465, 0x0467, 0x0467, - 0x0469, 0x0469, 0x046B, 0x046B, 0x046D, 0x046D, 0x046F, 0x046F, - /* 7 */ 0x0471, 0x0471, 0x0473, 0x0473, 0x0475, 0x0475, 0x0476, 0x0477, - 0x0479, 0x0479, 0x047B, 0x047B, 0x047D, 0x047D, 0x047F, 0x047F, - /* 8 */ 0x0481, 0x0481, 0x0482, 0x0483, 0x0484, 0x0485, 0x0486, 0x0487, - 0x0488, 0x0489, 0x048A, 0x048B, 0x048C, 0x048D, 0x048E, 0x048F, - /* 9 */ 0x0491, 0x0491, 0x0493, 0x0493, 0x0495, 0x0495, 0x0497, 0x0497, - 0x0499, 0x0499, 0x049B, 0x049B, 0x049D, 0x049D, 0x049F, 0x049F, - /* A */ 0x04A1, 0x04A1, 0x04A3, 0x04A3, 0x04A5, 0x04A5, 0x04A7, 0x04A7, - 0x04A9, 0x04A9, 0x04AB, 0x04AB, 0x04AD, 0x04AD, 0x04AF, 0x04AF, - /* B */ 0x04B1, 0x04B1, 0x04B3, 0x04B3, 0x04B5, 0x04B5, 0x04B7, 0x04B7, - 0x04B9, 0x04B9, 0x04BB, 0x04BB, 0x04BD, 0x04BD, 0x04BF, 0x04BF, - /* C */ 0x04C0, 0x04C1, 0x04C2, 0x04C4, 0x04C4, 0x04C5, 0x04C6, 0x04C8, - 0x04C8, 0x04C9, 0x04CA, 0x04CC, 0x04CC, 0x04CD, 0x04CE, 0x04CF, - /* D */ 0x04D0, 0x04D1, 0x04D2, 0x04D3, 0x04D4, 0x04D5, 0x04D6, 0x04D7, - 0x04D8, 0x04D9, 0x04DA, 0x04DB, 0x04DC, 0x04DD, 0x04DE, 0x04DF, - /* E */ 0x04E0, 0x04E1, 0x04E2, 0x04E3, 0x04E4, 0x04E5, 0x04E6, 0x04E7, - 0x04E8, 0x04E9, 0x04EA, 0x04EB, 0x04EC, 0x04ED, 0x04EE, 0x04EF, - /* F */ 0x04F0, 0x04F1, 0x04F2, 0x04F3, 0x04F4, 0x04F5, 0x04F6, 0x04F7, - 0x04F8, 0x04F9, 0x04FA, 0x04FB, 0x04FC, 0x04FD, 0x04FE, 0x04FF, - - /* 0 */ 0x0500, 0x0501, 0x0502, 0x0503, 0x0504, 0x0505, 0x0506, 0x0507, - 0x0508, 0x0509, 0x050A, 0x050B, 0x050C, 0x050D, 0x050E, 0x050F, - /* 1 */ 0x0510, 0x0511, 0x0512, 0x0513, 0x0514, 0x0515, 0x0516, 0x0517, - 0x0518, 0x0519, 0x051A, 0x051B, 0x051C, 0x051D, 0x051E, 0x051F, - /* 2 */ 0x0520, 0x0521, 0x0522, 0x0523, 0x0524, 0x0525, 0x0526, 0x0527, - 0x0528, 0x0529, 0x052A, 0x052B, 0x052C, 0x052D, 0x052E, 0x052F, - /* 3 */ 0x0530, 0x0561, 0x0562, 0x0563, 0x0564, 0x0565, 0x0566, 0x0567, - 0x0568, 0x0569, 0x056A, 0x056B, 0x056C, 0x056D, 0x056E, 0x056F, - /* 4 */ 0x0570, 0x0571, 0x0572, 0x0573, 0x0574, 0x0575, 0x0576, 0x0577, - 0x0578, 0x0579, 0x057A, 0x057B, 0x057C, 0x057D, 0x057E, 0x057F, - /* 5 */ 0x0580, 0x0581, 0x0582, 0x0583, 0x0584, 0x0585, 0x0586, 0x0557, - 0x0558, 0x0559, 0x055A, 0x055B, 0x055C, 0x055D, 0x055E, 0x055F, - /* 6 */ 0x0560, 0x0561, 0x0562, 0x0563, 0x0564, 0x0565, 0x0566, 0x0567, - 0x0568, 0x0569, 0x056A, 0x056B, 0x056C, 0x056D, 0x056E, 0x056F, - /* 7 */ 0x0570, 0x0571, 0x0572, 0x0573, 0x0574, 0x0575, 0x0576, 0x0577, - 0x0578, 0x0579, 0x057A, 0x057B, 0x057C, 0x057D, 0x057E, 0x057F, - /* 8 */ 0x0580, 0x0581, 0x0582, 0x0583, 0x0584, 0x0585, 0x0586, 0x0587, - 0x0588, 0x0589, 0x058A, 0x058B, 0x058C, 0x058D, 0x058E, 0x058F, - /* 9 */ 0x0590, 0x0591, 0x0592, 0x0593, 0x0594, 0x0595, 0x0596, 0x0597, - 0x0598, 0x0599, 0x059A, 0x059B, 0x059C, 0x059D, 0x059E, 0x059F, - /* A */ 0x05A0, 0x05A1, 0x05A2, 0x05A3, 0x05A4, 0x05A5, 0x05A6, 0x05A7, - 0x05A8, 0x05A9, 0x05AA, 0x05AB, 0x05AC, 0x05AD, 0x05AE, 0x05AF, - /* B */ 0x05B0, 0x05B1, 0x05B2, 0x05B3, 0x05B4, 0x05B5, 0x05B6, 0x05B7, - 0x05B8, 0x05B9, 0x05BA, 0x05BB, 0x05BC, 0x05BD, 0x05BE, 0x05BF, - /* C */ 0x05C0, 0x05C1, 0x05C2, 0x05C3, 0x05C4, 0x05C5, 0x05C6, 0x05C7, - 0x05C8, 0x05C9, 0x05CA, 0x05CB, 0x05CC, 0x05CD, 0x05CE, 0x05CF, - /* D */ 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, - 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, - /* E */ 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, - 0x05E8, 0x05E9, 0x05EA, 0x05EB, 0x05EC, 0x05ED, 0x05EE, 0x05EF, - /* F */ 0x05F0, 0x05F1, 0x05F2, 0x05F3, 0x05F4, 0x05F5, 0x05F6, 0x05F7, - 0x05F8, 0x05F9, 0x05FA, 0x05FB, 0x05FC, 0x05FD, 0x05FE, 0x05FF, - - /* 0 */ 0x1000, 0x1001, 0x1002, 0x1003, 0x1004, 0x1005, 0x1006, 0x1007, - 0x1008, 0x1009, 0x100A, 0x100B, 0x100C, 0x100D, 0x100E, 0x100F, - /* 1 */ 0x1010, 0x1011, 0x1012, 0x1013, 0x1014, 0x1015, 0x1016, 0x1017, - 0x1018, 0x1019, 0x101A, 0x101B, 0x101C, 0x101D, 0x101E, 0x101F, - /* 2 */ 0x1020, 0x1021, 0x1022, 0x1023, 0x1024, 0x1025, 0x1026, 0x1027, - 0x1028, 0x1029, 0x102A, 0x102B, 0x102C, 0x102D, 0x102E, 0x102F, - /* 3 */ 0x1030, 0x1031, 0x1032, 0x1033, 0x1034, 0x1035, 0x1036, 0x1037, - 0x1038, 0x1039, 0x103A, 0x103B, 0x103C, 0x103D, 0x103E, 0x103F, - /* 4 */ 0x1040, 0x1041, 0x1042, 0x1043, 0x1044, 0x1045, 0x1046, 0x1047, - 0x1048, 0x1049, 0x104A, 0x104B, 0x104C, 0x104D, 0x104E, 0x104F, - /* 5 */ 0x1050, 0x1051, 0x1052, 0x1053, 0x1054, 0x1055, 0x1056, 0x1057, - 0x1058, 0x1059, 0x105A, 0x105B, 0x105C, 0x105D, 0x105E, 0x105F, - /* 6 */ 0x1060, 0x1061, 0x1062, 0x1063, 0x1064, 0x1065, 0x1066, 0x1067, - 0x1068, 0x1069, 0x106A, 0x106B, 0x106C, 0x106D, 0x106E, 0x106F, - /* 7 */ 0x1070, 0x1071, 0x1072, 0x1073, 0x1074, 0x1075, 0x1076, 0x1077, - 0x1078, 0x1079, 0x107A, 0x107B, 0x107C, 0x107D, 0x107E, 0x107F, - /* 8 */ 0x1080, 0x1081, 0x1082, 0x1083, 0x1084, 0x1085, 0x1086, 0x1087, - 0x1088, 0x1089, 0x108A, 0x108B, 0x108C, 0x108D, 0x108E, 0x108F, - /* 9 */ 0x1090, 0x1091, 0x1092, 0x1093, 0x1094, 0x1095, 0x1096, 0x1097, - 0x1098, 0x1099, 0x109A, 0x109B, 0x109C, 0x109D, 0x109E, 0x109F, - /* A */ 0x10D0, 0x10D1, 0x10D2, 0x10D3, 0x10D4, 0x10D5, 0x10D6, 0x10D7, - 0x10D8, 0x10D9, 0x10DA, 0x10DB, 0x10DC, 0x10DD, 0x10DE, 0x10DF, - /* B */ 0x10E0, 0x10E1, 0x10E2, 0x10E3, 0x10E4, 0x10E5, 0x10E6, 0x10E7, - 0x10E8, 0x10E9, 0x10EA, 0x10EB, 0x10EC, 0x10ED, 0x10EE, 0x10EF, - /* C */ 0x10F0, 0x10F1, 0x10F2, 0x10F3, 0x10F4, 0x10F5, 0x10C6, 0x10C7, - 0x10C8, 0x10C9, 0x10CA, 0x10CB, 0x10CC, 0x10CD, 0x10CE, 0x10CF, - /* D */ 0x10D0, 0x10D1, 0x10D2, 0x10D3, 0x10D4, 0x10D5, 0x10D6, 0x10D7, - 0x10D8, 0x10D9, 0x10DA, 0x10DB, 0x10DC, 0x10DD, 0x10DE, 0x10DF, - /* E */ 0x10E0, 0x10E1, 0x10E2, 0x10E3, 0x10E4, 0x10E5, 0x10E6, 0x10E7, - 0x10E8, 0x10E9, 0x10EA, 0x10EB, 0x10EC, 0x10ED, 0x10EE, 0x10EF, - /* F */ 0x10F0, 0x10F1, 0x10F2, 0x10F3, 0x10F4, 0x10F5, 0x10F6, 0x10F7, - 0x10F8, 0x10F9, 0x10FA, 0x10FB, 0x10FC, 0x10FD, 0x10FE, 0x10FF, - - /* 0 */ 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, - 0x2008, 0x2009, 0x200A, 0x200B, 0x0000, 0x0000, 0x0000, 0x0000, - /* 1 */ 0x2010, 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2016, 0x2017, - 0x2018, 0x2019, 0x201A, 0x201B, 0x201C, 0x201D, 0x201E, 0x201F, - /* 2 */ 0x2020, 0x2021, 0x2022, 0x2023, 0x2024, 0x2025, 0x2026, 0x2027, - 0x2028, 0x2029, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x202F, - /* 3 */ 0x2030, 0x2031, 0x2032, 0x2033, 0x2034, 0x2035, 0x2036, 0x2037, - 0x2038, 0x2039, 0x203A, 0x203B, 0x203C, 0x203D, 0x203E, 0x203F, - /* 4 */ 0x2040, 0x2041, 0x2042, 0x2043, 0x2044, 0x2045, 0x2046, 0x2047, - 0x2048, 0x2049, 0x204A, 0x204B, 0x204C, 0x204D, 0x204E, 0x204F, - /* 5 */ 0x2050, 0x2051, 0x2052, 0x2053, 0x2054, 0x2055, 0x2056, 0x2057, - 0x2058, 0x2059, 0x205A, 0x205B, 0x205C, 0x205D, 0x205E, 0x205F, - /* 6 */ 0x2060, 0x2061, 0x2062, 0x2063, 0x2064, 0x2065, 0x2066, 0x2067, - 0x2068, 0x2069, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 7 */ 0x2070, 0x2071, 0x2072, 0x2073, 0x2074, 0x2075, 0x2076, 0x2077, - 0x2078, 0x2079, 0x207A, 0x207B, 0x207C, 0x207D, 0x207E, 0x207F, - /* 8 */ 0x2080, 0x2081, 0x2082, 0x2083, 0x2084, 0x2085, 0x2086, 0x2087, - 0x2088, 0x2089, 0x208A, 0x208B, 0x208C, 0x208D, 0x208E, 0x208F, - /* 9 */ 0x2090, 0x2091, 0x2092, 0x2093, 0x2094, 0x2095, 0x2096, 0x2097, - 0x2098, 0x2099, 0x209A, 0x209B, 0x209C, 0x209D, 0x209E, 0x209F, - /* A */ 0x20A0, 0x20A1, 0x20A2, 0x20A3, 0x20A4, 0x20A5, 0x20A6, 0x20A7, - 0x20A8, 0x20A9, 0x20AA, 0x20AB, 0x20AC, 0x20AD, 0x20AE, 0x20AF, - /* B */ 0x20B0, 0x20B1, 0x20B2, 0x20B3, 0x20B4, 0x20B5, 0x20B6, 0x20B7, - 0x20B8, 0x20B9, 0x20BA, 0x20BB, 0x20BC, 0x20BD, 0x20BE, 0x20BF, - /* C */ 0x20C0, 0x20C1, 0x20C2, 0x20C3, 0x20C4, 0x20C5, 0x20C6, 0x20C7, - 0x20C8, 0x20C9, 0x20CA, 0x20CB, 0x20CC, 0x20CD, 0x20CE, 0x20CF, - /* D */ 0x20D0, 0x20D1, 0x20D2, 0x20D3, 0x20D4, 0x20D5, 0x20D6, 0x20D7, - 0x20D8, 0x20D9, 0x20DA, 0x20DB, 0x20DC, 0x20DD, 0x20DE, 0x20DF, - /* E */ 0x20E0, 0x20E1, 0x20E2, 0x20E3, 0x20E4, 0x20E5, 0x20E6, 0x20E7, - 0x20E8, 0x20E9, 0x20EA, 0x20EB, 0x20EC, 0x20ED, 0x20EE, 0x20EF, - /* F */ 0x20F0, 0x20F1, 0x20F2, 0x20F3, 0x20F4, 0x20F5, 0x20F6, 0x20F7, - 0x20F8, 0x20F9, 0x20FA, 0x20FB, 0x20FC, 0x20FD, 0x20FE, 0x20FF, - - /* 0 */ 0x2100, 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, - 0x2108, 0x2109, 0x210A, 0x210B, 0x210C, 0x210D, 0x210E, 0x210F, - /* 1 */ 0x2110, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, - 0x2118, 0x2119, 0x211A, 0x211B, 0x211C, 0x211D, 0x211E, 0x211F, - /* 2 */ 0x2120, 0x2121, 0x2122, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, - 0x2128, 0x2129, 0x212A, 0x212B, 0x212C, 0x212D, 0x212E, 0x212F, - /* 3 */ 0x2130, 0x2131, 0x2132, 0x2133, 0x2134, 0x2135, 0x2136, 0x2137, - 0x2138, 0x2139, 0x213A, 0x213B, 0x213C, 0x213D, 0x213E, 0x213F, - /* 4 */ 0x2140, 0x2141, 0x2142, 0x2143, 0x2144, 0x2145, 0x2146, 0x2147, - 0x2148, 0x2149, 0x214A, 0x214B, 0x214C, 0x214D, 0x214E, 0x214F, - /* 5 */ 0x2150, 0x2151, 0x2152, 0x2153, 0x2154, 0x2155, 0x2156, 0x2157, - 0x2158, 0x2159, 0x215A, 0x215B, 0x215C, 0x215D, 0x215E, 0x215F, - /* 6 */ 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, - 0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, - /* 7 */ 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, - 0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, - /* 8 */ 0x2180, 0x2181, 0x2182, 0x2183, 0x2184, 0x2185, 0x2186, 0x2187, - 0x2188, 0x2189, 0x218A, 0x218B, 0x218C, 0x218D, 0x218E, 0x218F, - /* 9 */ 0x2190, 0x2191, 0x2192, 0x2193, 0x2194, 0x2195, 0x2196, 0x2197, - 0x2198, 0x2199, 0x219A, 0x219B, 0x219C, 0x219D, 0x219E, 0x219F, - /* A */ 0x21A0, 0x21A1, 0x21A2, 0x21A3, 0x21A4, 0x21A5, 0x21A6, 0x21A7, - 0x21A8, 0x21A9, 0x21AA, 0x21AB, 0x21AC, 0x21AD, 0x21AE, 0x21AF, - /* B */ 0x21B0, 0x21B1, 0x21B2, 0x21B3, 0x21B4, 0x21B5, 0x21B6, 0x21B7, - 0x21B8, 0x21B9, 0x21BA, 0x21BB, 0x21BC, 0x21BD, 0x21BE, 0x21BF, - /* C */ 0x21C0, 0x21C1, 0x21C2, 0x21C3, 0x21C4, 0x21C5, 0x21C6, 0x21C7, - 0x21C8, 0x21C9, 0x21CA, 0x21CB, 0x21CC, 0x21CD, 0x21CE, 0x21CF, - /* D */ 0x21D0, 0x21D1, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21D6, 0x21D7, - 0x21D8, 0x21D9, 0x21DA, 0x21DB, 0x21DC, 0x21DD, 0x21DE, 0x21DF, - /* E */ 0x21E0, 0x21E1, 0x21E2, 0x21E3, 0x21E4, 0x21E5, 0x21E6, 0x21E7, - 0x21E8, 0x21E9, 0x21EA, 0x21EB, 0x21EC, 0x21ED, 0x21EE, 0x21EF, - /* F */ 0x21F0, 0x21F1, 0x21F2, 0x21F3, 0x21F4, 0x21F5, 0x21F6, 0x21F7, - 0x21F8, 0x21F9, 0x21FA, 0x21FB, 0x21FC, 0x21FD, 0x21FE, 0x21FF, - - /* 0 */ 0xFE00, 0xFE01, 0xFE02, 0xFE03, 0xFE04, 0xFE05, 0xFE06, 0xFE07, - 0xFE08, 0xFE09, 0xFE0A, 0xFE0B, 0xFE0C, 0xFE0D, 0xFE0E, 0xFE0F, - /* 1 */ 0xFE10, 0xFE11, 0xFE12, 0xFE13, 0xFE14, 0xFE15, 0xFE16, 0xFE17, - 0xFE18, 0xFE19, 0xFE1A, 0xFE1B, 0xFE1C, 0xFE1D, 0xFE1E, 0xFE1F, - /* 2 */ 0xFE20, 0xFE21, 0xFE22, 0xFE23, 0xFE24, 0xFE25, 0xFE26, 0xFE27, - 0xFE28, 0xFE29, 0xFE2A, 0xFE2B, 0xFE2C, 0xFE2D, 0xFE2E, 0xFE2F, - /* 3 */ 0xFE30, 0xFE31, 0xFE32, 0xFE33, 0xFE34, 0xFE35, 0xFE36, 0xFE37, - 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, - /* 4 */ 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE46, 0xFE47, - 0xFE48, 0xFE49, 0xFE4A, 0xFE4B, 0xFE4C, 0xFE4D, 0xFE4E, 0xFE4F, - /* 5 */ 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE55, 0xFE56, 0xFE57, - 0xFE58, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, - /* 6 */ 0xFE60, 0xFE61, 0xFE62, 0xFE63, 0xFE64, 0xFE65, 0xFE66, 0xFE67, - 0xFE68, 0xFE69, 0xFE6A, 0xFE6B, 0xFE6C, 0xFE6D, 0xFE6E, 0xFE6F, - /* 7 */ 0xFE70, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFE77, - 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, - /* 8 */ 0xFE80, 0xFE81, 0xFE82, 0xFE83, 0xFE84, 0xFE85, 0xFE86, 0xFE87, - 0xFE88, 0xFE89, 0xFE8A, 0xFE8B, 0xFE8C, 0xFE8D, 0xFE8E, 0xFE8F, - /* 9 */ 0xFE90, 0xFE91, 0xFE92, 0xFE93, 0xFE94, 0xFE95, 0xFE96, 0xFE97, - 0xFE98, 0xFE99, 0xFE9A, 0xFE9B, 0xFE9C, 0xFE9D, 0xFE9E, 0xFE9F, - /* A */ 0xFEA0, 0xFEA1, 0xFEA2, 0xFEA3, 0xFEA4, 0xFEA5, 0xFEA6, 0xFEA7, - 0xFEA8, 0xFEA9, 0xFEAA, 0xFEAB, 0xFEAC, 0xFEAD, 0xFEAE, 0xFEAF, - /* B */ 0xFEB0, 0xFEB1, 0xFEB2, 0xFEB3, 0xFEB4, 0xFEB5, 0xFEB6, 0xFEB7, - 0xFEB8, 0xFEB9, 0xFEBA, 0xFEBB, 0xFEBC, 0xFEBD, 0xFEBE, 0xFEBF, - /* C */ 0xFEC0, 0xFEC1, 0xFEC2, 0xFEC3, 0xFEC4, 0xFEC5, 0xFEC6, 0xFEC7, - 0xFEC8, 0xFEC9, 0xFECA, 0xFECB, 0xFECC, 0xFECD, 0xFECE, 0xFECF, - /* D */ 0xFED0, 0xFED1, 0xFED2, 0xFED3, 0xFED4, 0xFED5, 0xFED6, 0xFED7, - 0xFED8, 0xFED9, 0xFEDA, 0xFEDB, 0xFEDC, 0xFEDD, 0xFEDE, 0xFEDF, - /* E */ 0xFEE0, 0xFEE1, 0xFEE2, 0xFEE3, 0xFEE4, 0xFEE5, 0xFEE6, 0xFEE7, - 0xFEE8, 0xFEE9, 0xFEEA, 0xFEEB, 0xFEEC, 0xFEED, 0xFEEE, 0xFEEF, - /* F */ 0xFEF0, 0xFEF1, 0xFEF2, 0xFEF3, 0xFEF4, 0xFEF5, 0xFEF6, 0xFEF7, - 0xFEF8, 0xFEF9, 0xFEFA, 0xFEFB, 0xFEFC, 0xFEFD, 0xFEFE, 0x0000, - - /* 0 */ 0xFF00, 0xFF01, 0xFF02, 0xFF03, 0xFF04, 0xFF05, 0xFF06, 0xFF07, - 0xFF08, 0xFF09, 0xFF0A, 0xFF0B, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, - /* 1 */ 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF14, 0xFF15, 0xFF16, 0xFF17, - 0xFF18, 0xFF19, 0xFF1A, 0xFF1B, 0xFF1C, 0xFF1D, 0xFF1E, 0xFF1F, - /* 2 */ 0xFF20, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, - 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, - /* 3 */ 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, - 0xFF58, 0xFF59, 0xFF5A, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, - /* 4 */ 0xFF40, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, - 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, - /* 5 */ 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, - 0xFF58, 0xFF59, 0xFF5A, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, - /* 6 */ 0xFF60, 0xFF61, 0xFF62, 0xFF63, 0xFF64, 0xFF65, 0xFF66, 0xFF67, - 0xFF68, 0xFF69, 0xFF6A, 0xFF6B, 0xFF6C, 0xFF6D, 0xFF6E, 0xFF6F, - /* 7 */ 0xFF70, 0xFF71, 0xFF72, 0xFF73, 0xFF74, 0xFF75, 0xFF76, 0xFF77, - 0xFF78, 0xFF79, 0xFF7A, 0xFF7B, 0xFF7C, 0xFF7D, 0xFF7E, 0xFF7F, - /* 8 */ 0xFF80, 0xFF81, 0xFF82, 0xFF83, 0xFF84, 0xFF85, 0xFF86, 0xFF87, - 0xFF88, 0xFF89, 0xFF8A, 0xFF8B, 0xFF8C, 0xFF8D, 0xFF8E, 0xFF8F, - /* 9 */ 0xFF90, 0xFF91, 0xFF92, 0xFF93, 0xFF94, 0xFF95, 0xFF96, 0xFF97, - 0xFF98, 0xFF99, 0xFF9A, 0xFF9B, 0xFF9C, 0xFF9D, 0xFF9E, 0xFF9F, - /* A */ 0xFFA0, 0xFFA1, 0xFFA2, 0xFFA3, 0xFFA4, 0xFFA5, 0xFFA6, 0xFFA7, - 0xFFA8, 0xFFA9, 0xFFAA, 0xFFAB, 0xFFAC, 0xFFAD, 0xFFAE, 0xFFAF, - /* B */ 0xFFB0, 0xFFB1, 0xFFB2, 0xFFB3, 0xFFB4, 0xFFB5, 0xFFB6, 0xFFB7, - 0xFFB8, 0xFFB9, 0xFFBA, 0xFFBB, 0xFFBC, 0xFFBD, 0xFFBE, 0xFFBF, - /* C */ 0xFFC0, 0xFFC1, 0xFFC2, 0xFFC3, 0xFFC4, 0xFFC5, 0xFFC6, 0xFFC7, - 0xFFC8, 0xFFC9, 0xFFCA, 0xFFCB, 0xFFCC, 0xFFCD, 0xFFCE, 0xFFCF, - /* D */ 0xFFD0, 0xFFD1, 0xFFD2, 0xFFD3, 0xFFD4, 0xFFD5, 0xFFD6, 0xFFD7, - 0xFFD8, 0xFFD9, 0xFFDA, 0xFFDB, 0xFFDC, 0xFFDD, 0xFFDE, 0xFFDF, - /* E */ 0xFFE0, 0xFFE1, 0xFFE2, 0xFFE3, 0xFFE4, 0xFFE5, 0xFFE6, 0xFFE7, - 0xFFE8, 0xFFE9, 0xFFEA, 0xFFEB, 0xFFEC, 0xFFED, 0xFFEE, 0xFFEF, - /* F */ 0xFFF0, 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4, 0xFFF5, 0xFFF6, 0xFFF7, - 0xFFF8, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD, 0xFFFE, 0xFFFF, -}; - -int32_t FastUnicodeCompare ( register uint16_t str1[], register uint16_t length1, - register uint16_t str2[], register uint16_t length2) -{ - register uint16_t c1,c2; - register uint16_t temp; - register uint16_t* lowerCaseTable; - - lowerCaseTable = gLowerCaseTable; - - while (1) { - c1 = 0; - c2 = 0; - while (length1 && c1 == 0) { - c1 = *(str1++); - --length1; - if ((temp = lowerCaseTable[c1>>8]) != 0) - c1 = lowerCaseTable[temp + (c1 & 0x00FF)]; - } - while (length2 && c2 == 0) { - c2 = *(str2++); - --length2; - if ((temp = lowerCaseTable[c2>>8]) != 0) - c2 = lowerCaseTable[temp + (c2 & 0x00FF)]; - } - if (c1 == ':') { - c1 = '/'; - } - if (c2 == ':') { - c2 = '/'; - } - if (c1 != c2) - break; - if (c1 == 0) - return 0; - } - if (c1 < c2) - return -1; - else - return 1; -} diff --git a/3rdparty/libdmg-hfsplus/hfs/flatfile.c b/3rdparty/libdmg-hfsplus/hfs/flatfile.c deleted file mode 100644 index 8a1557012..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/flatfile.c +++ /dev/null @@ -1,104 +0,0 @@ -#include -#include - -static int flatFileRead(io_func* io, off_t location, size_t size, void *buffer) { - FILE* file; - file = (FILE*) io->data; - - if(size == 0) { - return TRUE; - } - - //printf("%d %d\n", location, size); fflush(stdout); - - if(fseeko(file, location, SEEK_SET) != 0) { - perror("fseek"); - return FALSE; - } - - if(fread(buffer, size, 1, file) != 1) { - perror("fread"); - return FALSE; - } else { - return TRUE; - } -} - -static int flatFileWrite(io_func* io, off_t location, size_t size, void *buffer) { - FILE* file; - - /*int i; - - printf("write: %lld %d - ", location, size); fflush(stdout); - - for(i = 0; i < size; i++) { - printf("%x ", ((unsigned char*)buffer)[i]); - fflush(stdout); - } - printf("\n"); fflush(stdout);*/ - - if(size == 0) { - return TRUE; - } - - file = (FILE*) io->data; - - if(fseeko(file, location, SEEK_SET) != 0) { - perror("fseek"); - return FALSE; - } - - if(fwrite(buffer, size, 1, file) != 1) { - perror("fwrite"); - return FALSE; - } else { - return TRUE; - } - - return TRUE; -} - -static void closeFlatFile(io_func* io) { - FILE* file; - - file = (FILE*) io->data; - - fclose(file); - free(io); -} - -io_func* openFlatFile(const char* fileName) { - io_func* io; - - io = (io_func*) malloc(sizeof(io_func)); - io->data = fopen(fileName, "rb+"); - - if(io->data == NULL) { - perror("fopen"); - return NULL; - } - - io->read = &flatFileRead; - io->write = &flatFileWrite; - io->close = &closeFlatFile; - - return io; -} - -io_func* openFlatFileRO(const char* fileName) { - io_func* io; - - io = (io_func*) malloc(sizeof(io_func)); - io->data = fopen(fileName, "rb"); - - if(io->data == NULL) { - perror("fopen"); - return NULL; - } - - io->read = &flatFileRead; - io->write = &flatFileWrite; - io->close = &closeFlatFile; - - return io; -} diff --git a/3rdparty/libdmg-hfsplus/hfs/hfs.c b/3rdparty/libdmg-hfsplus/hfs/hfs.c deleted file mode 100644 index 88b71d8b5..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/hfs.c +++ /dev/null @@ -1,297 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include -#include "abstractfile.h" -#include - -char endianness; - - -void cmd_ls(Volume* volume, int argc, const char *argv[]) { - if(argc > 1) - hfs_ls(volume, argv[1]); - else - hfs_ls(volume, "/"); -} - -void cmd_cat(Volume* volume, int argc, const char *argv[]) { - HFSPlusCatalogRecord* record; - AbstractFile* stdoutFile; - - record = getRecordFromPath(argv[1], volume, NULL, NULL); - - stdoutFile = createAbstractFileFromFile(stdout); - - if(record != NULL) { - if(record->recordType == kHFSPlusFileRecord) - writeToFile((HFSPlusCatalogFile*)record, stdoutFile, volume); - else - printf("Not a file\n"); - } else { - printf("No such file or directory\n"); - } - - free(record); - free(stdoutFile); -} - -void cmd_extract(Volume* volume, int argc, const char *argv[]) { - HFSPlusCatalogRecord* record; - AbstractFile *outFile; - - if(argc < 3) { - printf("Not enough arguments"); - return; - } - - outFile = createAbstractFileFromFile(fopen(argv[2], "wb")); - - if(outFile == NULL) { - printf("cannot create file"); - } - - record = getRecordFromPath(argv[1], volume, NULL, NULL); - - if(record != NULL) { - if(record->recordType == kHFSPlusFileRecord) - writeToFile((HFSPlusCatalogFile*)record, outFile, volume); - else - printf("Not a file\n"); - } else { - printf("No such file or directory\n"); - } - - outFile->close(outFile); - free(record); -} - -void cmd_mv(Volume* volume, int argc, const char *argv[]) { - if(argc > 2) { - move(argv[1], argv[2], volume); - } else { - printf("Not enough arguments"); - } -} - -void cmd_symlink(Volume* volume, int argc, const char *argv[]) { - if(argc > 2) { - makeSymlink(argv[1], argv[2], volume); - } else { - printf("Not enough arguments"); - } -} - -void cmd_mkdir(Volume* volume, int argc, const char *argv[]) { - if(argc > 1) { - newFolder(argv[1], volume); - } else { - printf("Not enough arguments"); - } -} - -void cmd_add(Volume* volume, int argc, const char *argv[]) { - AbstractFile *inFile; - - if(argc < 3) { - printf("Not enough arguments"); - return; - } - - inFile = createAbstractFileFromFile(fopen(argv[1], "rb")); - - if(inFile == NULL) { - printf("file to add not found"); - } - - add_hfs(volume, inFile, argv[2]); -} - -void cmd_rm(Volume* volume, int argc, const char *argv[]) { - if(argc > 1) { - removeFile(argv[1], volume); - } else { - printf("Not enough arguments"); - } -} - -void cmd_chmod(Volume* volume, int argc, const char *argv[]) { - int mode; - - if(argc > 2) { - sscanf(argv[1], "%o", &mode); - chmodFile(argv[2], mode, volume); - } else { - printf("Not enough arguments"); - } -} - -void cmd_extractall(Volume* volume, int argc, const char *argv[]) { - HFSPlusCatalogRecord* record; - char cwd[1024]; - char* name; - - ASSERT(getcwd(cwd, 1024) != NULL, "cannot get current working directory"); - - if(argc > 1) - record = getRecordFromPath(argv[1], volume, &name, NULL); - else - record = getRecordFromPath("/", volume, &name, NULL); - - if(argc > 2) { - ASSERT(chdir(argv[2]) == 0, "chdir"); - } - - if(record != NULL) { - if(record->recordType == kHFSPlusFolderRecord) - extractAllInFolder(((HFSPlusCatalogFolder*)record)->folderID, volume); - else - printf("Not a folder\n"); - } else { - printf("No such file or directory\n"); - } - free(record); - - ASSERT(chdir(cwd) == 0, "chdir"); -} - - -void cmd_rmall(Volume* volume, int argc, const char *argv[]) { - HFSPlusCatalogRecord* record; - char* name; - char initPath[1024]; - int lastCharOfPath; - - if(argc > 1) { - record = getRecordFromPath(argv[1], volume, &name, NULL); - strcpy(initPath, argv[1]); - lastCharOfPath = strlen(argv[1]) - 1; - if(argv[1][lastCharOfPath] != '/') { - initPath[lastCharOfPath + 1] = '/'; - initPath[lastCharOfPath + 2] = '\0'; - } - } else { - record = getRecordFromPath("/", volume, &name, NULL); - initPath[0] = '/'; - initPath[1] = '\0'; - } - - if(record != NULL) { - if(record->recordType == kHFSPlusFolderRecord) { - removeAllInFolder(((HFSPlusCatalogFolder*)record)->folderID, volume, initPath); - } else { - printf("Not a folder\n"); - } - } else { - printf("No such file or directory\n"); - } - free(record); -} - -void cmd_addall(Volume* volume, int argc, const char *argv[]) { - if(argc < 2) { - printf("Not enough arguments"); - return; - } - - if(argc > 2) { - addall_hfs(volume, argv[1], argv[2]); - } else { - addall_hfs(volume, argv[1], "/"); - } -} - -void cmd_grow(Volume* volume, int argc, const char *argv[]) { - uint64_t newSize; - - if(argc < 2) { - printf("Not enough arguments\n"); - return; - } - - newSize = 0; - sscanf(argv[1], "%" PRId64, &newSize); - - grow_hfs(volume, newSize); - - printf("grew volume: %" PRId64 "\n", newSize); -} - -void TestByteOrder() -{ - short int word = 0x0001; - char *byte = (char *) &word; - endianness = byte[0] ? IS_LITTLE_ENDIAN : IS_BIG_ENDIAN; -} - - -int main(int argc, const char *argv[]) { - io_func* io; - Volume* volume; - - TestByteOrder(); - - if(argc < 3) { - printf("usage: %s \n", argv[0]); - return 0; - } - - io = openFlatFile(argv[1]); - if(io == NULL) { - fprintf(stderr, "error: Cannot open image-file.\n"); - return 1; - } - - volume = openVolume(io); - if(volume == NULL) { - fprintf(stderr, "error: Cannot open volume.\n"); - CLOSE(io); - return 1; - } - - if(argc > 1) { - if(strcmp(argv[2], "ls") == 0) { - cmd_ls(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "cat") == 0) { - cmd_cat(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "mv") == 0) { - cmd_mv(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "symlink") == 0) { - cmd_symlink(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "mkdir") == 0) { - cmd_mkdir(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "add") == 0) { - cmd_add(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "rm") == 0) { - cmd_rm(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "chmod") == 0) { - cmd_chmod(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "extract") == 0) { - cmd_extract(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "extractall") == 0) { - cmd_extractall(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "rmall") == 0) { - cmd_rmall(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "addall") == 0) { - cmd_addall(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "grow") == 0) { - cmd_grow(volume, argc - 2, argv + 2); - } else if(strcmp(argv[2], "debug") == 0) { - if(argc > 3 && strcmp(argv[3], "verbose") == 0) { - debugBTree(volume->catalogTree, TRUE); - } else { - debugBTree(volume->catalogTree, FALSE); - } - } - } - - closeVolume(volume); - CLOSE(io); - - return 0; -} diff --git a/3rdparty/libdmg-hfsplus/hfs/hfslib.c b/3rdparty/libdmg-hfsplus/hfs/hfslib.c deleted file mode 100644 index 6350ad842..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/hfslib.c +++ /dev/null @@ -1,648 +0,0 @@ -#include -#include -#include -#include -#include -#include "common.h" -#include -#include "abstractfile.h" -#include -#include - -#define BUFSIZE 1024*1024 - -void writeToFile(HFSPlusCatalogFile* file, AbstractFile* output, Volume* volume) { - unsigned char* buffer; - io_func* io; - off_t curPosition; - size_t bytesLeft; - - buffer = (unsigned char*) malloc(BUFSIZE); - - io = openRawFile(file->fileID, &file->dataFork, (HFSPlusCatalogRecord*)file, volume); - if(io == NULL) { - hfs_panic("error opening file"); - free(buffer); - return; - } - - curPosition = 0; - bytesLeft = file->dataFork.logicalSize; - - while(bytesLeft > 0) { - if(bytesLeft > BUFSIZE) { - if(!READ(io, curPosition, BUFSIZE, buffer)) { - hfs_panic("error reading"); - } - if(output->write(output, buffer, BUFSIZE) != BUFSIZE) { - hfs_panic("error writing"); - } - curPosition += BUFSIZE; - bytesLeft -= BUFSIZE; - } else { - if(!READ(io, curPosition, bytesLeft, buffer)) { - hfs_panic("error reading"); - } - if(output->write(output, buffer, bytesLeft) != bytesLeft) { - hfs_panic("error writing"); - } - curPosition += bytesLeft; - bytesLeft -= bytesLeft; - } - } - CLOSE(io); - - free(buffer); -} - -void writeToHFSFile(HFSPlusCatalogFile* file, AbstractFile* input, Volume* volume) { - unsigned char *buffer; - io_func* io; - off_t curPosition; - off_t bytesLeft; - - buffer = (unsigned char*) malloc(BUFSIZE); - - bytesLeft = input->getLength(input); - - io = openRawFile(file->fileID, &file->dataFork, (HFSPlusCatalogRecord*)file, volume); - if(io == NULL) { - hfs_panic("error opening file"); - free(buffer); - return; - } - - curPosition = 0; - - allocate((RawFile*)io->data, bytesLeft); - - while(bytesLeft > 0) { - if(bytesLeft > BUFSIZE) { - if(input->read(input, buffer, BUFSIZE) != BUFSIZE) { - hfs_panic("error reading"); - } - if(!WRITE(io, curPosition, BUFSIZE, buffer)) { - hfs_panic("error writing"); - } - curPosition += BUFSIZE; - bytesLeft -= BUFSIZE; - } else { - if(input->read(input, buffer, (size_t)bytesLeft) != (size_t)bytesLeft) { - hfs_panic("error reading"); - } - if(!WRITE(io, curPosition, (size_t)bytesLeft, buffer)) { - hfs_panic("error reading"); - } - curPosition += bytesLeft; - bytesLeft -= bytesLeft; - } - } - - CLOSE(io); - - free(buffer); -} - -void get_hfs(Volume* volume, const char* inFileName, AbstractFile* output) { - HFSPlusCatalogRecord* record; - - record = getRecordFromPath(inFileName, volume, NULL, NULL); - - if(record != NULL) { - if(record->recordType == kHFSPlusFileRecord) - writeToFile((HFSPlusCatalogFile*)record, output, volume); - else { - printf("Not a file\n"); - exit(0); - } - } else { - printf("No such file or directory\n"); - exit(0); - } - - free(record); -} - -int add_hfs(Volume* volume, AbstractFile* inFile, const char* outFileName) { - HFSPlusCatalogRecord* record; - int ret; - - record = getRecordFromPath(outFileName, volume, NULL, NULL); - - if(record != NULL) { - if(record->recordType == kHFSPlusFileRecord) { - writeToHFSFile((HFSPlusCatalogFile*)record, inFile, volume); - ret = TRUE; - } else { - printf("Not a file\n"); - exit(0); - } - } else { - if(newFile(outFileName, volume)) { - record = getRecordFromPath(outFileName, volume, NULL, NULL); - writeToHFSFile((HFSPlusCatalogFile*)record, inFile, volume); - ret = TRUE; - } else { - ret = FALSE; - } - } - - inFile->close(inFile); - if(record != NULL) { - free(record); - } - - return ret; -} - -void grow_hfs(Volume* volume, uint64_t newSize) { - uint32_t newBlocks; - uint32_t blocksToGrow; - uint64_t newMapSize; - uint64_t i; - unsigned char zero; - - zero = 0; - - newBlocks = newSize / volume->volumeHeader->blockSize; - - if(newBlocks <= volume->volumeHeader->totalBlocks) { - printf("Cannot shrink volume\n"); - return; - } - - blocksToGrow = newBlocks - volume->volumeHeader->totalBlocks; - newMapSize = newBlocks / 8; - - if(volume->volumeHeader->allocationFile.logicalSize < newMapSize) { - if(volume->volumeHeader->freeBlocks - < ((newMapSize - volume->volumeHeader->allocationFile.logicalSize) / volume->volumeHeader->blockSize)) { - printf("Not enough room to allocate new allocation map blocks\n"); - exit(0); - } - - allocate((RawFile*) (volume->allocationFile->data), newMapSize); - } - - /* unreserve last block */ - setBlockUsed(volume, volume->volumeHeader->totalBlocks - 1, 0); - /* don't need to increment freeBlocks because we will allocate another alternate volume header later on */ - - /* "unallocate" the new blocks */ - for(i = ((volume->volumeHeader->totalBlocks / 8) + 1); i < newMapSize; i++) { - ASSERT(WRITE(volume->allocationFile, i, 1, &zero), "WRITE"); - } - - /* grow backing store size */ - ASSERT(WRITE(volume->image, newSize - 1, 1, &zero), "WRITE"); - - /* write new volume information */ - volume->volumeHeader->totalBlocks = newBlocks; - volume->volumeHeader->freeBlocks += blocksToGrow; - - /* reserve last block */ - setBlockUsed(volume, volume->volumeHeader->totalBlocks - 1, 1); - - updateVolume(volume); -} - -void removeAllInFolder(HFSCatalogNodeID folderID, Volume* volume, const char* parentName) { - CatalogRecordList* list; - CatalogRecordList* theList; - char fullName[1024]; - char* name; - char* pathComponent; - int pathLen; - char isRoot; - - HFSPlusCatalogFolder* folder; - theList = list = getFolderContents(folderID, volume); - - strcpy(fullName, parentName); - pathComponent = fullName + strlen(fullName); - - isRoot = FALSE; - if(strcmp(fullName, "/") == 0) { - isRoot = TRUE; - } - - while(list != NULL) { - name = unicodeToAscii(&list->name); - if(isRoot && (name[0] == '\0' || strncmp(name, ".HFS+ Private Directory Data", sizeof(".HFS+ Private Directory Data") - 1) == 0)) { - free(name); - list = list->next; - continue; - } - - strcpy(pathComponent, name); - pathLen = strlen(fullName); - - if(list->record->recordType == kHFSPlusFolderRecord) { - folder = (HFSPlusCatalogFolder*)list->record; - fullName[pathLen] = '/'; - fullName[pathLen + 1] = '\0'; - removeAllInFolder(folder->folderID, volume, fullName); - } else { - printf("%s\n", fullName); - removeFile(fullName, volume); - } - - free(name); - list = list->next; - } - - releaseCatalogRecordList(theList); - - if(!isRoot) { - *(pathComponent - 1) = '\0'; - printf("%s\n", fullName); - removeFile(fullName, volume); - } -} - - -void addAllInFolder(HFSCatalogNodeID folderID, Volume* volume, const char* parentName) { - CatalogRecordList* list; - CatalogRecordList* theList; - char cwd[1024]; - char fullName[1024]; - char testBuffer[1024]; - char* pathComponent; - int pathLen; - - char* name; - - DIR* dir; - DIR* tmp; - - HFSCatalogNodeID cnid; - - struct dirent* ent; - - AbstractFile* file; - HFSPlusCatalogFile* outFile; - - strcpy(fullName, parentName); - pathComponent = fullName + strlen(fullName); - - ASSERT(getcwd(cwd, 1024) != NULL, "cannot get current working directory"); - - theList = list = getFolderContents(folderID, volume); - - ASSERT((dir = opendir(cwd)) != NULL, "opendir"); - - while((ent = readdir(dir)) != NULL) { - if(ent->d_name[0] == '.' && (ent->d_name[1] == '\0' || (ent->d_name[1] == '.' && ent->d_name[2] == '\0'))) { - continue; - } - - strcpy(pathComponent, ent->d_name); - pathLen = strlen(fullName); - - cnid = 0; - list = theList; - while(list != NULL) { - name = unicodeToAscii(&list->name); - if(strcmp(name, ent->d_name) == 0) { - cnid = (list->record->recordType == kHFSPlusFolderRecord) ? (((HFSPlusCatalogFolder*)list->record)->folderID) - : (((HFSPlusCatalogFile*)list->record)->fileID); - free(name); - break; - } - free(name); - list = list->next; - } - - if((tmp = opendir(ent->d_name)) != NULL) { - closedir(tmp); - printf("folder: %s\n", fullName); fflush(stdout); - - if(cnid == 0) { - cnid = newFolder(fullName, volume); - } - - fullName[pathLen] = '/'; - fullName[pathLen + 1] = '\0'; - ASSERT(chdir(ent->d_name) == 0, "chdir"); - addAllInFolder(cnid, volume, fullName); - ASSERT(chdir(cwd) == 0, "chdir"); - } else { - printf("file: %s\n", fullName); fflush(stdout); - if(cnid == 0) { - cnid = newFile(fullName, volume); - } - file = createAbstractFileFromFile(fopen(ent->d_name, "rb")); - ASSERT(file != NULL, "fopen"); - outFile = (HFSPlusCatalogFile*)getRecordByCNID(cnid, volume); - writeToHFSFile(outFile, file, volume); - file->close(file); - free(outFile); - - if(strncmp(fullName, "/Applications/", sizeof("/Applications/") - 1) == 0) { - testBuffer[0] = '\0'; - strcpy(testBuffer, "/Applications/"); - strcat(testBuffer, ent->d_name); - strcat(testBuffer, ".app/"); - strcat(testBuffer, ent->d_name); - if(strcmp(testBuffer, fullName) == 0) { - if(strcmp(ent->d_name, "Installer") == 0 - || strcmp(ent->d_name, "BootNeuter") == 0 - ) { - printf("Giving setuid permissions to %s...\n", fullName); fflush(stdout); - chmodFile(fullName, 04755, volume); - } else { - printf("Giving permissions to %s\n", fullName); fflush(stdout); - chmodFile(fullName, 0755, volume); - } - } - } else if(strncmp(fullName, "/bin/", sizeof("/bin/") - 1) == 0 - || strncmp(fullName, "/Applications/BootNeuter.app/bin/", sizeof("/Applications/BootNeuter.app/bin/") - 1) == 0 - || strncmp(fullName, "/sbin/", sizeof("/sbin/") - 1) == 0 - || strncmp(fullName, "/usr/sbin/", sizeof("/usr/sbin/") - 1) == 0 - || strncmp(fullName, "/usr/bin/", sizeof("/usr/bin/") - 1) == 0 - || strncmp(fullName, "/usr/libexec/", sizeof("/usr/libexec/") - 1) == 0 - || strncmp(fullName, "/usr/local/bin/", sizeof("/usr/local/bin/") - 1) == 0 - || strncmp(fullName, "/usr/local/sbin/", sizeof("/usr/local/sbin/") - 1) == 0 - || strncmp(fullName, "/usr/local/libexec/", sizeof("/usr/local/libexec/") - 1) == 0 - ) { - chmodFile(fullName, 0755, volume); - printf("Giving permissions to %s\n", fullName); fflush(stdout); - } - } - } - - closedir(dir); - - releaseCatalogRecordList(theList); -} - -void extractAllInFolder(HFSCatalogNodeID folderID, Volume* volume) { - CatalogRecordList* list; - CatalogRecordList* theList; - char cwd[1024]; - char* name; - HFSPlusCatalogFolder* folder; - HFSPlusCatalogFile* file; - AbstractFile* outFile; - struct stat status; - - ASSERT(getcwd(cwd, 1024) != NULL, "cannot get current working directory"); - - theList = list = getFolderContents(folderID, volume); - - while(list != NULL) { - name = unicodeToAscii(&list->name); - if(strncmp(name, ".HFS+ Private Directory Data", sizeof(".HFS+ Private Directory Data") - 1) == 0 || name[0] == '\0') { - free(name); - list = list->next; - continue; - } - - if(list->record->recordType == kHFSPlusFolderRecord) { - folder = (HFSPlusCatalogFolder*)list->record; - printf("folder: %s\n", name); - if(stat(name, &status) != 0) { - ASSERT(mkdir(name, 0755) == 0, "mkdir"); - } - ASSERT(chdir(name) == 0, "chdir"); - extractAllInFolder(folder->folderID, volume); - ASSERT(chdir(cwd) == 0, "chdir"); - } else if(list->record->recordType == kHFSPlusFileRecord) { - printf("file: %s\n", name); - file = (HFSPlusCatalogFile*)list->record; - outFile = createAbstractFileFromFile(fopen(name, "wb")); - if(outFile != NULL) { - writeToFile(file, outFile, volume); - outFile->close(outFile); - } else { - printf("WARNING: cannot fopen %s\n", name); - } - } - - free(name); - list = list->next; - } - releaseCatalogRecordList(theList); -} - - -void addall_hfs(Volume* volume, const char* dirToMerge, const char* dest) { - HFSPlusCatalogRecord* record; - char* name; - char cwd[1024]; - char initPath[1024]; - int lastCharOfPath; - - ASSERT(getcwd(cwd, 1024) != NULL, "cannot get current working directory"); - - if(chdir(dirToMerge) != 0) { - printf("Cannot open that directory: %s\n", dirToMerge); - exit(0); - } - - record = getRecordFromPath(dest, volume, &name, NULL); - strcpy(initPath, dest); - lastCharOfPath = strlen(dest) - 1; - if(dest[lastCharOfPath] != '/') { - initPath[lastCharOfPath + 1] = '/'; - initPath[lastCharOfPath + 2] = '\0'; - } - - if(record != NULL) { - if(record->recordType == kHFSPlusFolderRecord) - addAllInFolder(((HFSPlusCatalogFolder*)record)->folderID, volume, initPath); - else { - printf("Not a folder\n"); - exit(0); - } - } else { - printf("No such file or directory\n"); - exit(0); - } - - ASSERT(chdir(cwd) == 0, "chdir"); - free(record); - -} - -int copyAcrossVolumes(Volume* volume1, Volume* volume2, char* path1, char* path2) { - void* buffer; - size_t bufferSize; - AbstractFile* tmpFile; - int ret; - - buffer = malloc(1); - bufferSize = 0; - tmpFile = createAbstractFileFromMemoryFile((void**)&buffer, &bufferSize); - - printf("retrieving... "); fflush(stdout); - get_hfs(volume1, path1, tmpFile); - tmpFile->seek(tmpFile, 0); - printf("writing (%ld)... ", (long) tmpFile->getLength(tmpFile)); fflush(stdout); - ret = add_hfs(volume2, tmpFile, path2); - printf("done\n"); - - free(buffer); - - return ret; -} - -void displayFolder(HFSCatalogNodeID folderID, Volume* volume) { - CatalogRecordList* list; - CatalogRecordList* theList; - HFSPlusCatalogFolder* folder; - HFSPlusCatalogFile* file; - time_t fileTime; - struct tm *date; - - theList = list = getFolderContents(folderID, volume); - - while(list != NULL) { - if(list->record->recordType == kHFSPlusFolderRecord) { - folder = (HFSPlusCatalogFolder*)list->record; - printf("%06o ", folder->permissions.fileMode); - printf("%3d ", folder->permissions.ownerID); - printf("%3d ", folder->permissions.groupID); - printf("%12d ", folder->valence); - fileTime = APPLE_TO_UNIX_TIME(folder->contentModDate); - } else if(list->record->recordType == kHFSPlusFileRecord) { - file = (HFSPlusCatalogFile*)list->record; - printf("%06o ", file->permissions.fileMode); - printf("%3d ", file->permissions.ownerID); - printf("%3d ", file->permissions.groupID); - printf("%12" PRId64 " ", file->dataFork.logicalSize); - fileTime = APPLE_TO_UNIX_TIME(file->contentModDate); - } - - date = localtime(&fileTime); - if(date != NULL) { - printf("%2d/%2d/%4d %02d:%02d ", date->tm_mon, date->tm_mday, date->tm_year + 1900, date->tm_hour, date->tm_min); - } else { - printf(" "); - } - - printUnicode(&list->name); - printf("\n"); - - list = list->next; - } - - releaseCatalogRecordList(theList); -} - -void displayFileLSLine(HFSPlusCatalogFile* file, const char* name) { - time_t fileTime; - struct tm *date; - - printf("%06o ", file->permissions.fileMode); - printf("%3d ", file->permissions.ownerID); - printf("%3d ", file->permissions.groupID); - printf("%12" PRId64 " ", file->dataFork.logicalSize); - fileTime = APPLE_TO_UNIX_TIME(file->contentModDate); - date = localtime(&fileTime); - if(date != NULL) { - printf("%2d/%2d/%4d %2d:%02d ", date->tm_mon, date->tm_mday, date->tm_year + 1900, date->tm_hour, date->tm_min); - } else { - printf(" "); - } - printf("%s\n", name); -} - -void hfs_ls(Volume* volume, const char* path) { - HFSPlusCatalogRecord* record; - char* name; - - record = getRecordFromPath(path, volume, &name, NULL); - - printf("%s: \n", name); - if(record != NULL) { - if(record->recordType == kHFSPlusFolderRecord) - displayFolder(((HFSPlusCatalogFolder*)record)->folderID, volume); - else - displayFileLSLine((HFSPlusCatalogFile*)record, name); - } else { - printf("No such file or directory\n"); - } - - printf("Total filesystem size: %d, free: %d\n", (volume->volumeHeader->totalBlocks - volume->volumeHeader->freeBlocks) * volume->volumeHeader->blockSize, volume->volumeHeader->freeBlocks * volume->volumeHeader->blockSize); - - free(record); -} - -void hfs_untar(Volume* volume, AbstractFile* tarFile) { - size_t tarSize = tarFile->getLength(tarFile); - size_t curRecord = 0; - char block[512]; - - while(curRecord < tarSize) { - tarFile->seek(tarFile, curRecord); - tarFile->read(tarFile, block, 512); - - uint32_t mode = 0; - char* fileName = NULL; - const char* target = NULL; - uint32_t type = 0; - uint32_t size; - uint32_t uid; - uint32_t gid; - - sscanf(&block[100], "%o", &mode); - fileName = &block[0]; - sscanf(&block[156], "%o", &type); - target = &block[157]; - sscanf(&block[124], "%o", &size); - sscanf(&block[108], "%o", &uid); - sscanf(&block[116], "%o", &gid); - - if(fileName[0] == '\0') - break; - - if(fileName[0] == '.' && fileName[1] == '/') { - fileName += 2; - } - - if(fileName[0] == '\0') - goto loop; - - if(fileName[strlen(fileName) - 1] == '/') - fileName[strlen(fileName) - 1] = '\0'; - - HFSPlusCatalogRecord* record = getRecordFromPath3(fileName, volume, NULL, NULL, TRUE, FALSE, kHFSRootFolderID); - if(record) { - if(record->recordType == kHFSPlusFolderRecord || type == 5) { - printf("ignoring %s, type = %d\n", fileName, type); - free(record); - goto loop; - } else { - printf("replacing %s\n", fileName); - free(record); - removeFile(fileName, volume); - } - } - - if(type == 0) { - printf("file: %s (%04o), size = %d\n", fileName, mode, size); - void* buffer = malloc(size); - tarFile->seek(tarFile, curRecord + 512); - tarFile->read(tarFile, buffer, size); - AbstractFile* inFile = createAbstractFileFromMemory(&buffer, size); - add_hfs(volume, inFile, fileName); - free(buffer); - } else if(type == 5) { - printf("directory: %s (%04o)\n", fileName, mode); - newFolder(fileName, volume); - } else if(type == 2) { - printf("symlink: %s (%04o) -> %s\n", fileName, mode, target); - makeSymlink(fileName, target, volume); - } - - chmodFile(fileName, mode, volume); - chownFile(fileName, uid, gid, volume); - -loop: - - curRecord = (curRecord + 512) + ((size + 511) / 512 * 512); - } - -} - diff --git a/3rdparty/libdmg-hfsplus/hfs/rawfile.c b/3rdparty/libdmg-hfsplus/hfs/rawfile.c deleted file mode 100644 index 5057bc578..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/rawfile.c +++ /dev/null @@ -1,499 +0,0 @@ -#include -#include -#include - -int writeExtents(RawFile* rawFile); - -int isBlockUsed(Volume* volume, uint32_t block) -{ - unsigned char byte; - - READ(volume->allocationFile, block / 8, 1, &byte); - return (byte & (1 << (7 - (block % 8)))) != 0; -} - -int setBlockUsed(Volume* volume, uint32_t block, int used) { - unsigned char byte; - - READ(volume->allocationFile, block / 8, 1, &byte); - if(used) { - byte |= (1 << (7 - (block % 8))); - } else { - byte &= ~(1 << (7 - (block % 8))); - } - ASSERT(WRITE(volume->allocationFile, block / 8, 1, &byte), "WRITE"); - - return TRUE; -} - -int allocate(RawFile* rawFile, off_t size) { - unsigned char* zeros; - Volume* volume; - HFSPlusForkData* forkData; - uint32_t blocksNeeded; - uint32_t blocksToAllocate; - Extent* extent; - Extent* lastExtent; - - uint32_t curBlock; - - volume = rawFile->volume; - forkData = rawFile->forkData; - extent = rawFile->extents; - - blocksNeeded = ((uint64_t)size / (uint64_t)volume->volumeHeader->blockSize) + (((size % volume->volumeHeader->blockSize) == 0) ? 0 : 1); - - if(blocksNeeded > forkData->totalBlocks) { - zeros = (unsigned char*) malloc(volume->volumeHeader->blockSize); - memset(zeros, 0, volume->volumeHeader->blockSize); - - blocksToAllocate = blocksNeeded - forkData->totalBlocks; - - if(blocksToAllocate > volume->volumeHeader->freeBlocks) { - return FALSE; - } - - lastExtent = NULL; - while(extent != NULL) { - lastExtent = extent; - extent = extent->next; - } - - if(lastExtent == NULL) { - rawFile->extents = (Extent*) malloc(sizeof(Extent)); - lastExtent = rawFile->extents; - lastExtent->blockCount = 0; - lastExtent->next = NULL; - curBlock = volume->volumeHeader->nextAllocation; - } else { - curBlock = lastExtent->startBlock + lastExtent->blockCount; - } - - while(blocksToAllocate > 0) { - if(isBlockUsed(volume, curBlock)) { - if(lastExtent->blockCount > 0) { - lastExtent->next = (Extent*) malloc(sizeof(Extent)); - lastExtent = lastExtent->next; - lastExtent->blockCount = 0; - lastExtent->next = NULL; - } - curBlock = volume->volumeHeader->nextAllocation; - volume->volumeHeader->nextAllocation++; - if(volume->volumeHeader->nextAllocation >= volume->volumeHeader->totalBlocks) { - volume->volumeHeader->nextAllocation = 0; - } - } else { - if(lastExtent->blockCount == 0) { - lastExtent->startBlock = curBlock; - } - - /* zero out allocated block */ - ASSERT(WRITE(volume->image, curBlock * volume->volumeHeader->blockSize, volume->volumeHeader->blockSize, zeros), "WRITE"); - - setBlockUsed(volume, curBlock, TRUE); - volume->volumeHeader->freeBlocks--; - blocksToAllocate--; - curBlock++; - lastExtent->blockCount++; - - if(curBlock >= volume->volumeHeader->totalBlocks) { - curBlock = volume->volumeHeader->nextAllocation; - } - } - } - - free(zeros); - } else if(blocksNeeded < forkData->totalBlocks) { - blocksToAllocate = blocksNeeded; - - lastExtent = NULL; - - while(blocksToAllocate > 0) { - if(blocksToAllocate > extent->blockCount) { - blocksToAllocate -= extent->blockCount; - lastExtent = extent; - extent = extent->next; - } else { - break; - } - } - - - if(blocksToAllocate == 0 && lastExtent != NULL) { - // snip the extent list here, since we don't need the rest - lastExtent->next = NULL; - } else if(blocksNeeded == 0) { - rawFile->extents = NULL; - } - - do { - for(curBlock = (extent->startBlock + blocksToAllocate); curBlock < (extent->startBlock + extent->blockCount); curBlock++) { - setBlockUsed(volume, curBlock, FALSE); - volume->volumeHeader->freeBlocks++; - } - lastExtent = extent; - extent = extent->next; - - if(blocksToAllocate == 0) - { - free(lastExtent); - } else { - lastExtent->next = NULL; - lastExtent->blockCount = blocksToAllocate; - } - - blocksToAllocate = 0; - } while(extent != NULL); - } - - writeExtents(rawFile); - - forkData->logicalSize = size; - forkData->totalBlocks = blocksNeeded; - - updateVolume(rawFile->volume); - - if(rawFile->catalogRecord != NULL) { - updateCatalog(rawFile->volume, rawFile->catalogRecord); - } - - return TRUE; -} - -static int rawFileRead(io_func* io,off_t location, size_t size, void *buffer) { - RawFile* rawFile; - Volume* volume; - Extent* extent; - - size_t blockSize; - off_t fileLoc; - off_t locationInBlock; - size_t possible; - - rawFile = (RawFile*) io->data; - volume = rawFile->volume; - blockSize = volume->volumeHeader->blockSize; - - extent = rawFile->extents; - fileLoc = 0; - - locationInBlock = location; - while(TRUE) { - fileLoc += extent->blockCount * blockSize; - if(fileLoc <= location) { - locationInBlock -= extent->blockCount * blockSize; - extent = extent->next; - if(extent == NULL) - break; - } else { - break; - } - } - - while(size > 0) { - if(extent == NULL) - return FALSE; - - possible = extent->blockCount * blockSize - locationInBlock; - - if(size > possible) { - ASSERT(READ(volume->image, extent->startBlock * blockSize + locationInBlock, possible, buffer), "READ"); - size -= possible; - buffer = (void*)(((size_t)buffer) + possible); - extent = extent->next; - } else { - ASSERT(READ(volume->image, extent->startBlock * blockSize + locationInBlock, size, buffer), "READ"); - break; - } - - locationInBlock = 0; - } - - return TRUE; -} - -static int rawFileWrite(io_func* io,off_t location, size_t size, void *buffer) { - RawFile* rawFile; - Volume* volume; - Extent* extent; - - size_t blockSize; - off_t fileLoc; - off_t locationInBlock; - size_t possible; - - rawFile = (RawFile*) io->data; - volume = rawFile->volume; - blockSize = volume->volumeHeader->blockSize; - - if(rawFile->forkData->logicalSize < (location + size)) { - ASSERT(allocate(rawFile, location + size), "allocate"); - } - - extent = rawFile->extents; - fileLoc = 0; - - locationInBlock = location; - while(TRUE) { - fileLoc += extent->blockCount * blockSize; - if(fileLoc <= location) { - locationInBlock -= extent->blockCount * blockSize; - extent = extent->next; - if(extent == NULL) - break; - } else { - break; - } - } - - while(size > 0) { - if(extent == NULL) - return FALSE; - - possible = extent->blockCount * blockSize - locationInBlock; - - if(size > possible) { - ASSERT(WRITE(volume->image, extent->startBlock * blockSize + locationInBlock, possible, buffer), "WRITE"); - size -= possible; - buffer = (void*)(((size_t)buffer) + possible); - extent = extent->next; - } else { - ASSERT(WRITE(volume->image, extent->startBlock * blockSize + locationInBlock, size, buffer), "WRITE"); - break; - } - - locationInBlock = 0; - } - - return TRUE; -} - -static void closeRawFile(io_func* io) { - RawFile* rawFile; - Extent* extent; - Extent* toRemove; - - rawFile = (RawFile*) io->data; - extent = rawFile->extents; - - while(extent != NULL) { - toRemove = extent; - extent = extent->next; - free(toRemove); - } - - free(rawFile); - free(io); -} - -int removeExtents(RawFile* rawFile) { - uint32_t blocksLeft; - HFSPlusForkData* forkData; - uint32_t currentBlock; - - uint32_t startBlock; - uint32_t blockCount; - - HFSPlusExtentDescriptor* descriptor; - int currentExtent; - HFSPlusExtentKey extentKey; - int exact; - - extentKey.keyLength = sizeof(HFSPlusExtentKey) - sizeof(extentKey.keyLength); - extentKey.forkType = 0; - extentKey.fileID = rawFile->id; - - forkData = rawFile->forkData; - blocksLeft = forkData->totalBlocks; - currentExtent = 0; - currentBlock = 0; - descriptor = (HFSPlusExtentDescriptor*) forkData->extents; - - while(blocksLeft > 0) { - if(currentExtent == 8) { - if(rawFile->volume->extentsTree == NULL) { - hfs_panic("no extents overflow file loaded yet!"); - return FALSE; - } - - if(descriptor != ((HFSPlusExtentDescriptor*) forkData->extents)) { - free(descriptor); - } - - extentKey.startBlock = currentBlock; - descriptor = (HFSPlusExtentDescriptor*) search(rawFile->volume->extentsTree, (BTKey*)(&extentKey), &exact, NULL, NULL); - if(descriptor == NULL || exact == FALSE) { - hfs_panic("inconsistent extents information!"); - return FALSE; - } else { - removeFromBTree(rawFile->volume->extentsTree, (BTKey*)(&extentKey)); - currentExtent = 0; - continue; - } - } - - startBlock = descriptor[currentExtent].startBlock; - blockCount = descriptor[currentExtent].blockCount; - - currentBlock += blockCount; - blocksLeft -= blockCount; - currentExtent++; - } - - if(descriptor != ((HFSPlusExtentDescriptor*) forkData->extents)) { - free(descriptor); - } - - return TRUE; -} - -int writeExtents(RawFile* rawFile) { - Extent* extent; - int currentExtent; - HFSPlusExtentKey extentKey; - HFSPlusExtentDescriptor descriptor[8]; - HFSPlusForkData* forkData; - - removeExtents(rawFile); - - forkData = rawFile->forkData; - currentExtent = 0; - extent = rawFile->extents; - - memset(forkData->extents, 0, sizeof(HFSPlusExtentRecord)); - while(extent != NULL && currentExtent < 8) { - ((HFSPlusExtentDescriptor*)forkData->extents)[currentExtent].startBlock = extent->startBlock; - ((HFSPlusExtentDescriptor*)forkData->extents)[currentExtent].blockCount = extent->blockCount; - extent = extent->next; - currentExtent++; - } - - if(extent != NULL) { - extentKey.keyLength = sizeof(HFSPlusExtentKey) - sizeof(extentKey.keyLength); - extentKey.forkType = 0; - extentKey.fileID = rawFile->id; - - currentExtent = 0; - - while(extent != NULL) { - if(currentExtent == 0) { - memset(descriptor, 0, sizeof(HFSPlusExtentRecord)); - } - - if(currentExtent == 8) { - extentKey.startBlock = descriptor[0].startBlock; - addToBTree(rawFile->volume->extentsTree, (BTKey*)(&extentKey), sizeof(HFSPlusExtentRecord), (unsigned char *)(&(descriptor[0]))); - currentExtent = 0; - } - - descriptor[currentExtent].startBlock = extent->startBlock; - descriptor[currentExtent].blockCount = extent->blockCount; - - currentExtent++; - extent = extent->next; - } - - extentKey.startBlock = descriptor[0].startBlock; - addToBTree(rawFile->volume->extentsTree, (BTKey*)(&extentKey), sizeof(HFSPlusExtentRecord), (unsigned char *)(&(descriptor[0]))); - } - - return TRUE; -} - -int readExtents(RawFile* rawFile) { - uint32_t blocksLeft; - HFSPlusForkData* forkData; - uint32_t currentBlock; - - Extent* extent; - Extent* lastExtent; - - HFSPlusExtentDescriptor* descriptor; - int currentExtent; - HFSPlusExtentKey extentKey; - int exact; - - extentKey.keyLength = sizeof(HFSPlusExtentKey) - sizeof(extentKey.keyLength); - extentKey.forkType = 0; - extentKey.fileID = rawFile->id; - - forkData = rawFile->forkData; - blocksLeft = forkData->totalBlocks; - currentExtent = 0; - currentBlock = 0; - descriptor = (HFSPlusExtentDescriptor*) forkData->extents; - - lastExtent = NULL; - - while(blocksLeft > 0) { - extent = (Extent*) malloc(sizeof(Extent)); - - if(currentExtent == 8) { - if(rawFile->volume->extentsTree == NULL) { - hfs_panic("no extents overflow file loaded yet!"); - return FALSE; - } - - if(descriptor != ((HFSPlusExtentDescriptor*) forkData->extents)) { - free(descriptor); - } - - extentKey.startBlock = currentBlock; - descriptor = (HFSPlusExtentDescriptor*) search(rawFile->volume->extentsTree, (BTKey*)(&extentKey), &exact, NULL, NULL); - if(descriptor == NULL || exact == FALSE) { - hfs_panic("inconsistent extents information!"); - return FALSE; - } else { - currentExtent = 0; - continue; - } - } - - extent->startBlock = descriptor[currentExtent].startBlock; - extent->blockCount = descriptor[currentExtent].blockCount; - extent->next = NULL; - - currentBlock += extent->blockCount; - blocksLeft -= extent->blockCount; - currentExtent++; - - if(lastExtent == NULL) { - rawFile->extents = extent; - } else { - lastExtent->next = extent; - } - - lastExtent = extent; - } - - if(descriptor != ((HFSPlusExtentDescriptor*) forkData->extents)) { - free(descriptor); - } - - return TRUE; -} - -io_func* openRawFile(HFSCatalogNodeID id, HFSPlusForkData* forkData, HFSPlusCatalogRecord* catalogRecord, Volume* volume) { - io_func* io; - RawFile* rawFile; - - io = (io_func*) malloc(sizeof(io_func)); - rawFile = (RawFile*) malloc(sizeof(RawFile)); - - rawFile->id = id; - rawFile->volume = volume; - rawFile->forkData = forkData; - rawFile->catalogRecord = catalogRecord; - rawFile->extents = NULL; - - io->data = rawFile; - io->read = &rawFileRead; - io->write = &rawFileWrite; - io->close = &closeRawFile; - - if(!readExtents(rawFile)) { - return NULL; - } - - return io; -} diff --git a/3rdparty/libdmg-hfsplus/hfs/utility.c b/3rdparty/libdmg-hfsplus/hfs/utility.c deleted file mode 100644 index 01c3bb472..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/utility.c +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include -#include - -void hfs_panic(const char* hfs_panicString) { - fprintf(stderr, "%s\n", hfs_panicString); - exit(1); -} - -void printUnicode(HFSUniStr255* str) { - int i; - - for(i = 0; i < str->length; i++) { - printf("%c", (char)(str->unicode[i] & 0xff)); - } -} - -char* unicodeToAscii(HFSUniStr255* str) { - int i; - char* toReturn; - - toReturn = (char*) malloc(sizeof(char) * (str->length + 1)); - - for(i = 0; i < str->length; i++) { - toReturn[i] = (char)(str->unicode[i] & 0xff); - } - toReturn[i] = '\0'; - - return toReturn; -} diff --git a/3rdparty/libdmg-hfsplus/hfs/volume.c b/3rdparty/libdmg-hfsplus/hfs/volume.c deleted file mode 100644 index 85c979be4..000000000 --- a/3rdparty/libdmg-hfsplus/hfs/volume.c +++ /dev/null @@ -1,162 +0,0 @@ -#include -#include -#include - -void flipForkData(HFSPlusForkData* forkData) { - FLIPENDIAN(forkData->logicalSize); - FLIPENDIAN(forkData->clumpSize); - FLIPENDIAN(forkData->totalBlocks); - - flipExtentRecord(&forkData->extents); -} - -static HFSPlusVolumeHeader* readVolumeHeader(io_func* io, off_t offset) { - HFSPlusVolumeHeader* volumeHeader; - - volumeHeader = (HFSPlusVolumeHeader*) malloc(sizeof(HFSPlusVolumeHeader)); - - if(!(READ(io, offset, sizeof(HFSPlusVolumeHeader), volumeHeader))) - return NULL; - - FLIPENDIAN(volumeHeader->signature); - FLIPENDIAN(volumeHeader->version); - FLIPENDIAN(volumeHeader->attributes); - FLIPENDIAN(volumeHeader->lastMountedVersion); - FLIPENDIAN(volumeHeader->journalInfoBlock); - FLIPENDIAN(volumeHeader->createDate); - FLIPENDIAN(volumeHeader->modifyDate); - FLIPENDIAN(volumeHeader->backupDate); - FLIPENDIAN(volumeHeader->checkedDate); - FLIPENDIAN(volumeHeader->fileCount); - FLIPENDIAN(volumeHeader->folderCount); - FLIPENDIAN(volumeHeader->blockSize); - FLIPENDIAN(volumeHeader->totalBlocks); - FLIPENDIAN(volumeHeader->freeBlocks); - FLIPENDIAN(volumeHeader->nextAllocation); - FLIPENDIAN(volumeHeader->rsrcClumpSize); - FLIPENDIAN(volumeHeader->dataClumpSize); - FLIPENDIAN(volumeHeader->nextCatalogID); - FLIPENDIAN(volumeHeader->writeCount); - FLIPENDIAN(volumeHeader->encodingsBitmap); - - - flipForkData(&volumeHeader->allocationFile); - flipForkData(&volumeHeader->extentsFile); - flipForkData(&volumeHeader->catalogFile); - flipForkData(&volumeHeader->attributesFile); - flipForkData(&volumeHeader->startupFile); - - return volumeHeader; -} - -static int writeVolumeHeader(io_func* io, HFSPlusVolumeHeader* volumeHeaderToWrite, off_t offset) { - HFSPlusVolumeHeader* volumeHeader; - - volumeHeader = (HFSPlusVolumeHeader*) malloc(sizeof(HFSPlusVolumeHeader)); - memcpy(volumeHeader, volumeHeaderToWrite, sizeof(HFSPlusVolumeHeader)); - - FLIPENDIAN(volumeHeader->signature); - FLIPENDIAN(volumeHeader->version); - FLIPENDIAN(volumeHeader->attributes); - FLIPENDIAN(volumeHeader->lastMountedVersion); - FLIPENDIAN(volumeHeader->journalInfoBlock); - FLIPENDIAN(volumeHeader->createDate); - FLIPENDIAN(volumeHeader->modifyDate); - FLIPENDIAN(volumeHeader->backupDate); - FLIPENDIAN(volumeHeader->checkedDate); - FLIPENDIAN(volumeHeader->fileCount); - FLIPENDIAN(volumeHeader->folderCount); - FLIPENDIAN(volumeHeader->blockSize); - FLIPENDIAN(volumeHeader->totalBlocks); - FLIPENDIAN(volumeHeader->freeBlocks); - FLIPENDIAN(volumeHeader->nextAllocation); - FLIPENDIAN(volumeHeader->rsrcClumpSize); - FLIPENDIAN(volumeHeader->dataClumpSize); - FLIPENDIAN(volumeHeader->nextCatalogID); - FLIPENDIAN(volumeHeader->writeCount); - FLIPENDIAN(volumeHeader->encodingsBitmap); - - - flipForkData(&volumeHeader->allocationFile); - flipForkData(&volumeHeader->extentsFile); - flipForkData(&volumeHeader->catalogFile); - flipForkData(&volumeHeader->attributesFile); - flipForkData(&volumeHeader->startupFile); - - if(!(WRITE(io, offset, sizeof(HFSPlusVolumeHeader), volumeHeader))) - return FALSE; - - free(volumeHeader); - - return TRUE; -} - -int updateVolume(Volume* volume) { - ASSERT(writeVolumeHeader(volume->image, volume->volumeHeader, - ((off_t)volume->volumeHeader->totalBlocks * (off_t)volume->volumeHeader->blockSize) - 1024), "writeVolumeHeader"); - return writeVolumeHeader(volume->image, volume->volumeHeader, 1024); -} - -Volume* openVolume(io_func* io) { - Volume* volume; - io_func* file; - - volume = (Volume*) malloc(sizeof(Volume)); - volume->image = io; - volume->extentsTree = NULL; - - volume->volumeHeader = readVolumeHeader(io, 1024); - if(volume->volumeHeader == NULL) { - free(volume); - return NULL; - } - - file = openRawFile(kHFSExtentsFileID, &volume->volumeHeader->extentsFile, NULL, volume); - if(file == NULL) { - free(volume->volumeHeader); - free(volume); - return NULL; - } - - volume->extentsTree = openExtentsTree(file); - if(volume->extentsTree == NULL) { - free(volume->volumeHeader); - free(volume); - return NULL; - } - - file = openRawFile(kHFSCatalogFileID, &volume->volumeHeader->catalogFile, NULL, volume); - if(file == NULL) { - closeBTree(volume->extentsTree); - free(volume->volumeHeader); - free(volume); - return NULL; - } - - volume->catalogTree = openCatalogTree(file); - if(volume->catalogTree == NULL) { - closeBTree(volume->extentsTree); - free(volume->volumeHeader); - free(volume); - return NULL; - } - - volume->allocationFile = openRawFile(kHFSAllocationFileID, &volume->volumeHeader->allocationFile, NULL, volume); - if(volume->catalogTree == NULL) { - closeBTree(volume->catalogTree); - closeBTree(volume->extentsTree); - free(volume->volumeHeader); - free(volume); - return NULL; - } - - return volume; -} - -void closeVolume(Volume *volume) { - CLOSE(volume->allocationFile); - closeBTree(volume->catalogTree); - closeBTree(volume->extentsTree); - free(volume->volumeHeader); - free(volume); -} diff --git a/3rdparty/libdmg-hfsplus/ide/eclipse/.cdtproject b/3rdparty/libdmg-hfsplus/ide/eclipse/.cdtproject deleted file mode 100644 index 97b6e364b..000000000 --- a/3rdparty/libdmg-hfsplus/ide/eclipse/.cdtproject +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -make --j2 -all -false -false - - -make --j2 -all -false -false - - -make --j2 -all -false -false - - -make --j2 -all -false -false - - -make --j2 -all -false -false - - - - - diff --git a/3rdparty/libdmg-hfsplus/ide/eclipse/.project b/3rdparty/libdmg-hfsplus/ide/eclipse/.project deleted file mode 100644 index df90162e2..000000000 --- a/3rdparty/libdmg-hfsplus/ide/eclipse/.project +++ /dev/null @@ -1,102 +0,0 @@ - - - libdmg-hfsplus - - - - - - org.eclipse.cdt.make.core.makeBuilder - clean,full,incremental, - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.stopOnError - false - - - org.eclipse.cdt.make.core.enabledIncrementalBuild - true - - - org.eclipse.cdt.make.core.build.command - make - - - org.eclipse.cdt.make.core.build.target.inc - all - - - org.eclipse.cdt.make.core.build.arguments - -j2 - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - false - - - org.eclipse.cdt.make.core.environment - - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.build.target.auto - all - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.build.target.clean - clean - - - org.eclipse.cdt.make.core.build.location - - - - org.eclipse.cdt.core.errorOutputParser - org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser; - - - - - org.eclipse.cdt.make.core.ScannerConfigBuilder - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.make.core.makeNature - org.eclipse.cdt.make.core.ScannerConfigNature - - - - hdutil - 2 - root/hdutil - - - hfs - 2 - root/hfs - - - dmg - 2 - root/dmg - - - diff --git a/3rdparty/libdmg-hfsplus/ide/eclipse/.settings/org.eclipse.cdt.core.prefs b/3rdparty/libdmg-hfsplus/ide/eclipse/.settings/org.eclipse.cdt.core.prefs deleted file mode 100644 index 6454e6bb3..000000000 --- a/3rdparty/libdmg-hfsplus/ide/eclipse/.settings/org.eclipse.cdt.core.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Sun Apr 27 17:11:49 EDT 2008 -eclipse.preferences.version=1 -indexerId=org.eclipse.cdt.core.fastIndexer diff --git a/3rdparty/libdmg-hfsplus/ide/eclipse/Makefile b/3rdparty/libdmg-hfsplus/ide/eclipse/Makefile deleted file mode 100644 index 2de12c859..000000000 --- a/3rdparty/libdmg-hfsplus/ide/eclipse/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: - cd ../../; make - -clean: - cd ../../; make clean diff --git a/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.mode1v3 b/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.mode1v3 deleted file mode 100644 index 3611ff6e9..000000000 --- a/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.mode1v3 +++ /dev/null @@ -1,1447 +0,0 @@ - - - - - ActivePerspectiveName - Project - AllowedModules - - - BundleLoadPath - - MaxInstances - n - Module - PBXSmartGroupTreeModule - Name - Groups and Files Outline View - - - BundleLoadPath - - MaxInstances - n - Module - PBXNavigatorGroup - Name - Editor - - - BundleLoadPath - - MaxInstances - n - Module - XCTaskListModule - Name - Task List - - - BundleLoadPath - - MaxInstances - n - Module - XCDetailModule - Name - File and Smart Group Detail Viewer - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXBuildResultsModule - Name - Detailed Build Results Viewer - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXProjectFindModule - Name - Project Batch Find Tool - - - BundleLoadPath - - MaxInstances - n - Module - XCProjectFormatConflictsModule - Name - Project Format Conflicts List - - - BundleLoadPath - - MaxInstances - n - Module - PBXBookmarksModule - Name - Bookmarks Tool - - - BundleLoadPath - - MaxInstances - n - Module - PBXClassBrowserModule - Name - Class Browser - - - BundleLoadPath - - MaxInstances - n - Module - PBXCVSModule - Name - Source Code Control Tool - - - BundleLoadPath - - MaxInstances - n - Module - PBXDebugBreakpointsModule - Name - Debug Breakpoints Tool - - - BundleLoadPath - - MaxInstances - n - Module - XCDockableInspector - Name - Inspector - - - BundleLoadPath - - MaxInstances - n - Module - PBXOpenQuicklyModule - Name - Open Quickly Tool - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXDebugSessionModule - Name - Debugger - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXDebugCLIModule - Name - Debug Console - - - BundleLoadPath - - MaxInstances - n - Module - XCSnapshotModule - Name - Snapshots Tool - - - BundlePath - /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources - Description - DefaultDescriptionKey - DockingSystemVisible - - Extension - mode1v3 - FavBarConfig - - PBXProjectModuleGUID - 63F922250DC492000056EA77 - XCBarModuleItemNames - - XCBarModuleItems - - - FirstTimeWindowDisplayed - - Identifier - com.apple.perspectives.project.mode1v3 - MajorVersion - 33 - MinorVersion - 0 - Name - Default - Notifications - - OpenEditors - - - Content - - PBXProjectModuleGUID - 63DCCB0D0DC49C84005D833C - PBXProjectModuleLabel - filevault.c - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 63DCCB0E0DC49C84005D833C - PBXProjectModuleLabel - filevault.c - _historyCapacity - 0 - bookmark - 63DCCB0F0DC49C84005D833C - history - - 63DCCB0C0DC49C00005D833C - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {1150, 736}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 15 220 1150 777 0 0 1280 1002 - - - - Content - - PBXProjectModuleGUID - 63F9228D0DC4952F0056EA77 - PBXProjectModuleLabel - zconf.h - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 63F9228E0DC4952F0056EA77 - PBXProjectModuleLabel - zconf.h - _historyCapacity - 0 - bookmark - 63DCCB100DC49C84005D833C - history - - 63EFCCEB0DC49BA00031F8B4 - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {1150, 736}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 15 220 1150 777 0 0 1280 1002 - - - - PerspectiveWidths - - -1 - -1 - - Perspectives - - - ChosenToolbarItems - - active-target-popup - active-buildstyle-popup - action - NSToolbarFlexibleSpaceItem - buildOrClean - build-and-goOrGo - com.apple.ide.PBXToolbarStopButton - get-info - toggle-editor - NSToolbarFlexibleSpaceItem - com.apple.pbx.toolbar.searchfield - - ControllerClassBaseName - - IconName - WindowOfProjectWithEditor - Identifier - perspective.project - IsVertical - - Layout - - - BecomeActive - - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C37FBAC04509CD000000102 - 1C37FAAC04509CD000000102 - 1C08E77C0454961000C914BD - 1C37FABC05509CD000000102 - 1C37FABC05539CD112110102 - E2644B35053B69B200211256 - 1C37FABC04509CD000100104 - 1CC0EA4004350EF90044410B - 1CC0EA4004350EF90041110B - - PBXProjectModuleGUID - 1CE0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - yes - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 265 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 08FB7794FE84155DC02AAC07 - 08FB7795FE84155DC02AAC07 - 63F921C10DC4900E0056EA77 - 63F920C50DC48FFC0056EA77 - C6A0FF2B0290797F04C91782 - 1AB674ADFE9D54B511CA2CBB - 1C37FBAC04509CD000000102 - 1C37FABC05509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 20 - 14 - 1 - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 2}, {265, 494}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - - XCSharingToken - com.apple.Xcode.GFSharingToken - - GeometryConfiguration - - Frame - {{0, 0}, {282, 512}} - GroupTreeTableConfiguration - - MainColumn - 265 - - RubberWindowFrame - 60 356 799 553 0 0 1280 1002 - - Module - PBXSmartGroupTreeModule - Proportion - 282pt - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CE0B20306471E060097A5F4 - PBXProjectModuleLabel - MyNewFile14.java - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1CE0B20406471E060097A5F4 - PBXProjectModuleLabel - MyNewFile14.java - - SplitCount - 1 - - StatusBarVisibility - - - GeometryConfiguration - - Frame - {{0, 0}, {512, 0}} - RubberWindowFrame - 60 356 799 553 0 0 1280 1002 - - Module - PBXNavigatorGroup - Proportion - 0pt - - - ContentConfiguration - - PBXProjectModuleGUID - 1CE0B20506471E060097A5F4 - PBXProjectModuleLabel - Detail - - GeometryConfiguration - - Frame - {{0, 5}, {512, 507}} - RubberWindowFrame - 60 356 799 553 0 0 1280 1002 - - Module - XCDetailModule - Proportion - 507pt - - - Proportion - 512pt - - - Name - Project - ServiceClasses - - XCModuleDock - PBXSmartGroupTreeModule - XCModuleDock - PBXNavigatorGroup - XCDetailModule - - TableOfContents - - 63DCCB090DC49BFA005D833C - 1CE0B1FE06471DED0097A5F4 - 63DCCB0A0DC49BFA005D833C - 1CE0B20306471E060097A5F4 - 1CE0B20506471E060097A5F4 - - ToolbarConfiguration - xcode.toolbar.config.defaultV3 - - - ControllerClassBaseName - - IconName - WindowOfProject - Identifier - perspective.morph - IsVertical - 0 - Layout - - - BecomeActive - 1 - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C37FBAC04509CD000000102 - 1C37FAAC04509CD000000102 - 1C08E77C0454961000C914BD - 1C37FABC05509CD000000102 - 1C37FABC05539CD112110102 - E2644B35053B69B200211256 - 1C37FABC04509CD000100104 - 1CC0EA4004350EF90044410B - 1CC0EA4004350EF90041110B - - PBXProjectModuleGUID - 11E0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - yes - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 186 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 29B97314FDCFA39411CA2CEA - 1C37FABC05509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {186, 337}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - 1 - XCSharingToken - com.apple.Xcode.GFSharingToken - - GeometryConfiguration - - Frame - {{0, 0}, {203, 355}} - GroupTreeTableConfiguration - - MainColumn - 186 - - RubberWindowFrame - 373 269 690 397 0 0 1440 878 - - Module - PBXSmartGroupTreeModule - Proportion - 100% - - - Name - Morph - PreferredWidth - 300 - ServiceClasses - - XCModuleDock - PBXSmartGroupTreeModule - - TableOfContents - - 11E0B1FE06471DED0097A5F4 - - ToolbarConfiguration - xcode.toolbar.config.default.shortV3 - - - PerspectivesBarVisible - - ShelfIsVisible - - SourceDescription - file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' - StatusbarIsVisible - - TimeStamp - 0.0 - ToolbarDisplayMode - 1 - ToolbarIsVisible - - ToolbarSizeMode - 1 - Type - Perspectives - UpdateMessage - The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? - WindowJustification - 5 - WindowOrderList - - 63F9228D0DC4952F0056EA77 - /Users/david/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj - 63DCCB0D0DC49C84005D833C - - WindowString - 60 356 799 553 0 0 1280 1002 - WindowToolsV3 - - - FirstTimeWindowDisplayed - - Identifier - windowTool.build - IsVertical - - Layout - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CD0528F0623707200166675 - PBXProjectModuleLabel - filevault.c - StatusBarVisibility - - - GeometryConfiguration - - Frame - {{0, 0}, {1048, 215}} - RubberWindowFrame - 186 170 1048 497 0 0 1280 1002 - - Module - PBXNavigatorGroup - Proportion - 215pt - - - BecomeActive - - ContentConfiguration - - PBXProjectModuleGUID - XCMainBuildResultsModuleGUID - PBXProjectModuleLabel - Build - XCBuildResultsTrigger_Collapse - 1021 - XCBuildResultsTrigger_Open - 1011 - - GeometryConfiguration - - Frame - {{0, 220}, {1048, 236}} - RubberWindowFrame - 186 170 1048 497 0 0 1280 1002 - - Module - PBXBuildResultsModule - Proportion - 236pt - - - Proportion - 456pt - - - Name - Build Results - ServiceClasses - - PBXBuildResultsModule - - StatusbarIsVisible - - TableOfContents - - 63F922260DC492000056EA77 - 63EFCCC10DC4974F0031F8B4 - 1CD0528F0623707200166675 - XCMainBuildResultsModuleGUID - - ToolbarConfiguration - xcode.toolbar.config.buildV3 - WindowString - 186 170 1048 497 0 0 1280 1002 - WindowToolGUID - 63F922260DC492000056EA77 - WindowToolIsVisible - - - - Identifier - windowTool.debugger - Layout - - - Dock - - - ContentConfiguration - - Debugger - - HorizontalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {317, 164}} - {{317, 0}, {377, 164}} - - - VerticalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {694, 164}} - {{0, 164}, {694, 216}} - - - - LauncherConfigVersion - 8 - PBXProjectModuleGUID - 1C162984064C10D400B95A72 - PBXProjectModuleLabel - Debug - GLUTExamples (Underwater) - - GeometryConfiguration - - DebugConsoleDrawerSize - {100, 120} - DebugConsoleVisible - None - DebugConsoleWindowFrame - {{200, 200}, {500, 300}} - DebugSTDIOWindowFrame - {{200, 200}, {500, 300}} - Frame - {{0, 0}, {694, 380}} - RubberWindowFrame - 321 238 694 422 0 0 1440 878 - - Module - PBXDebugSessionModule - Proportion - 100% - - - Proportion - 100% - - - Name - Debugger - ServiceClasses - - PBXDebugSessionModule - - StatusbarIsVisible - 1 - TableOfContents - - 1CD10A99069EF8BA00B06720 - 1C0AD2AB069F1E9B00FABCE6 - 1C162984064C10D400B95A72 - 1C0AD2AC069F1E9B00FABCE6 - - ToolbarConfiguration - xcode.toolbar.config.debugV3 - WindowString - 321 238 694 422 0 0 1440 878 - WindowToolGUID - 1CD10A99069EF8BA00B06720 - WindowToolIsVisible - 0 - - - Identifier - windowTool.find - Layout - - - Dock - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CDD528C0622207200134675 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1CD0528D0623707200166675 - - SplitCount - 1 - - StatusBarVisibility - 1 - - GeometryConfiguration - - Frame - {{0, 0}, {781, 167}} - RubberWindowFrame - 62 385 781 470 0 0 1440 878 - - Module - PBXNavigatorGroup - Proportion - 781pt - - - Proportion - 50% - - - BecomeActive - 1 - ContentConfiguration - - PBXProjectModuleGUID - 1CD0528E0623707200166675 - PBXProjectModuleLabel - Project Find - - GeometryConfiguration - - Frame - {{8, 0}, {773, 254}} - RubberWindowFrame - 62 385 781 470 0 0 1440 878 - - Module - PBXProjectFindModule - Proportion - 50% - - - Proportion - 428pt - - - Name - Project Find - ServiceClasses - - PBXProjectFindModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C530D57069F1CE1000CFCEE - 1C530D58069F1CE1000CFCEE - 1C530D59069F1CE1000CFCEE - 1CDD528C0622207200134675 - 1C530D5A069F1CE1000CFCEE - 1CE0B1FE06471DED0097A5F4 - 1CD0528E0623707200166675 - - WindowString - 62 385 781 470 0 0 1440 878 - WindowToolGUID - 1C530D57069F1CE1000CFCEE - WindowToolIsVisible - 0 - - - Identifier - MENUSEPARATOR - - - Identifier - windowTool.debuggerConsole - Layout - - - Dock - - - BecomeActive - 1 - ContentConfiguration - - PBXProjectModuleGUID - 1C78EAAC065D492600B07095 - PBXProjectModuleLabel - Debugger Console - - GeometryConfiguration - - Frame - {{0, 0}, {650, 250}} - RubberWindowFrame - 516 632 650 250 0 0 1680 1027 - - Module - PBXDebugCLIModule - Proportion - 209pt - - - Proportion - 209pt - - - Name - Debugger Console - ServiceClasses - - PBXDebugCLIModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C78EAAD065D492600B07095 - 1C78EAAE065D492600B07095 - 1C78EAAC065D492600B07095 - - ToolbarConfiguration - xcode.toolbar.config.consoleV3 - WindowString - 650 41 650 250 0 0 1280 1002 - WindowToolGUID - 1C78EAAD065D492600B07095 - WindowToolIsVisible - 0 - - - Identifier - windowTool.snapshots - Layout - - - Dock - - - Module - XCSnapshotModule - Proportion - 100% - - - Proportion - 100% - - - Name - Snapshots - ServiceClasses - - XCSnapshotModule - - StatusbarIsVisible - Yes - ToolbarConfiguration - xcode.toolbar.config.snapshots - WindowString - 315 824 300 550 0 0 1440 878 - WindowToolIsVisible - Yes - - - Identifier - windowTool.scm - Layout - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1C78EAB2065D492600B07095 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1C78EAB3065D492600B07095 - - SplitCount - 1 - - StatusBarVisibility - 1 - - GeometryConfiguration - - Frame - {{0, 0}, {452, 0}} - RubberWindowFrame - 743 379 452 308 0 0 1280 1002 - - Module - PBXNavigatorGroup - Proportion - 0pt - - - BecomeActive - 1 - ContentConfiguration - - PBXProjectModuleGUID - 1CD052920623707200166675 - PBXProjectModuleLabel - SCM - - GeometryConfiguration - - ConsoleFrame - {{0, 259}, {452, 0}} - Frame - {{0, 7}, {452, 259}} - RubberWindowFrame - 743 379 452 308 0 0 1280 1002 - TableConfiguration - - Status - 30 - FileName - 199 - Path - 197.09500122070312 - - TableFrame - {{0, 0}, {452, 250}} - - Module - PBXCVSModule - Proportion - 262pt - - - Proportion - 266pt - - - Name - SCM - ServiceClasses - - PBXCVSModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C78EAB4065D492600B07095 - 1C78EAB5065D492600B07095 - 1C78EAB2065D492600B07095 - 1CD052920623707200166675 - - ToolbarConfiguration - xcode.toolbar.config.scm - WindowString - 743 379 452 308 0 0 1280 1002 - - - Identifier - windowTool.breakpoints - IsVertical - 0 - Layout - - - Dock - - - BecomeActive - 1 - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C77FABC04509CD000000102 - - PBXProjectModuleGUID - 1CE0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - no - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 168 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 1C77FABC04509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {168, 350}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - 0 - - GeometryConfiguration - - Frame - {{0, 0}, {185, 368}} - GroupTreeTableConfiguration - - MainColumn - 168 - - RubberWindowFrame - 315 424 744 409 0 0 1440 878 - - Module - PBXSmartGroupTreeModule - Proportion - 185pt - - - ContentConfiguration - - PBXProjectModuleGUID - 1CA1AED706398EBD00589147 - PBXProjectModuleLabel - Detail - - GeometryConfiguration - - Frame - {{190, 0}, {554, 368}} - RubberWindowFrame - 315 424 744 409 0 0 1440 878 - - Module - XCDetailModule - Proportion - 554pt - - - Proportion - 368pt - - - MajorVersion - 3 - MinorVersion - 0 - Name - Breakpoints - ServiceClasses - - PBXSmartGroupTreeModule - XCDetailModule - - StatusbarIsVisible - 1 - TableOfContents - - 1CDDB66807F98D9800BB5817 - 1CDDB66907F98D9800BB5817 - 1CE0B1FE06471DED0097A5F4 - 1CA1AED706398EBD00589147 - - ToolbarConfiguration - xcode.toolbar.config.breakpointsV3 - WindowString - 315 424 744 409 0 0 1440 878 - WindowToolGUID - 1CDDB66807F98D9800BB5817 - WindowToolIsVisible - 1 - - - Identifier - windowTool.debugAnimator - Layout - - - Dock - - - Module - PBXNavigatorGroup - Proportion - 100% - - - Proportion - 100% - - - Name - Debug Visualizer - ServiceClasses - - PBXNavigatorGroup - - StatusbarIsVisible - 1 - ToolbarConfiguration - xcode.toolbar.config.debugAnimatorV3 - WindowString - 100 100 700 500 0 0 1280 1002 - - - Identifier - windowTool.bookmarks - Layout - - - Dock - - - Module - PBXBookmarksModule - Proportion - 100% - - - Proportion - 100% - - - Name - Bookmarks - ServiceClasses - - PBXBookmarksModule - - StatusbarIsVisible - 0 - WindowString - 538 42 401 187 0 0 1280 1002 - - - Identifier - windowTool.projectFormatConflicts - Layout - - - Dock - - - Module - XCProjectFormatConflictsModule - Proportion - 100% - - - Proportion - 100% - - - Name - Project Format Conflicts - ServiceClasses - - XCProjectFormatConflictsModule - - StatusbarIsVisible - 0 - WindowContentMinSize - 450 300 - WindowString - 50 850 472 307 0 0 1440 877 - - - Identifier - windowTool.classBrowser - Layout - - - Dock - - - BecomeActive - 1 - ContentConfiguration - - OptionsSetName - Hierarchy, all classes - PBXProjectModuleGUID - 1CA6456E063B45B4001379D8 - PBXProjectModuleLabel - Class Browser - NSObject - - GeometryConfiguration - - ClassesFrame - {{0, 0}, {374, 96}} - ClassesTreeTableConfiguration - - PBXClassNameColumnIdentifier - 208 - PBXClassBookColumnIdentifier - 22 - - Frame - {{0, 0}, {630, 331}} - MembersFrame - {{0, 105}, {374, 395}} - MembersTreeTableConfiguration - - PBXMemberTypeIconColumnIdentifier - 22 - PBXMemberNameColumnIdentifier - 216 - PBXMemberTypeColumnIdentifier - 97 - PBXMemberBookColumnIdentifier - 22 - - PBXModuleWindowStatusBarHidden2 - 1 - RubberWindowFrame - 385 179 630 352 0 0 1440 878 - - Module - PBXClassBrowserModule - Proportion - 332pt - - - Proportion - 332pt - - - Name - Class Browser - ServiceClasses - - PBXClassBrowserModule - - StatusbarIsVisible - 0 - TableOfContents - - 1C0AD2AF069F1E9B00FABCE6 - 1C0AD2B0069F1E9B00FABCE6 - 1CA6456E063B45B4001379D8 - - ToolbarConfiguration - xcode.toolbar.config.classbrowser - WindowString - 385 179 630 352 0 0 1440 878 - WindowToolGUID - 1C0AD2AF069F1E9B00FABCE6 - WindowToolIsVisible - 0 - - - Identifier - windowTool.refactoring - IncludeInToolsMenu - 0 - Layout - - - Dock - - - BecomeActive - 1 - GeometryConfiguration - - Frame - {0, 0}, {500, 335} - RubberWindowFrame - {0, 0}, {500, 335} - - Module - XCRefactoringModule - Proportion - 100% - - - Proportion - 100% - - - Name - Refactoring - ServiceClasses - - XCRefactoringModule - - WindowString - 200 200 500 356 0 0 1920 1200 - - - - diff --git a/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.pbxuser b/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.pbxuser deleted file mode 100644 index 86cdb052f..000000000 --- a/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/david.pbxuser +++ /dev/null @@ -1,236 +0,0 @@ -// !$*UTF8*$! -{ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - activeArchitecture = i386; - activeBuildConfigurationName = Release; - activeExecutable = 63F921E40DC4909A0056EA77 /* dmg */; - activeTarget = 637FAC690DC4958E00D1D35F /* all */; - addToTargets = ( - 63F921E20DC4909A0056EA77 /* dmg */, - ); - codeSenseManager = 63F91F970DC48F810056EA77 /* Code sense */; - executables = ( - 63F921E40DC4909A0056EA77 /* dmg */, - 63F9226F0DC493710056EA77 /* hfsplus */, - ); - perUserDictionary = { - PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; - PBXFileTableDataSourceColumnWidthsKey = ( - 22, - 300, - 161, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXExecutablesDataSource_ActiveFlagID, - PBXExecutablesDataSource_NameID, - PBXExecutablesDataSource_CommentsID, - ); - }; - PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; - PBXFileTableDataSourceColumnWidthsKey = ( - 20, - 273, - 20, - 48, - 43, - 43, - 20, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXFileDataSource_FiletypeID, - PBXFileDataSource_Filename_ColumnID, - PBXFileDataSource_Built_ColumnID, - PBXFileDataSource_ObjectSize_ColumnID, - PBXFileDataSource_Errors_ColumnID, - PBXFileDataSource_Warnings_ColumnID, - PBXFileDataSource_Target_ColumnID, - ); - }; - PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; - PBXFileTableDataSourceColumnWidthsKey = ( - 20, - 233, - 60, - 20, - 48, - 43, - 43, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXFileDataSource_FiletypeID, - PBXFileDataSource_Filename_ColumnID, - PBXTargetDataSource_PrimaryAttribute, - PBXFileDataSource_Built_ColumnID, - PBXFileDataSource_ObjectSize_ColumnID, - PBXFileDataSource_Errors_ColumnID, - PBXFileDataSource_Warnings_ColumnID, - ); - }; - PBXPerProjectTemplateStateSaveDate = 230991082; - PBXWorkspaceStateSaveDate = 230991082; - }; - perUserProjectItems = { - 63DCCB0C0DC49C00005D833C = 63DCCB0C0DC49C00005D833C /* PBXBookmark */; - 63DCCB0F0DC49C84005D833C = 63DCCB0F0DC49C84005D833C /* PBXTextBookmark */; - 63DCCB100DC49C84005D833C = 63DCCB100DC49C84005D833C /* PBXTextBookmark */; - 63EFCCEB0DC49BA00031F8B4 = 63EFCCEB0DC49BA00031F8B4 /* PBXTextBookmark */; - }; - sourceControlManager = 63F91F960DC48F810056EA77 /* Source Control */; - userBuildSettings = { - }; - }; - 637FAC690DC4958E00D1D35F /* all */ = { - activeExec = 0; - }; - 63DCCB0C0DC49C00005D833C /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 63F920CB0DC48FFC0056EA77 /* filevault.c */; - }; - 63DCCB0F0DC49C84005D833C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 63F920CB0DC48FFC0056EA77 /* filevault.c */; - name = "filevault.c: 57"; - rLen = 0; - rLoc = 1569; - rType = 0; - vrLen = 1579; - vrLoc = 2111; - }; - 63DCCB100DC49C84005D833C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 63F920D20DC48FFC0056EA77 /* zconf.h */; - name = "zconf.h: 293"; - rLen = 0; - rLoc = 8494; - rType = 0; - vrLen = 1270; - vrLoc = 7662; - }; - 63EFCCEB0DC49BA00031F8B4 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 63F920D20DC48FFC0056EA77 /* zconf.h */; - name = "zconf.h: 293"; - rLen = 0; - rLoc = 8494; - rType = 0; - vrLen = 1277; - vrLoc = 7655; - }; - 63F91F960DC48F810056EA77 /* Source Control */ = { - isa = PBXSourceControlManager; - fallbackIsa = XCSourceControlManager; - isSCMEnabled = 0; - scmConfiguration = { - }; - }; - 63F91F970DC48F810056EA77 /* Code sense */ = { - isa = PBXCodeSenseManager; - indexTemplatePath = ""; - }; - 63F920C60DC48FFC0056EA77 /* abstractfile.c */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {987, 2814}}"; - sepNavSelRange = "{3865, 0}"; - sepNavVisRange = "{3746, 310}"; - }; - }; - 63F920C90DC48FFC0056EA77 /* dmg.c */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1160, 8050}}"; - sepNavSelRange = "{14237, 0}"; - sepNavVisRange = "{14571, 1385}"; - sepNavWindowFrame = "{{15, 164}, {1150, 833}}"; - }; - }; - 63F920CB0DC48FFC0056EA77 /* filevault.c */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1091, 3598}}"; - sepNavSelRange = "{1569, 0}"; - sepNavVisRange = "{2111, 1571}"; - sepNavWindowFrame = "{{15, 164}, {1150, 833}}"; - }; - }; - 63F920CC0DC48FFC0056EA77 /* filevault.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1091, 1316}}"; - sepNavSelRange = "{617, 0}"; - sepNavVisRange = "{0, 1267}"; - sepNavWindowFrame = "{{38, 143}, {1150, 833}}"; - }; - }; - 63F920D20DC48FFC0056EA77 /* zconf.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1091, 4648}}"; - sepNavSelRange = "{8494, 0}"; - sepNavVisRange = "{7584, 1304}"; - sepNavWindowFrame = "{{15, 164}, {1150, 833}}"; - }; - }; - 63F921E20DC4909A0056EA77 /* dmg */ = { - activeExec = 0; - executables = ( - 63F921E40DC4909A0056EA77 /* dmg */, - ); - }; - 63F921E40DC4909A0056EA77 /* dmg */ = { - isa = PBXExecutable; - activeArgIndices = ( - ); - argumentStrings = ( - ); - autoAttachOnCrash = 1; - breakpointsEnabled = 1; - configStateDict = { - }; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - libgmallocEnabled = 0; - name = dmg; - sourceDirectories = ( - ); - }; - 63F9222B0DC4922E0056EA77 /* z */ = { - activeExec = 0; - }; - 63F9226D0DC493710056EA77 /* hfsplus */ = { - activeExec = 0; - executables = ( - 63F9226F0DC493710056EA77 /* hfsplus */, - ); - }; - 63F9226F0DC493710056EA77 /* hfsplus */ = { - isa = PBXExecutable; - activeArgIndices = ( - ); - argumentStrings = ( - ); - autoAttachOnCrash = 1; - breakpointsEnabled = 1; - configStateDict = { - }; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - libgmallocEnabled = 0; - name = hfsplus; - sourceDirectories = ( - ); - }; -} diff --git a/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/project.pbxproj b/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/project.pbxproj deleted file mode 100644 index f5e35484a..000000000 --- a/3rdparty/libdmg-hfsplus/ide/xcode/libdmg-hfsplus.xcodeproj/project.pbxproj +++ /dev/null @@ -1,649 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 44; - objects = { - -/* Begin PBXAggregateTarget section */ - 637FAC690DC4958E00D1D35F /* all */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 637FAC750DC495B900D1D35F /* Build configuration list for PBXAggregateTarget "all" */; - buildPhases = ( - ); - dependencies = ( - 637FAC6D0DC4959400D1D35F /* PBXTargetDependency */, - 637FAC6F0DC4959700D1D35F /* PBXTargetDependency */, - ); - name = all; - productName = all; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 63E264B70DC4A546004B29C4 /* dmgfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63E264B60DC4A546004B29C4 /* dmgfile.c */; }; - 63F921EA0DC490C20056EA77 /* abstractfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920C60DC48FFC0056EA77 /* abstractfile.c */; }; - 63F921EB0DC490C20056EA77 /* base64.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920C70DC48FFC0056EA77 /* base64.c */; }; - 63F921EC0DC490C20056EA77 /* checksum.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920C80DC48FFC0056EA77 /* checksum.c */; }; - 63F921ED0DC490C20056EA77 /* dmg.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920C90DC48FFC0056EA77 /* dmg.c */; }; - 63F921EE0DC490CA0056EA77 /* io.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920CD0DC48FFC0056EA77 /* io.c */; }; - 63F921EF0DC490CC0056EA77 /* filevault.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920CB0DC48FFC0056EA77 /* filevault.c */; }; - 63F921F00DC490D10056EA77 /* partition.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920CF0DC48FFC0056EA77 /* partition.c */; }; - 63F921F10DC490D10056EA77 /* resources.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920D00DC48FFC0056EA77 /* resources.c */; }; - 63F921F20DC490D10056EA77 /* udif.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920D10DC48FFC0056EA77 /* udif.c */; }; - 63F922310DC4923E0056EA77 /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63F9222C0DC4922E0056EA77 /* libz.a */; }; - 63F922320DC4924A0056EA77 /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920D40DC48FFC0056EA77 /* adler32.c */; }; - 63F922330DC4924A0056EA77 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F920DF0DC48FFC0056EA77 /* compress.c */; }; - 63F922340DC4924A0056EA77 /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921750DC48FFC0056EA77 /* crc32.c */; }; - 63F922360DC4924A0056EA77 /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921770DC48FFC0056EA77 /* deflate.c */; }; - 63F922380DC4924A0056EA77 /* example.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921790DC48FFC0056EA77 /* example.c */; }; - 63F922390DC4924A0056EA77 /* gzio.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921860DC48FFC0056EA77 /* gzio.c */; }; - 63F9223A0DC4924A0056EA77 /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921880DC48FFC0056EA77 /* infback.c */; }; - 63F9223B0DC4924A0056EA77 /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921890DC48FFC0056EA77 /* inffast.c */; }; - 63F9223E0DC4924A0056EA77 /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F9218C0DC48FFC0056EA77 /* inflate.c */; }; - 63F922400DC4924A0056EA77 /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F9218E0DC48FFC0056EA77 /* inftrees.c */; }; - 63F922430DC4924A0056EA77 /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921AD0DC48FFC0056EA77 /* trees.c */; }; - 63F922450DC4924A0056EA77 /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921AF0DC48FFC0056EA77 /* uncompr.c */; }; - 63F922490DC4924A0056EA77 /* ztest4484.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921BD0DC48FFC0056EA77 /* ztest4484.c */; }; - 63F9224A0DC4924A0056EA77 /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921BE0DC48FFC0056EA77 /* zutil.c */; }; - 63F922540DC4929A0056EA77 /* btree.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C20DC4900E0056EA77 /* btree.c */; }; - 63F922550DC4929A0056EA77 /* catalog.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C30DC4900E0056EA77 /* catalog.c */; }; - 63F922560DC4929A0056EA77 /* extents.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C50DC4900E0056EA77 /* extents.c */; }; - 63F922570DC4929A0056EA77 /* flatfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C60DC4900E0056EA77 /* flatfile.c */; }; - 63F922590DC4929A0056EA77 /* rawfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CA0DC4900E0056EA77 /* rawfile.c */; }; - 63F9225A0DC4929A0056EA77 /* utility.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CB0DC4900E0056EA77 /* utility.c */; }; - 63F9225B0DC4929A0056EA77 /* volume.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CC0DC4900E0056EA77 /* volume.c */; }; - 63F922720DC493800056EA77 /* btree.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C20DC4900E0056EA77 /* btree.c */; }; - 63F922730DC493800056EA77 /* catalog.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C30DC4900E0056EA77 /* catalog.c */; }; - 63F922750DC493800056EA77 /* extents.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C50DC4900E0056EA77 /* extents.c */; }; - 63F922760DC493800056EA77 /* flatfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C60DC4900E0056EA77 /* flatfile.c */; }; - 63F922770DC493800056EA77 /* hfs.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921C70DC4900E0056EA77 /* hfs.c */; }; - 63F9227A0DC493800056EA77 /* rawfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CA0DC4900E0056EA77 /* rawfile.c */; }; - 63F9227B0DC493800056EA77 /* utility.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CB0DC4900E0056EA77 /* utility.c */; }; - 63F9227C0DC493800056EA77 /* volume.c in Sources */ = {isa = PBXBuildFile; fileRef = 63F921CC0DC4900E0056EA77 /* volume.c */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 637FAC6C0DC4959400D1D35F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 63F9226D0DC493710056EA77; - remoteInfo = hfsplus; - }; - 637FAC6E0DC4959700D1D35F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 63F921E20DC4909A0056EA77; - remoteInfo = dmg; - }; - 63F9222F0DC4923A0056EA77 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 63F9222B0DC4922E0056EA77; - remoteInfo = z; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 63E264B50DC4A546004B29C4 /* dmgfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dmgfile.h; sourceTree = ""; }; - 63E264B60DC4A546004B29C4 /* dmgfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dmgfile.c; sourceTree = ""; }; - 63F920C60DC48FFC0056EA77 /* abstractfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = abstractfile.c; sourceTree = ""; }; - 63F920C70DC48FFC0056EA77 /* base64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = base64.c; sourceTree = ""; }; - 63F920C80DC48FFC0056EA77 /* checksum.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = checksum.c; sourceTree = ""; }; - 63F920C90DC48FFC0056EA77 /* dmg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dmg.c; sourceTree = ""; }; - 63F920CA0DC48FFC0056EA77 /* dmg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dmg.h; sourceTree = ""; }; - 63F920CB0DC48FFC0056EA77 /* filevault.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filevault.c; sourceTree = ""; }; - 63F920CC0DC48FFC0056EA77 /* filevault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filevault.h; sourceTree = ""; }; - 63F920CD0DC48FFC0056EA77 /* io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = io.c; sourceTree = ""; }; - 63F920CE0DC48FFC0056EA77 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - 63F920CF0DC48FFC0056EA77 /* partition.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = partition.c; sourceTree = ""; }; - 63F920D00DC48FFC0056EA77 /* resources.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resources.c; sourceTree = ""; }; - 63F920D10DC48FFC0056EA77 /* udif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = udif.c; sourceTree = ""; }; - 63F920D20DC48FFC0056EA77 /* zconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zconf.h; sourceTree = ""; }; - 63F920D40DC48FFC0056EA77 /* adler32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = adler32.c; sourceTree = ""; }; - 63F920DF0DC48FFC0056EA77 /* compress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = ""; }; - 63F921750DC48FFC0056EA77 /* crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = ""; }; - 63F921760DC48FFC0056EA77 /* crc32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crc32.h; sourceTree = ""; }; - 63F921770DC48FFC0056EA77 /* deflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = deflate.c; sourceTree = ""; }; - 63F921780DC48FFC0056EA77 /* deflate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = deflate.h; sourceTree = ""; }; - 63F921790DC48FFC0056EA77 /* example.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = example.c; sourceTree = ""; }; - 63F921860DC48FFC0056EA77 /* gzio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gzio.c; sourceTree = ""; }; - 63F921880DC48FFC0056EA77 /* infback.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = infback.c; sourceTree = ""; }; - 63F921890DC48FFC0056EA77 /* inffast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inffast.c; sourceTree = ""; }; - 63F9218A0DC48FFC0056EA77 /* inffast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inffast.h; sourceTree = ""; }; - 63F9218B0DC48FFC0056EA77 /* inffixed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inffixed.h; sourceTree = ""; }; - 63F9218C0DC48FFC0056EA77 /* inflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = ""; }; - 63F9218D0DC48FFC0056EA77 /* inflate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inflate.h; sourceTree = ""; }; - 63F9218E0DC48FFC0056EA77 /* inftrees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inftrees.c; sourceTree = ""; }; - 63F9218F0DC48FFC0056EA77 /* inftrees.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inftrees.h; sourceTree = ""; }; - 63F921910DC48FFC0056EA77 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; - 63F921AD0DC48FFC0056EA77 /* trees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = trees.c; sourceTree = ""; }; - 63F921AE0DC48FFC0056EA77 /* trees.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = trees.h; sourceTree = ""; }; - 63F921AF0DC48FFC0056EA77 /* uncompr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uncompr.c; sourceTree = ""; }; - 63F921B90DC48FFC0056EA77 /* zconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zconf.h; sourceTree = ""; }; - 63F921BA0DC48FFC0056EA77 /* zconf.in.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zconf.in.h; sourceTree = ""; }; - 63F921BC0DC48FFC0056EA77 /* zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = ""; }; - 63F921BD0DC48FFC0056EA77 /* ztest4484.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ztest4484.c; sourceTree = ""; }; - 63F921BE0DC48FFC0056EA77 /* zutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zutil.c; sourceTree = ""; }; - 63F921BF0DC48FFC0056EA77 /* zutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zutil.h; sourceTree = ""; }; - 63F921C00DC48FFC0056EA77 /* zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = ""; }; - 63F921C20DC4900E0056EA77 /* btree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = btree.c; sourceTree = ""; }; - 63F921C30DC4900E0056EA77 /* catalog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = catalog.c; sourceTree = ""; }; - 63F921C40DC4900E0056EA77 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; - 63F921C50DC4900E0056EA77 /* extents.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = extents.c; sourceTree = ""; }; - 63F921C60DC4900E0056EA77 /* flatfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = flatfile.c; sourceTree = ""; }; - 63F921C70DC4900E0056EA77 /* hfs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hfs.c; sourceTree = ""; }; - 63F921C80DC4900E0056EA77 /* hfsplus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hfsplus.h; sourceTree = ""; }; - 63F921C90DC4900E0056EA77 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - 63F921CA0DC4900E0056EA77 /* rawfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rawfile.c; sourceTree = ""; }; - 63F921CB0DC4900E0056EA77 /* utility.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utility.c; sourceTree = ""; }; - 63F921CC0DC4900E0056EA77 /* volume.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = volume.c; sourceTree = ""; }; - 63F921E30DC4909A0056EA77 /* dmg */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dmg; sourceTree = BUILT_PRODUCTS_DIR; }; - 63F9222C0DC4922E0056EA77 /* libz.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libz.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 63F9226E0DC493710056EA77 /* hfsplus */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = hfsplus; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 63F921E10DC4909A0056EA77 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 63F922310DC4923E0056EA77 /* libz.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63F9222A0DC4922E0056EA77 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63F9226C0DC493710056EA77 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 08FB7794FE84155DC02AAC07 /* libdmg-hfsplus */ = { - isa = PBXGroup; - children = ( - 08FB7795FE84155DC02AAC07 /* Source */, - C6A0FF2B0290797F04C91782 /* Documentation */, - 1AB674ADFE9D54B511CA2CBB /* Products */, - ); - name = "libdmg-hfsplus"; - sourceTree = ""; - }; - 08FB7795FE84155DC02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 63F921C10DC4900E0056EA77 /* hfs */, - 63F920C50DC48FFC0056EA77 /* dmg */, - ); - name = Source; - sourceTree = ""; - }; - 1AB674ADFE9D54B511CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 63F921E30DC4909A0056EA77 /* dmg */, - 63F9222C0DC4922E0056EA77 /* libz.a */, - 63F9226E0DC493710056EA77 /* hfsplus */, - ); - name = Products; - sourceTree = ""; - }; - 63F920C50DC48FFC0056EA77 /* dmg */ = { - isa = PBXGroup; - children = ( - 63F920C60DC48FFC0056EA77 /* abstractfile.c */, - 63F920C70DC48FFC0056EA77 /* base64.c */, - 63F920C80DC48FFC0056EA77 /* checksum.c */, - 63F920C90DC48FFC0056EA77 /* dmg.c */, - 63F920CA0DC48FFC0056EA77 /* dmg.h */, - 63F920CB0DC48FFC0056EA77 /* filevault.c */, - 63F920CC0DC48FFC0056EA77 /* filevault.h */, - 63F920CD0DC48FFC0056EA77 /* io.c */, - 63F920CE0DC48FFC0056EA77 /* Makefile */, - 63F920CF0DC48FFC0056EA77 /* partition.c */, - 63F920D00DC48FFC0056EA77 /* resources.c */, - 63F920D10DC48FFC0056EA77 /* udif.c */, - 63F920D20DC48FFC0056EA77 /* zconf.h */, - 63F920D30DC48FFC0056EA77 /* zlib-1.2.3 */, - 63F921C00DC48FFC0056EA77 /* zlib.h */, - 63E264B50DC4A546004B29C4 /* dmgfile.h */, - 63E264B60DC4A546004B29C4 /* dmgfile.c */, - ); - name = dmg; - path = ../../dmg; - sourceTree = SOURCE_ROOT; - }; - 63F920D30DC48FFC0056EA77 /* zlib-1.2.3 */ = { - isa = PBXGroup; - children = ( - 63F920D40DC48FFC0056EA77 /* adler32.c */, - 63F920DF0DC48FFC0056EA77 /* compress.c */, - 63F921750DC48FFC0056EA77 /* crc32.c */, - 63F921760DC48FFC0056EA77 /* crc32.h */, - 63F921770DC48FFC0056EA77 /* deflate.c */, - 63F921780DC48FFC0056EA77 /* deflate.h */, - 63F921790DC48FFC0056EA77 /* example.c */, - 63F921860DC48FFC0056EA77 /* gzio.c */, - 63F921880DC48FFC0056EA77 /* infback.c */, - 63F921890DC48FFC0056EA77 /* inffast.c */, - 63F9218A0DC48FFC0056EA77 /* inffast.h */, - 63F9218B0DC48FFC0056EA77 /* inffixed.h */, - 63F9218C0DC48FFC0056EA77 /* inflate.c */, - 63F9218D0DC48FFC0056EA77 /* inflate.h */, - 63F9218E0DC48FFC0056EA77 /* inftrees.c */, - 63F9218F0DC48FFC0056EA77 /* inftrees.h */, - 63F921910DC48FFC0056EA77 /* Makefile.in */, - 63F921AD0DC48FFC0056EA77 /* trees.c */, - 63F921AE0DC48FFC0056EA77 /* trees.h */, - 63F921AF0DC48FFC0056EA77 /* uncompr.c */, - 63F921B90DC48FFC0056EA77 /* zconf.h */, - 63F921BA0DC48FFC0056EA77 /* zconf.in.h */, - 63F921BC0DC48FFC0056EA77 /* zlib.h */, - 63F921BD0DC48FFC0056EA77 /* ztest4484.c */, - 63F921BE0DC48FFC0056EA77 /* zutil.c */, - 63F921BF0DC48FFC0056EA77 /* zutil.h */, - ); - path = "zlib-1.2.3"; - sourceTree = ""; - }; - 63F921C10DC4900E0056EA77 /* hfs */ = { - isa = PBXGroup; - children = ( - 63F921C20DC4900E0056EA77 /* btree.c */, - 63F921C30DC4900E0056EA77 /* catalog.c */, - 63F921C40DC4900E0056EA77 /* common.h */, - 63F921C50DC4900E0056EA77 /* extents.c */, - 63F921C60DC4900E0056EA77 /* flatfile.c */, - 63F921C70DC4900E0056EA77 /* hfs.c */, - 63F921C80DC4900E0056EA77 /* hfsplus.h */, - 63F921C90DC4900E0056EA77 /* Makefile */, - 63F921CA0DC4900E0056EA77 /* rawfile.c */, - 63F921CB0DC4900E0056EA77 /* utility.c */, - 63F921CC0DC4900E0056EA77 /* volume.c */, - ); - name = hfs; - path = ../../hfs; - sourceTree = SOURCE_ROOT; - }; - C6A0FF2B0290797F04C91782 /* Documentation */ = { - isa = PBXGroup; - children = ( - ); - name = Documentation; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 63F922280DC4922E0056EA77 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 63F921E20DC4909A0056EA77 /* dmg */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63F921E80DC490B30056EA77 /* Build configuration list for PBXNativeTarget "dmg" */; - buildPhases = ( - 63F921E00DC4909A0056EA77 /* Sources */, - 63F921E10DC4909A0056EA77 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 63F922300DC4923A0056EA77 /* PBXTargetDependency */, - ); - name = dmg; - productName = dmg; - productReference = 63F921E30DC4909A0056EA77 /* dmg */; - productType = "com.apple.product-type.tool"; - }; - 63F9222B0DC4922E0056EA77 /* z */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63F922530DC4928A0056EA77 /* Build configuration list for PBXNativeTarget "z" */; - buildPhases = ( - 63F922280DC4922E0056EA77 /* Headers */, - 63F922290DC4922E0056EA77 /* Sources */, - 63F9222A0DC4922E0056EA77 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = z; - productName = z; - productReference = 63F9222C0DC4922E0056EA77 /* libz.a */; - productType = "com.apple.product-type.library.static"; - }; - 63F9226D0DC493710056EA77 /* hfsplus */ = { - isa = PBXNativeTarget; - buildConfigurationList = 63F9227F0DC493940056EA77 /* Build configuration list for PBXNativeTarget "hfsplus" */; - buildPhases = ( - 63F9226B0DC493710056EA77 /* Sources */, - 63F9226C0DC493710056EA77 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = hfsplus; - productName = hfsplus; - productReference = 63F9226E0DC493710056EA77 /* hfsplus */; - productType = "com.apple.product-type.tool"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "libdmg-hfsplus" */; - compatibilityVersion = "Xcode 3.0"; - hasScannedForEncodings = 1; - mainGroup = 08FB7794FE84155DC02AAC07 /* libdmg-hfsplus */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 637FAC690DC4958E00D1D35F /* all */, - 63F9226D0DC493710056EA77 /* hfsplus */, - 63F921E20DC4909A0056EA77 /* dmg */, - 63F9222B0DC4922E0056EA77 /* z */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 63F921E00DC4909A0056EA77 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63F922540DC4929A0056EA77 /* btree.c in Sources */, - 63F922550DC4929A0056EA77 /* catalog.c in Sources */, - 63F922560DC4929A0056EA77 /* extents.c in Sources */, - 63F922570DC4929A0056EA77 /* flatfile.c in Sources */, - 63F922590DC4929A0056EA77 /* rawfile.c in Sources */, - 63F9225A0DC4929A0056EA77 /* utility.c in Sources */, - 63F9225B0DC4929A0056EA77 /* volume.c in Sources */, - 63F921EF0DC490CC0056EA77 /* filevault.c in Sources */, - 63F921F00DC490D10056EA77 /* partition.c in Sources */, - 63F921F10DC490D10056EA77 /* resources.c in Sources */, - 63F921F20DC490D10056EA77 /* udif.c in Sources */, - 63F921EA0DC490C20056EA77 /* abstractfile.c in Sources */, - 63F921EB0DC490C20056EA77 /* base64.c in Sources */, - 63F921EE0DC490CA0056EA77 /* io.c in Sources */, - 63F921EC0DC490C20056EA77 /* checksum.c in Sources */, - 63F921ED0DC490C20056EA77 /* dmg.c in Sources */, - 63E264B70DC4A546004B29C4 /* dmgfile.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63F922290DC4922E0056EA77 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63F922320DC4924A0056EA77 /* adler32.c in Sources */, - 63F922330DC4924A0056EA77 /* compress.c in Sources */, - 63F922340DC4924A0056EA77 /* crc32.c in Sources */, - 63F922360DC4924A0056EA77 /* deflate.c in Sources */, - 63F922380DC4924A0056EA77 /* example.c in Sources */, - 63F922390DC4924A0056EA77 /* gzio.c in Sources */, - 63F9223A0DC4924A0056EA77 /* infback.c in Sources */, - 63F9223B0DC4924A0056EA77 /* inffast.c in Sources */, - 63F9223E0DC4924A0056EA77 /* inflate.c in Sources */, - 63F922400DC4924A0056EA77 /* inftrees.c in Sources */, - 63F922430DC4924A0056EA77 /* trees.c in Sources */, - 63F922450DC4924A0056EA77 /* uncompr.c in Sources */, - 63F922490DC4924A0056EA77 /* ztest4484.c in Sources */, - 63F9224A0DC4924A0056EA77 /* zutil.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 63F9226B0DC493710056EA77 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 63F922720DC493800056EA77 /* btree.c in Sources */, - 63F922730DC493800056EA77 /* catalog.c in Sources */, - 63F922750DC493800056EA77 /* extents.c in Sources */, - 63F922760DC493800056EA77 /* flatfile.c in Sources */, - 63F922770DC493800056EA77 /* hfs.c in Sources */, - 63F9227A0DC493800056EA77 /* rawfile.c in Sources */, - 63F9227B0DC493800056EA77 /* utility.c in Sources */, - 63F9227C0DC493800056EA77 /* volume.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 637FAC6D0DC4959400D1D35F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 63F9226D0DC493710056EA77 /* hfsplus */; - targetProxy = 637FAC6C0DC4959400D1D35F /* PBXContainerItemProxy */; - }; - 637FAC6F0DC4959700D1D35F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 63F921E20DC4909A0056EA77 /* dmg */; - targetProxy = 637FAC6E0DC4959700D1D35F /* PBXContainerItemProxy */; - }; - 63F922300DC4923A0056EA77 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 63F9222B0DC4922E0056EA77 /* z */; - targetProxy = 63F9222F0DC4923A0056EA77 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 1DEB928A08733DD80010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; - }; - name = Debug; - }; - 1DEB928B08733DD80010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; - }; - name = Release; - }; - 637FAC6A0DC4958E00D1D35F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - PRODUCT_NAME = all; - }; - name = Debug; - }; - 637FAC6B0DC4958E00D1D35F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - PRODUCT_NAME = all; - ZERO_LINK = NO; - }; - name = Release; - }; - 63F921E50DC4909B0056EA77 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - INSTALL_PATH = /usr/local/bin; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/build/Release\"", - ); - OTHER_CFLAGS = "-DHAVE_CRYPT"; - OTHER_LDFLAGS = "-lcrypto"; - PREBINDING = NO; - PRODUCT_NAME = dmg; - ZERO_LINK = YES; - }; - name = Debug; - }; - 63F921E60DC4909B0056EA77 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_MODEL_TUNING = G5; - INSTALL_PATH = /usr/local/bin; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/build/Release\"", - ); - OTHER_CFLAGS = "-DHAVE_CRYPT"; - OTHER_LDFLAGS = "-lcrypto"; - PREBINDING = NO; - PRODUCT_NAME = dmg; - ZERO_LINK = NO; - }; - name = Release; - }; - 63F9222D0DC4922E0056EA77 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - INSTALL_PATH = /usr/local/lib; - PREBINDING = NO; - PRODUCT_NAME = z; - ZERO_LINK = YES; - }; - name = Debug; - }; - 63F9222E0DC4922E0056EA77 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_MODEL_TUNING = G5; - INSTALL_PATH = /usr/local/lib; - PREBINDING = NO; - PRODUCT_NAME = z; - ZERO_LINK = NO; - }; - name = Release; - }; - 63F922700DC493720056EA77 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - INSTALL_PATH = /usr/local/bin; - PREBINDING = NO; - PRODUCT_NAME = hfsplus; - ZERO_LINK = YES; - }; - name = Debug; - }; - 63F922710DC493720056EA77 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_MODEL_TUNING = G5; - INSTALL_PATH = /usr/local/bin; - PREBINDING = NO; - PRODUCT_NAME = hfsplus; - ZERO_LINK = NO; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "libdmg-hfsplus" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB928A08733DD80010E9CD /* Debug */, - 1DEB928B08733DD80010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 637FAC750DC495B900D1D35F /* Build configuration list for PBXAggregateTarget "all" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 637FAC6A0DC4958E00D1D35F /* Debug */, - 637FAC6B0DC4958E00D1D35F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63F921E80DC490B30056EA77 /* Build configuration list for PBXNativeTarget "dmg" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63F921E50DC4909B0056EA77 /* Debug */, - 63F921E60DC4909B0056EA77 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63F922530DC4928A0056EA77 /* Build configuration list for PBXNativeTarget "z" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63F9222D0DC4922E0056EA77 /* Debug */, - 63F9222E0DC4922E0056EA77 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 63F9227F0DC493940056EA77 /* Build configuration list for PBXNativeTarget "hfsplus" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63F922700DC493720056EA77 /* Debug */, - 63F922710DC493720056EA77 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; -} diff --git a/3rdparty/libdmg-hfsplus/includes/abstractfile.h b/3rdparty/libdmg-hfsplus/includes/abstractfile.h deleted file mode 100644 index 16bfd90d5..000000000 --- a/3rdparty/libdmg-hfsplus/includes/abstractfile.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef ABSTRACTFILE_H -#define ABSTRACTFILE_H - -#include "common.h" -#include - -typedef struct AbstractFile AbstractFile; -typedef struct AbstractFile2 AbstractFile2; - -typedef size_t (*WriteFunc)(AbstractFile* file, const void* data, size_t len); -typedef size_t (*ReadFunc)(AbstractFile* file, void* data, size_t len); -typedef int (*SeekFunc)(AbstractFile* file, off_t offset); -typedef off_t (*TellFunc)(AbstractFile* file); -typedef void (*CloseFunc)(AbstractFile* file); -typedef off_t (*GetLengthFunc)(AbstractFile* file); -typedef void (*SetKeyFunc)(AbstractFile2* file, const unsigned int* key, const unsigned int* iv); - -typedef enum AbstractFileType { - AbstractFileTypeFile, - AbstractFileType8900, - AbstractFileTypeImg2, - AbstractFileTypeImg3, - AbstractFileTypeLZSS, - AbstractFileTypeIBootIM, - AbstractFileTypeMem, - AbstractFileTypeMemFile, - AbstractFileTypeDummy -} AbstractFileType; - -struct AbstractFile { - void* data; - WriteFunc write; - ReadFunc read; - SeekFunc seek; - TellFunc tell; - GetLengthFunc getLength; - CloseFunc close; - AbstractFileType type; -}; - -struct AbstractFile2 { - AbstractFile super; - SetKeyFunc setKey; -}; - - -typedef struct { - size_t offset; - void** buffer; - size_t bufferSize; -} MemWrapperInfo; - -typedef struct { - size_t offset; - void** buffer; - size_t* bufferSize; - size_t actualBufferSize; -} MemFileWrapperInfo; - -#ifdef __cplusplus -extern "C" { -#endif - AbstractFile* createAbstractFileFromFile(FILE* file); - AbstractFile* createAbstractFileFromDummy(); - AbstractFile* createAbstractFileFromMemory(void** buffer, size_t size); - AbstractFile* createAbstractFileFromMemoryFile(void** buffer, size_t* size); - AbstractFile* createAbstractFileFromMemoryFileBuffer(void** buffer, size_t* size, size_t actualBufferSize); - void abstractFilePrint(AbstractFile* file, const char* format, ...); - io_func* IOFuncFromAbstractFile(AbstractFile* file); -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/3rdparty/libdmg-hfsplus/includes/common.h b/3rdparty/libdmg-hfsplus/includes/common.h deleted file mode 100644 index 39026088e..000000000 --- a/3rdparty/libdmg-hfsplus/includes/common.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef COMMON_H -#define COMMON_H - -#include -#include -#include -#include -#include - -#ifdef WIN32 -#define fseeko fseeko64 -#define ftello ftello64 -#define off_t off64_t -#define mkdir(x, y) mkdir(x) -#define PATH_SEPARATOR "\\" -#else -#define PATH_SEPARATOR "/" -#endif - -#define TRUE 1 -#define FALSE 0 - -#define FLIPENDIAN(x) flipEndian((unsigned char *)(&(x)), sizeof(x)) -#define FLIPENDIANLE(x) flipEndianLE((unsigned char *)(&(x)), sizeof(x)) - -#define IS_BIG_ENDIAN 0 -#define IS_LITTLE_ENDIAN 1 - -#define TIME_OFFSET_FROM_UNIX 2082844800L -#define APPLE_TO_UNIX_TIME(x) ((x) - TIME_OFFSET_FROM_UNIX) -#define UNIX_TO_APPLE_TIME(x) ((x) + TIME_OFFSET_FROM_UNIX) - -#define ASSERT(x, m) if(!(x)) { fflush(stdout); fprintf(stderr, "error: %s\n", m); perror("error"); fflush(stderr); exit(1); } - -extern char endianness; - -static inline void flipEndian(unsigned char* x, int length) { - int i; - unsigned char tmp; - - if(endianness == IS_BIG_ENDIAN) { - return; - } else { - for(i = 0; i < (length / 2); i++) { - tmp = x[i]; - x[i] = x[length - i - 1]; - x[length - i - 1] = tmp; - } - } -} - -static inline void flipEndianLE(unsigned char* x, int length) { - int i; - unsigned char tmp; - - if(endianness == IS_LITTLE_ENDIAN) { - return; - } else { - for(i = 0; i < (length / 2); i++) { - tmp = x[i]; - x[i] = x[length - i - 1]; - x[length - i - 1] = tmp; - } - } -} - -static inline void hexToBytes(const char* hex, uint8_t** buffer, size_t* bytes) { - *bytes = strlen(hex) / 2; - *buffer = (uint8_t*) malloc(*bytes); - size_t i; - for(i = 0; i < *bytes; i++) { - uint32_t byte; - sscanf(hex, "%2x", &byte); - (*buffer)[i] = byte; - hex += 2; - } -} - -static inline void hexToInts(const char* hex, unsigned int** buffer, size_t* bytes) { - *bytes = strlen(hex) / 2; - *buffer = (unsigned int*) malloc((*bytes) * sizeof(int)); - size_t i; - for(i = 0; i < *bytes; i++) { - sscanf(hex, "%2x", &((*buffer)[i])); - hex += 2; - } -} - -struct io_func_struct; - -typedef int (*readFunc)(struct io_func_struct* io, off_t location, size_t size, void *buffer); -typedef int (*writeFunc)(struct io_func_struct* io, off_t location, size_t size, void *buffer); -typedef void (*closeFunc)(struct io_func_struct* io); - -typedef struct io_func_struct { - void* data; - readFunc read; - writeFunc write; - closeFunc close; -} io_func; - -#endif diff --git a/3rdparty/libdmg-hfsplus/includes/dmg/adc.h b/3rdparty/libdmg-hfsplus/includes/dmg/adc.h deleted file mode 100644 index 3139d8871..000000000 --- a/3rdparty/libdmg-hfsplus/includes/dmg/adc.h +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include - -#define ADC_PLAIN 0x01 -#define ADC_2BYTE 0x02 -#define ADC_3BYTE 0x03 - -#define bool short -#define true 1 -#define false 0 - -size_t adc_decompress(size_t in_size, unsigned char *input, size_t avail_size, unsigned char *output, size_t *bytes_written); -int adc_chunk_type(char _byte); -int adc_chunk_size(char _byte); -int adc_chunk_offset(unsigned char *chunk_start); diff --git a/3rdparty/libdmg-hfsplus/includes/dmg/dmg.h b/3rdparty/libdmg-hfsplus/includes/dmg/dmg.h deleted file mode 100644 index 21420759a..000000000 --- a/3rdparty/libdmg-hfsplus/includes/dmg/dmg.h +++ /dev/null @@ -1,344 +0,0 @@ -#ifndef DMG_H -#define DMG_H - -#include -#include -#include - -#include -#include "abstractfile.h" - -#define CHECKSUM_CRC32 0x00000002 -#define CHECKSUM_MKBLOCK 0x0002 -#define CHECKSUM_NONE 0x0000 - -#define BLOCK_ZLIB 0x80000005 -#define BLOCK_ADC 0x80000004 -#define BLOCK_RAW 0x00000001 -#define BLOCK_IGNORE 0x00000002 -#define BLOCK_COMMENT 0x7FFFFFFE -#define BLOCK_TERMINATOR 0xFFFFFFFF - -#define SECTOR_SIZE 512 - -#define DRIVER_DESCRIPTOR_SIGNATURE 0x4552 -#define APPLE_PARTITION_MAP_SIGNATURE 0x504D -#define UDIF_BLOCK_SIGNATURE 0x6D697368 -#define KOLY_SIGNATURE 0x6B6F6C79 -#define HFSX_SIGNATURE 0x4858 - -#define ATTRIBUTE_HDIUTIL 0x0050 - -#define HFSX_VOLUME_TYPE "Apple_HFSX" - -#define DDM_SIZE 0x1 -#define PARTITION_SIZE 0x3f -#define ATAPI_SIZE 0x8 -#define FREE_SIZE 0xa -#define EXTRA_SIZE (DDM_SIZE + PARTITION_SIZE + ATAPI_SIZE + FREE_SIZE) - -#define DDM_OFFSET 0x0 -#define PARTITION_OFFSET (DDM_SIZE) -#define ATAPI_OFFSET (DDM_SIZE + PARTITION_SIZE) -#define USER_OFFSET (DDM_SIZE + PARTITION_SIZE + ATAPI_SIZE) - -#define BOOTCODE_DMMY 0x444D4D59 -#define BOOTCODE_GOON 0x676F6F6E - -enum { - kUDIFFlagsFlattened = 1 -}; - -enum { - kUDIFDeviceImageType = 1, - kUDIFPartitionImageType = 2 -}; - -typedef struct { - uint32_t type; - uint32_t size; - uint32_t data[0x20]; -} __attribute__((__packed__)) UDIFChecksum; - -typedef struct { - uint32_t data1; /* smallest */ - uint32_t data2; - uint32_t data3; - uint32_t data4; /* largest */ -} __attribute__((__packed__)) UDIFID; - -typedef struct { - uint32_t fUDIFSignature; - uint32_t fUDIFVersion; - uint32_t fUDIFHeaderSize; - uint32_t fUDIFFlags; - - uint64_t fUDIFRunningDataForkOffset; - uint64_t fUDIFDataForkOffset; - uint64_t fUDIFDataForkLength; - uint64_t fUDIFRsrcForkOffset; - uint64_t fUDIFRsrcForkLength; - - uint32_t fUDIFSegmentNumber; - uint32_t fUDIFSegmentCount; - UDIFID fUDIFSegmentID; /* a 128-bit number like a GUID, but does not seem to be a OSF GUID, since it doesn't have the proper versioning byte */ - - UDIFChecksum fUDIFDataForkChecksum; - - uint64_t fUDIFXMLOffset; - uint64_t fUDIFXMLLength; - - uint8_t reserved1[0x78]; /* this is actually the perfect amount of space to store every thing in this struct until the checksum */ - - UDIFChecksum fUDIFMasterChecksum; - - uint32_t fUDIFImageVariant; - uint64_t fUDIFSectorCount; - - uint32_t reserved2; - uint32_t reserved3; - uint32_t reserved4; - -} __attribute__((__packed__)) UDIFResourceFile; - -typedef struct { - uint32_t type; - uint32_t reserved; - uint64_t sectorStart; - uint64_t sectorCount; - uint64_t compOffset; - uint64_t compLength; -} __attribute__((__packed__)) BLKXRun; - -typedef struct { - uint16_t version; /* set to 5 */ - uint32_t isHFS; /* first dword of v53(ImageInfoRec): Set to 1 if it's a HFS or HFS+ partition -- duh. */ - uint32_t unknown1; /* second dword of v53: seems to be garbage if it's HFS+, stuff related to HFS embedded if it's that*/ - uint8_t dataLen; /* length of data that proceeds, comes right before the data in ImageInfoRec. Always set to 0 for HFS, HFS+ */ - uint8_t data[255]; /* other data from v53, dataLen + 1 bytes, the rest NULL filled... a string? Not set for HFS, HFS+ */ - uint32_t unknown2; /* 8 bytes before volumeModified in v53, seems to be always set to 0 for HFS, HFS+ */ - uint32_t unknown3; /* 4 bytes before volumeModified in v53, seems to be always set to 0 for HFS, HFS+ */ - uint32_t volumeModified; /* offset 272 in v53 */ - uint32_t unknown4; /* always seems to be 0 for UDIF */ - uint16_t volumeSignature; /* HX in our case */ - uint16_t sizePresent; /* always set to 1 */ -} __attribute__((__packed__)) SizeResource; - -typedef struct { - uint16_t version; /* set to 1 */ - uint32_t type; /* set to 0x2 for MKBlockChecksum */ - uint32_t checksum; -} __attribute__((__packed__)) CSumResource; - -typedef struct NSizResource { - char isVolume; - unsigned char* sha1Digest; - uint32_t blockChecksum2; - uint32_t bytes; - uint32_t modifyDate; - uint32_t partitionNumber; - uint32_t version; - uint32_t volumeSignature; - struct NSizResource* next; -} NSizResource; - -#define DDM_DESCRIPTOR 0xFFFFFFFF -#define ENTIRE_DEVICE_DESCRIPTOR 0xFFFFFFFE - -typedef struct { - uint32_t fUDIFBlocksSignature; - uint32_t infoVersion; - uint64_t firstSectorNumber; - uint64_t sectorCount; - - uint64_t dataStart; - uint32_t decompressBufferRequested; - uint32_t blocksDescriptor; - - uint32_t reserved1; - uint32_t reserved2; - uint32_t reserved3; - uint32_t reserved4; - uint32_t reserved5; - uint32_t reserved6; - - UDIFChecksum checksum; - - uint32_t blocksRunCount; - BLKXRun runs[0]; -} __attribute__((__packed__)) BLKXTable; - -typedef struct { - uint32_t ddBlock; - uint16_t ddSize; - uint16_t ddType; -} __attribute__((__packed__)) DriverDescriptor; - -typedef struct { - uint16_t pmSig; - uint16_t pmSigPad; - uint32_t pmMapBlkCnt; - uint32_t pmPyPartStart; - uint32_t pmPartBlkCnt; - unsigned char pmPartName[32]; - unsigned char pmParType[32]; - uint32_t pmLgDataStart; - uint32_t pmDataCnt; - uint32_t pmPartStatus; - uint32_t pmLgBootStart; - uint32_t pmBootSize; - uint32_t pmBootAddr; - uint32_t pmBootAddr2; - uint32_t pmBootEntry; - uint32_t pmBootEntry2; - uint32_t pmBootCksum; - unsigned char pmProcessor[16]; - uint32_t bootCode; - uint16_t pmPad[186]; -} __attribute__((__packed__)) Partition; - -typedef struct { - uint16_t sbSig; - uint16_t sbBlkSize; - uint32_t sbBlkCount; - uint16_t sbDevType; - uint16_t sbDevId; - uint32_t sbData; - uint16_t sbDrvrCount; - uint32_t ddBlock; - uint16_t ddSize; - uint16_t ddType; - DriverDescriptor ddPad[0]; -} __attribute__((__packed__)) DriverDescriptorRecord; - -typedef struct ResourceData { - uint32_t attributes; - unsigned char* data; - size_t dataLength; - int id; - char* name; - struct ResourceData* next; -} ResourceData; - -typedef void (*FlipDataFunc)(unsigned char* data, char out); -typedef void (*ChecksumFunc)(void* ckSum, const unsigned char* data, size_t len); - -typedef struct ResourceKey { - unsigned char* key; - ResourceData* data; - struct ResourceKey* next; - FlipDataFunc flipData; -} ResourceKey; - -typedef struct { - unsigned long state[5]; - unsigned long count[2]; - unsigned char buffer[64]; -} SHA1_CTX; - -typedef struct { - uint32_t block; - uint32_t crc; - SHA1_CTX sha1; -} ChecksumToken; - -static inline uint32_t readUInt32(AbstractFile* file) { - uint32_t data; - - ASSERT(file->read(file, &data, sizeof(data)) == sizeof(data), "fread"); - FLIPENDIAN(data); - - return data; -} - -static inline void writeUInt32(AbstractFile* file, uint32_t data) { - FLIPENDIAN(data); - ASSERT(file->write(file, &data, sizeof(data)) == sizeof(data), "fwrite"); -} - -static inline uint32_t readUInt64(AbstractFile* file) { - uint64_t data; - - ASSERT(file->read(file, &data, sizeof(data)) == sizeof(data), "fread"); - FLIPENDIAN(data); - - return data; -} - -static inline void writeUInt64(AbstractFile* file, uint64_t data) { - FLIPENDIAN(data); - ASSERT(file->write(file, &data, sizeof(data)) == sizeof(data), "fwrite"); -} - -#ifdef __cplusplus -extern "C" { -#endif - unsigned char* decodeBase64(char* toDecode, size_t* dataLength); - void writeBase64(AbstractFile* file, unsigned char* data, size_t dataLength, int tabLength, int width); - char* convertBase64(unsigned char* data, size_t dataLength, int tabLength, int width); - - uint32_t CRC32Checksum(uint32_t* crc, const unsigned char *buf, size_t len); - uint32_t MKBlockChecksum(uint32_t* ckSum, const unsigned char* data, size_t len); - - void BlockSHA1CRC(void* token, const unsigned char* data, size_t len); - void BlockCRC(void* token, const unsigned char* data, size_t len); - void CRCProxy(void* token, const unsigned char* data, size_t len); - - void SHA1Transform(unsigned long state[5], const unsigned char buffer[64]); - void SHA1Init(SHA1_CTX* context); - void SHA1Update(SHA1_CTX* context, const unsigned char* data, unsigned int len); - void SHA1Final(unsigned char digest[20], SHA1_CTX* context); - - void flipUDIFChecksum(UDIFChecksum* o, char out); - void readUDIFChecksum(AbstractFile* file, UDIFChecksum* o); - void writeUDIFChecksum(AbstractFile* file, UDIFChecksum* o); - void readUDIFID(AbstractFile* file, UDIFID* o); - void writeUDIFID(AbstractFile* file, UDIFID* o); - void readUDIFResourceFile(AbstractFile* file, UDIFResourceFile* o); - void writeUDIFResourceFile(AbstractFile* file, UDIFResourceFile* o); - - ResourceKey* readResources(AbstractFile* file, UDIFResourceFile* resourceFile); - void writeResources(AbstractFile* file, ResourceKey* resources); - void releaseResources(ResourceKey* resources); - - NSizResource* readNSiz(ResourceKey* resources); - ResourceKey* writeNSiz(NSizResource* nSiz); - void releaseNSiz(NSizResource* nSiz); - - extern const char* plistHeader; - extern const char* plistFooter; - - ResourceKey* getResourceByKey(ResourceKey* resources, const char* key); - ResourceData* getDataByID(ResourceKey* resource, int id); - ResourceKey* insertData(ResourceKey* resources, const char* key, int id, const char* name, const char* data, size_t dataLength, uint32_t attributes); - ResourceKey* makePlst(); - ResourceKey* makeSize(HFSPlusVolumeHeader* volumeHeader); - - void flipDriverDescriptorRecord(DriverDescriptorRecord* record, char out); - void flipPartition(Partition* partition, char out, unsigned int BlockSize); - void flipPartitionMultiple(Partition* partition, char multiple, char out, unsigned int BlockSize); - - void readDriverDescriptorMap(AbstractFile* file, ResourceKey* resources); - DriverDescriptorRecord* createDriverDescriptorMap(uint32_t numSectors); - void writeDriverDescriptorMap(AbstractFile* file, DriverDescriptorRecord* DDM, ChecksumFunc dataForkChecksum, void* dataForkToken, ResourceKey **resources); - void readApplePartitionMap(AbstractFile* file, ResourceKey* resources, unsigned int BlockSize); - Partition* createApplePartitionMap(uint32_t numSectors, const char* volumeType); - void writeApplePartitionMap(AbstractFile* file, Partition* partitions, ChecksumFunc dataForkChecksum, void* dataForkToken, ResourceKey **resources, NSizResource** nsizIn); - void writeATAPI(AbstractFile* file, ChecksumFunc dataForkChecksum, void* dataForkToken, ResourceKey **resources, NSizResource** nsizIn); - void writeFreePartition(AbstractFile* outFile, uint32_t numSectors, ResourceKey** resources); - - void extractBLKX(AbstractFile* in, AbstractFile* out, BLKXTable* blkx); - BLKXTable* insertBLKX(AbstractFile* out, AbstractFile* in, uint32_t firstSectorNumber, uint32_t numSectors, uint32_t blocksDescriptor, - uint32_t checksumType, ChecksumFunc uncompressedChk, void* uncompressedChkToken, ChecksumFunc compressedChk, - void* compressedChkToken, Volume* volume); - - - int extractDmg(AbstractFile* abstractIn, AbstractFile* abstractOut, int partNum); - int buildDmg(AbstractFile* abstractIn, AbstractFile* abstractOut); - int convertToISO(AbstractFile* abstractIn, AbstractFile* abstractOut); - int convertToDMG(AbstractFile* abstractIn, AbstractFile* abstractOut); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/3rdparty/libdmg-hfsplus/includes/dmg/dmgfile.h b/3rdparty/libdmg-hfsplus/includes/dmg/dmgfile.h deleted file mode 100644 index ed78dc6af..000000000 --- a/3rdparty/libdmg-hfsplus/includes/dmg/dmgfile.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * dmgfile.h - * libdmg-hfsplus - * - */ - -#include - -io_func* openDmgFile(AbstractFile* dmg); -io_func* openDmgFilePartition(AbstractFile* dmg, int partition); - -typedef struct DMG { - AbstractFile* dmg; - ResourceKey* resources; - uint32_t numBLKX; - BLKXTable** blkx; - void* runData; - uint64_t runStart; - uint64_t runEnd; - uint64_t offset; -} DMG; diff --git a/3rdparty/libdmg-hfsplus/includes/dmg/dmglib.h b/3rdparty/libdmg-hfsplus/includes/dmg/dmglib.h deleted file mode 100644 index aaf91ad16..000000000 --- a/3rdparty/libdmg-hfsplus/includes/dmg/dmglib.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef DMGLIB_H -#define DMGLIB_H - -#include -#include "abstractfile.h" - -#ifdef __cplusplus -extern "C" { -#endif - int extractDmg(AbstractFile* abstractIn, AbstractFile* abstractOut, int partNum); - int buildDmg(AbstractFile* abstractIn, AbstractFile* abstractOut); - - int convertToDMG(AbstractFile* abstractIn, AbstractFile* abstractOut); - int convertToISO(AbstractFile* abstractIn, AbstractFile* abstractOut); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/3rdparty/libdmg-hfsplus/includes/dmg/filevault.h b/3rdparty/libdmg-hfsplus/includes/dmg/filevault.h deleted file mode 100644 index 42cd0f43e..000000000 --- a/3rdparty/libdmg-hfsplus/includes/dmg/filevault.h +++ /dev/null @@ -1,98 +0,0 @@ -#ifndef FILEVAULT_H -#define FILEVAULT_H - -#include -#include "dmg.h" - -#ifdef HAVE_CRYPT - -#include -#include - -#define FILEVAULT_CIPHER_KEY_LENGTH 16 -#define FILEVAULT_CIPHER_BLOCKSIZE 16 -#define FILEVAULT_CHUNK_SIZE 4096 -#define FILEVAULT_PBKDF2_ITER_COUNT 1000 -#define FILEVAULT_MSGDGST_LENGTH 20 - -/* - * Information about the FileVault format was yoinked from vfdecrypt, which was written by Ralf-Philipp Weinmann , - * Jacob Appelbaum , and Christian Fromme - */ - -#define FILEVAULT_V2_SIGNATURE 0x656e637263647361ULL - -typedef struct FileVaultV1Header { - uint8_t padding1[48]; - uint32_t kdfIterationCount; - uint32_t kdfSaltLen; - uint8_t kdfSalt[48]; - uint8_t unwrapIV[0x20]; - uint32_t wrappedAESKeyLen; - uint8_t wrappedAESKey[296]; - uint32_t wrappedHMACSHA1KeyLen; - uint8_t wrappedHMACSHA1Key[300]; - uint32_t integrityKeyLen; - uint8_t integrityKey[48]; - uint8_t padding2[484]; -} __attribute__((__packed__)) FileVaultV1Header; - -typedef struct FileVaultV2Header { - uint64_t signature; - uint32_t version; - uint32_t encIVSize; - uint32_t unk1; - uint32_t unk2; - uint32_t unk3; - uint32_t unk4; - uint32_t unk5; - UDIFID uuid; - uint32_t blockSize; - uint64_t dataSize; - uint64_t dataOffset; - uint8_t padding[0x260]; - uint32_t kdfAlgorithm; - uint32_t kdfPRNGAlgorithm; - uint32_t kdfIterationCount; - uint32_t kdfSaltLen; - uint8_t kdfSalt[0x20]; - uint32_t blobEncIVSize; - uint8_t blobEncIV[0x20]; - uint32_t blobEncKeyBits; - uint32_t blobEncAlgorithm; - uint32_t blobEncPadding; - uint32_t blobEncMode; - uint32_t encryptedKeyblobSize; - uint8_t encryptedKeyblob[0x30]; -} __attribute__((__packed__)) FileVaultV2Header; - -typedef struct FileVaultInfo { - union { - FileVaultV1Header v1; - FileVaultV2Header v2; - } header; - - uint8_t version; - uint64_t dataOffset; - uint64_t dataSize; - uint32_t blockSize; - - AbstractFile* file; - - HMAC_CTX hmacCTX; - AES_KEY aesKey; - AES_KEY aesEncKey; - - off_t offset; - - uint32_t curChunk; - unsigned char chunk[FILEVAULT_CHUNK_SIZE]; - - char dirty; - char headerDirty; -} FileVaultInfo; -#endif - -AbstractFile* createAbstractFileFromFileVault(AbstractFile* file, const char* key); - -#endif diff --git a/3rdparty/libdmg-hfsplus/includes/hfs/hfslib.h b/3rdparty/libdmg-hfsplus/includes/hfs/hfslib.h deleted file mode 100644 index 928e204fb..000000000 --- a/3rdparty/libdmg-hfsplus/includes/hfs/hfslib.h +++ /dev/null @@ -1,24 +0,0 @@ -#include "common.h" -#include "hfsplus.h" -#include "abstractfile.h" - -#ifdef __cplusplus -extern "C" { -#endif - void writeToFile(HFSPlusCatalogFile* file, AbstractFile* output, Volume* volume); - void writeToHFSFile(HFSPlusCatalogFile* file, AbstractFile* input, Volume* volume); - void get_hfs(Volume* volume, const char* inFileName, AbstractFile* output); - int add_hfs(Volume* volume, AbstractFile* inFile, const char* outFileName); - void grow_hfs(Volume* volume, uint64_t newSize); - void removeAllInFolder(HFSCatalogNodeID folderID, Volume* volume, const char* parentName); - void addAllInFolder(HFSCatalogNodeID folderID, Volume* volume, const char* parentName); - void addall_hfs(Volume* volume, const char* dirToMerge, const char* dest); - void extractAllInFolder(HFSCatalogNodeID folderID, Volume* volume); - int copyAcrossVolumes(Volume* volume1, Volume* volume2, char* path1, char* path2); - - void hfs_untar(Volume* volume, AbstractFile* tarFile); - void hfs_ls(Volume* volume, const char* path); -#ifdef __cplusplus -} -#endif - diff --git a/3rdparty/libdmg-hfsplus/includes/hfs/hfsplus.h b/3rdparty/libdmg-hfsplus/includes/hfs/hfsplus.h deleted file mode 100644 index 68ca4dfe0..000000000 --- a/3rdparty/libdmg-hfsplus/includes/hfs/hfsplus.h +++ /dev/null @@ -1,511 +0,0 @@ -#ifndef HFSPLUS_H -#define HFSPLUS_H - -#include -#include -#include - - -#include "common.h" - -#define READ(a, b, c, d) ((*((a)->read))(a, b, c, d)) -#define WRITE(a, b, c, d) ((*((a)->write))(a, b, c, d)) -#define CLOSE(a) ((*((a)->close))(a)) -#define COMPARE(a, b, c) ((*((a)->compare))(b, c)) -#define READ_KEY(a, b, c) ((*((a)->keyRead))(b, c)) -#define WRITE_KEY(a, b, c, d) ((*((a)->keyWrite))(b, c, d)) -#define READ_DATA(a, b, c) ((*((a)->dataRead))(b, c)) - -struct BTKey { - uint16_t keyLength; - unsigned char data[0]; -} __attribute__((__packed__)); - -typedef struct BTKey BTKey; - -typedef BTKey* (*dataReadFunc)(off_t offset, struct io_func_struct* io); -typedef void (*keyPrintFunc)(BTKey* toPrint); -typedef int (*keyWriteFunc)(off_t offset, BTKey* toWrite, struct io_func_struct* io); -typedef int (*compareFunc)(BTKey* left, BTKey* right); - -typedef uint32_t HFSCatalogNodeID; - -enum { - kHFSRootParentID = 1, - kHFSRootFolderID = 2, - kHFSExtentsFileID = 3, - kHFSCatalogFileID = 4, - kHFSBadBlockFileID = 5, - kHFSAllocationFileID = 6, - kHFSStartupFileID = 7, - kHFSAttributesFileID = 8, - kHFSRepairCatalogFileID = 14, - kHFSBogusExtentFileID = 15, - kHFSFirstUserCatalogNodeID = 16 -}; - -#define STR_SIZE(str) (sizeof(uint16_t) + (sizeof(uint16_t) * (str).length)) - -struct HFSUniStr255 { - uint16_t length; - uint16_t unicode[255]; -} __attribute__((__packed__)); -typedef struct HFSUniStr255 HFSUniStr255; -typedef const HFSUniStr255 *ConstHFSUniStr255Param; - -struct HFSPlusExtentDescriptor { - uint32_t startBlock; - uint32_t blockCount; -} __attribute__((__packed__)); -typedef struct HFSPlusExtentDescriptor HFSPlusExtentDescriptor; - -typedef HFSPlusExtentDescriptor HFSPlusExtentRecord[8]; - -struct HFSPlusForkData { - uint64_t logicalSize; - uint32_t clumpSize; - uint32_t totalBlocks; - HFSPlusExtentRecord extents; -} __attribute__((__packed__)); -typedef struct HFSPlusForkData HFSPlusForkData; - -struct HFSPlusVolumeHeader { - uint16_t signature; - uint16_t version; - uint32_t attributes; - uint32_t lastMountedVersion; - uint32_t journalInfoBlock; - - uint32_t createDate; - uint32_t modifyDate; - uint32_t backupDate; - uint32_t checkedDate; - - uint32_t fileCount; - uint32_t folderCount; - - uint32_t blockSize; - uint32_t totalBlocks; - uint32_t freeBlocks; - - uint32_t nextAllocation; - uint32_t rsrcClumpSize; - uint32_t dataClumpSize; - HFSCatalogNodeID nextCatalogID; - - uint32_t writeCount; - uint64_t encodingsBitmap; - - uint32_t finderInfo[8]; - - HFSPlusForkData allocationFile; - HFSPlusForkData extentsFile; - HFSPlusForkData catalogFile; - HFSPlusForkData attributesFile; - HFSPlusForkData startupFile; -} __attribute__((__packed__)); -typedef struct HFSPlusVolumeHeader HFSPlusVolumeHeader; - -enum { - kBTLeafNode = -1, - kBTIndexNode = 0, - kBTHeaderNode = 1, - kBTMapNode = 2 -}; - -struct BTNodeDescriptor { - uint32_t fLink; - uint32_t bLink; - int8_t kind; - uint8_t height; - uint16_t numRecords; - uint16_t reserved; -} __attribute__((__packed__)); -typedef struct BTNodeDescriptor BTNodeDescriptor; - -#define kHFSCaseFolding 0xCF -#define kHFSBinaryCompare 0xBC - -struct BTHeaderRec { - uint16_t treeDepth; - uint32_t rootNode; - uint32_t leafRecords; - uint32_t firstLeafNode; - uint32_t lastLeafNode; - uint16_t nodeSize; - uint16_t maxKeyLength; - uint32_t totalNodes; - uint32_t freeNodes; - uint16_t reserved1; - uint32_t clumpSize; // misaligned - uint8_t btreeType; - uint8_t keyCompareType; - uint32_t attributes; // long aligned again - uint32_t reserved3[16]; -} __attribute__((__packed__)); -typedef struct BTHeaderRec BTHeaderRec; - -struct HFSPlusExtentKey { - uint16_t keyLength; - uint8_t forkType; - uint8_t pad; - HFSCatalogNodeID fileID; - uint32_t startBlock; -} __attribute__((__packed__)); -typedef struct HFSPlusExtentKey HFSPlusExtentKey; - -struct HFSPlusCatalogKey { - uint16_t keyLength; - HFSCatalogNodeID parentID; - HFSUniStr255 nodeName; -} __attribute__((__packed__)); -typedef struct HFSPlusCatalogKey HFSPlusCatalogKey; - -#ifndef __MACTYPES__ -struct Point { - int16_t v; - int16_t h; -} __attribute__((__packed__)); -typedef struct Point Point; - -struct Rect { - int16_t top; - int16_t left; - int16_t bottom; - int16_t right; -} __attribute__((__packed__)); -typedef struct Rect Rect; - -/* OSType is a 32-bit value made by packing four 1-byte characters - together. */ -typedef uint32_t FourCharCode; -typedef FourCharCode OSType; - -#endif - -/* Finder flags (finderFlags, fdFlags and frFlags) */ -enum { - kIsOnDesk = 0x0001, /* Files and folders (System 6) */ - kColor = 0x000E, /* Files and folders */ - kIsShared = 0x0040, /* Files only (Applications only) If */ - /* clear, the application needs */ - /* to write to its resource fork, */ - /* and therefore cannot be shared */ - /* on a server */ - kHasNoINITs = 0x0080, /* Files only (Extensions/Control */ - /* Panels only) */ - /* This file contains no INIT resource */ - kHasBeenInited = 0x0100, /* Files only. Clear if the file */ - /* contains desktop database resources */ - /* ('BNDL', 'FREF', 'open', 'kind'...) */ - /* that have not been added yet. Set */ - /* only by the Finder. */ - /* Reserved for folders */ - kHasCustomIcon = 0x0400, /* Files and folders */ - kIsStationery = 0x0800, /* Files only */ - kNameLocked = 0x1000, /* Files and folders */ - kHasBundle = 0x2000, /* Files only */ - kIsInvisible = 0x4000, /* Files and folders */ - kIsAlias = 0x8000 /* Files only */ -}; - -/* Extended flags (extendedFinderFlags, fdXFlags and frXFlags) */ -enum { - kExtendedFlagsAreInvalid = 0x8000, /* The other extended flags */ - /* should be ignored */ - kExtendedFlagHasCustomBadge = 0x0100, /* The file or folder has a */ - /* badge resource */ - kExtendedFlagHasRoutingInfo = 0x0004 /* The file contains routing */ - /* info resource */ -}; - -enum { - kSymLinkFileType = 0x736C6E6B, /* 'slnk' */ - kSymLinkCreator = 0x72686170 /* 'rhap' */ -}; - -struct FileInfo { - OSType fileType; /* The type of the file */ - OSType fileCreator; /* The file's creator */ - uint16_t finderFlags; - Point location; /* File's location in the folder. */ - uint16_t reservedField; -} __attribute__((__packed__)); -typedef struct FileInfo FileInfo; - -struct ExtendedFileInfo { - int16_t reserved1[4]; - uint16_t extendedFinderFlags; - int16_t reserved2; - int32_t putAwayFolderID; -} __attribute__((__packed__)); -typedef struct ExtendedFileInfo ExtendedFileInfo; - -struct FolderInfo { - Rect windowBounds; /* The position and dimension of the */ - /* folder's window */ - uint16_t finderFlags; - Point location; /* Folder's location in the parent */ - /* folder. If set to {0, 0}, the Finder */ - /* will place the item automatically */ - uint16_t reservedField; -} __attribute__((__packed__)); -typedef struct FolderInfo FolderInfo; - -struct ExtendedFolderInfo { - Point scrollPosition; /* Scroll position (for icon views) */ - int32_t reserved1; - uint16_t extendedFinderFlags; - int16_t reserved2; - int32_t putAwayFolderID; -} __attribute__((__packed__)); -typedef struct ExtendedFolderInfo ExtendedFolderInfo; - -#define S_ISUID 0004000 /* set user id on execution */ -#define S_ISGID 0002000 /* set group id on execution */ -#define S_ISTXT 0001000 /* sticky bit */ - -#define S_IRWXU 0000700 /* RWX mask for owner */ -#define S_IRUSR 0000400 /* R for owner */ -#define S_IWUSR 0000200 /* W for owner */ -#define S_IXUSR 0000100 /* X for owner */ - -#define S_IRWXG 0000070 /* RWX mask for group */ -#define S_IRGRP 0000040 /* R for group */ -#define S_IWGRP 0000020 /* W for group */ -#define S_IXGRP 0000010 /* X for group */ - -#define S_IRWXO 0000007 /* RWX mask for other */ -#define S_IROTH 0000004 /* R for other */ -#define S_IWOTH 0000002 /* W for other */ -#define S_IXOTH 0000001 /* X for other */ - -#define S_IFMT 0170000 /* type of file mask */ -#define S_IFIFO 0010000 /* named pipe (fifo) */ -#define S_IFCHR 0020000 /* character special */ -#define S_IFDIR 0040000 /* directory */ -#define S_IFBLK 0060000 /* block special */ -#define S_IFREG 0100000 /* regular */ -#define S_IFLNK 0120000 /* symbolic link */ -#define S_IFSOCK 0140000 /* socket */ -#define S_IFWHT 0160000 /* whiteout */ - -struct HFSPlusBSDInfo { - uint32_t ownerID; - uint32_t groupID; - uint8_t adminFlags; - uint8_t ownerFlags; - uint16_t fileMode; - union { - uint32_t iNodeNum; - uint32_t linkCount; - uint32_t rawDevice; - } special; -} __attribute__((__packed__)); -typedef struct HFSPlusBSDInfo HFSPlusBSDInfo; - -enum { - kHFSPlusFolderRecord = 0x0001, - kHFSPlusFileRecord = 0x0002, - kHFSPlusFolderThreadRecord = 0x0003, - kHFSPlusFileThreadRecord = 0x0004 -}; - -enum { - kHFSFileLockedBit = 0x0000, /* file is locked and cannot be written to */ - kHFSFileLockedMask = 0x0001, - - kHFSThreadExistsBit = 0x0001, /* a file thread record exists for this file */ - kHFSThreadExistsMask = 0x0002, - - kHFSHasAttributesBit = 0x0002, /* object has extended attributes */ - kHFSHasAttributesMask = 0x0004, - - kHFSHasSecurityBit = 0x0003, /* object has security data (ACLs) */ - kHFSHasSecurityMask = 0x0008, - - kHFSHasFolderCountBit = 0x0004, /* only for HFSX, folder maintains a separate sub-folder count */ - kHFSHasFolderCountMask = 0x0010, /* (sum of folder records and directory hard links) */ - - kHFSHasLinkChainBit = 0x0005, /* has hardlink chain (inode or link) */ - kHFSHasLinkChainMask = 0x0020, - - kHFSHasChildLinkBit = 0x0006, /* folder has a child that's a dir link */ - kHFSHasChildLinkMask = 0x0040 -}; - -struct HFSPlusCatalogFolder { - int16_t recordType; - uint16_t flags; - uint32_t valence; - HFSCatalogNodeID folderID; - uint32_t createDate; - uint32_t contentModDate; - uint32_t attributeModDate; - uint32_t accessDate; - uint32_t backupDate; - HFSPlusBSDInfo permissions; - FolderInfo userInfo; - ExtendedFolderInfo finderInfo; - uint32_t textEncoding; - uint32_t folderCount; -} __attribute__((__packed__)); -typedef struct HFSPlusCatalogFolder HFSPlusCatalogFolder; - -struct HFSPlusCatalogFile { - int16_t recordType; - uint16_t flags; - uint32_t reserved1; - HFSCatalogNodeID fileID; - uint32_t createDate; - uint32_t contentModDate; - uint32_t attributeModDate; - uint32_t accessDate; - uint32_t backupDate; - HFSPlusBSDInfo permissions; - FileInfo userInfo; - ExtendedFileInfo finderInfo; - uint32_t textEncoding; - uint32_t reserved2; - - HFSPlusForkData dataFork; - HFSPlusForkData resourceFork; -} __attribute__((__packed__)); -typedef struct HFSPlusCatalogFile HFSPlusCatalogFile; - -struct HFSPlusCatalogThread { - int16_t recordType; - int16_t reserved; - HFSCatalogNodeID parentID; - HFSUniStr255 nodeName; -} __attribute__((__packed__)); -typedef struct HFSPlusCatalogThread HFSPlusCatalogThread; - -struct HFSPlusCatalogRecord { - int16_t recordType; - unsigned char data[0]; -} __attribute__((__packed__)); -typedef struct HFSPlusCatalogRecord HFSPlusCatalogRecord; - -struct CatalogRecordList { - HFSUniStr255 name; - HFSPlusCatalogRecord* record; - struct CatalogRecordList* next; -}; -typedef struct CatalogRecordList CatalogRecordList; - -struct Extent { - uint32_t startBlock; - uint32_t blockCount; - struct Extent* next; -}; - -typedef struct Extent Extent; - -typedef struct { - io_func* io; - BTHeaderRec *headerRec; - compareFunc compare; - dataReadFunc keyRead; - keyWriteFunc keyWrite; - keyPrintFunc keyPrint; - dataReadFunc dataRead; -} BTree; - -typedef struct { - io_func* image; - HFSPlusVolumeHeader* volumeHeader; - - BTree* extentsTree; - BTree* catalogTree; - io_func* allocationFile; -} Volume; - - -typedef struct { - HFSCatalogNodeID id; - HFSPlusCatalogRecord* catalogRecord; - Volume* volume; - HFSPlusForkData* forkData; - Extent* extents; -} RawFile; - -#ifdef __cplusplus -extern "C" { -#endif - void hfs_panic(const char* panicString); - - void printUnicode(HFSUniStr255* str); - char* unicodeToAscii(HFSUniStr255* str); - - BTNodeDescriptor* readBTNodeDescriptor(uint32_t num, BTree* tree); - - BTHeaderRec* readBTHeaderRec(io_func* io); - - BTree* openBTree(io_func* io, compareFunc compare, dataReadFunc keyRead, keyWriteFunc keyWrite, keyPrintFunc keyPrint, dataReadFunc dataRead); - - void closeBTree(BTree* tree); - - off_t getRecordOffset(int num, uint32_t nodeNum, BTree* tree); - - off_t getNodeNumberFromPointerRecord(off_t offset, io_func* io); - - void* search(BTree* tree, BTKey* searchKey, int *exact, uint32_t *nodeNumber, int *recordNumber); - - io_func* openFlatFile(const char* fileName); - io_func* openFlatFileRO(const char* fileName); - - io_func* openRawFile(HFSCatalogNodeID id, HFSPlusForkData* forkData, HFSPlusCatalogRecord* catalogRecord, Volume* volume); - - void flipExtentRecord(HFSPlusExtentRecord* extentRecord); - - BTree* openExtentsTree(io_func* file); - - void ASCIIToUnicode(const char* ascii, HFSUniStr255* unistr); - - void flipCatalogFolder(HFSPlusCatalogFolder* record); - void flipCatalogFile(HFSPlusCatalogFile* record); - void flipCatalogThread(HFSPlusCatalogThread* record, int out); - - BTree* openCatalogTree(io_func* file); - int updateCatalog(Volume* volume, HFSPlusCatalogRecord* catalogRecord); - int move(const char* source, const char* dest, Volume* volume); - int removeFile(const char* fileName, Volume* volume); - HFSCatalogNodeID newFolder(const char* pathName, Volume* volume); - HFSCatalogNodeID newFile(const char* pathName, Volume* volume); - int chmodFile(const char* pathName, int mode, Volume* volume); - int chownFile(const char* pathName, uint32_t owner, uint32_t group, Volume* volume); - int makeSymlink(const char* pathName, const char* target, Volume* volume); - - HFSPlusCatalogRecord* getRecordByCNID(HFSCatalogNodeID CNID, Volume* volume); - HFSPlusCatalogRecord* getLinkTarget(HFSPlusCatalogRecord* record, HFSCatalogNodeID parentID, HFSPlusCatalogKey *key, Volume* volume); - CatalogRecordList* getFolderContents(HFSCatalogNodeID CNID, Volume* volume); - HFSPlusCatalogRecord* getRecordFromPath(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey); - HFSPlusCatalogRecord* getRecordFromPath2(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey, char traverse); - HFSPlusCatalogRecord* getRecordFromPath3(const char* path, Volume* volume, char **name, HFSPlusCatalogKey* retKey, char traverse, char returnLink, HFSCatalogNodeID parentID); - void releaseCatalogRecordList(CatalogRecordList* list); - - int isBlockUsed(Volume* volume, uint32_t block); - int setBlockUsed(Volume* volume, uint32_t block, int used); - int allocate(RawFile* rawFile, off_t size); - - void flipForkData(HFSPlusForkData* forkData); - - Volume* openVolume(io_func* io); - void closeVolume(Volume *volume); - int updateVolume(Volume* volume); - - int debugBTree(BTree* tree, int displayTree); - - int addToBTree(BTree* tree, BTKey* searchKey, size_t length, unsigned char* content); - - int removeFromBTree(BTree* tree, BTKey* searchKey); - - int32_t FastUnicodeCompare ( register uint16_t str1[], register uint16_t length1, - register uint16_t str2[], register uint16_t length2); -#ifdef __cplusplus -} -#endif - -#endif - From 08e1db494d82a466f4c8959247157c220abd0ab0 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Tue, 20 Dec 2016 15:55:30 +0000 Subject: [PATCH 08/26] Create dmg with genisoimage & libdmg-hfsplus --- dist/create-dmg.sh | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/dist/create-dmg.sh b/dist/create-dmg.sh index 7b02be27a..c816f6346 100755 --- a/dist/create-dmg.sh +++ b/dist/create-dmg.sh @@ -28,32 +28,5 @@ OUT="$NAME.dmg" mkdir -p "$TMP" ################################################################################ - -# clean up -rm -rf "$TMP" -rm -f "$OUT" - -# create DMG contents and copy files -mkdir -p "$TMP/.background" -cp ../dist/dmg_background.png "$TMP/.background/background.png" -cp ../dist/DS_Store.in "$TMP/.DS_Store" -chmod go-rwx "$TMP/.DS_Store" -ln -s /Applications "$TMP/Applications" -# copies the prepared bundle into the dir that will become the DMG -cp -R "$IN" "$TMP" - -# create -hdiutil makehybrid -hfs -hfs-volume-name Clementine -hfs-openfolder "$TMP" "$TMP" -o tmp.dmg -hdiutil convert -format UDZO -imagekey zlib-level=9 tmp.dmg -o "$OUT" - -# cleanup -rm tmp.dmg - -#hdiutil create -srcfolder "$TMP" \ -# -format UDZO -imagekey zlib-level=9 \ -# -scrub \ -# "$OUT" \ -# || die "Error creating DMG :(" - -# done ! -echo 'DMG size:' `du -hs "$OUT" | awk '{print $1}'` +genisoimage -D -V "Clementine" -no-pad -r -apple -o $NAME.iso $IN +dmg dmg $NAME.iso $OUT From f166780be51da8b193a964fa65b974dc69eeb03c Mon Sep 17 00:00:00 2001 From: John Maguire Date: Tue, 20 Dec 2016 17:34:28 +0000 Subject: [PATCH 09/26] Try building a more featureful dmg again --- dist/create-dmg.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/dist/create-dmg.sh b/dist/create-dmg.sh index c816f6346..45746c0ad 100755 --- a/dist/create-dmg.sh +++ b/dist/create-dmg.sh @@ -28,5 +28,18 @@ OUT="$NAME.dmg" mkdir -p "$TMP" ################################################################################ -genisoimage -D -V "Clementine" -no-pad -r -apple -o $NAME.iso $IN +# clean up +rm -rf "$TMP" +rm -f "$OUT" + +# create DMG contents and copy files +mkdir -p "$TMP/.background" +cp ../dist/dmg_background.png "$TMP/.background/background.png" +cp ../dist/DS_Store.in "$TMP/.DS_Store" +chmod go-rwx "$TMP/.DS_Store" +ln -s /Applications "$TMP/Applications" +# copies the prepared bundle into the dir that will become the DMG +cp -R "$IN" "$TMP" + +genisoimage -D -V "Clementine" -no-pad -r -apple -o $NAME.iso $TMP dmg dmg $NAME.iso $OUT From 1c0891202d582b8a7ca96f73e517b24120b6ac09 Mon Sep 17 00:00:00 2001 From: Santiago Gil Date: Wed, 21 Dec 2016 11:40:40 -0300 Subject: [PATCH 10/26] Let the audio sink autonegotiate the bit depth. (Possible fix for #5533) (#5541) --- src/engines/gstenginepipeline.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/engines/gstenginepipeline.cpp b/src/engines/gstenginepipeline.cpp index a206b3a37..c352e044e 100644 --- a/src/engines/gstenginepipeline.cpp +++ b/src/engines/gstenginepipeline.cpp @@ -416,9 +416,9 @@ bool GstEnginePipeline::Init() { stereo_panorama_, volume_, audioscale_, convert, nullptr); - // Ensure that the audio output of the tee does not autonegotiate to 16 bit - GstCaps* caps = gst_caps_new_simple("audio/x-raw", "format", G_TYPE_STRING, - "S32LE", NULL); + // We only limit the media type to raw audio. + // Let the audio output of the tee autonegotiate the bit depth and format. + GstCaps* caps = gst_caps_new_empty_simple("audio/x-raw"); // Add caps for fixed sample rate and mono, but only if requested if (sample_rate_ != GstEngine::kAutoSampleRate && sample_rate_ > 0) { From 589d6419558c48277f2c14fd6ea8ed7aa23a34c7 Mon Sep 17 00:00:00 2001 From: Mark Furneaux Date: Wed, 21 Dec 2016 09:41:48 -0500 Subject: [PATCH 11/26] Fix playlist save on dialogs which do not enforce extensions (#5496) like GTK+ --- src/playlist/playlistmanager.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/playlist/playlistmanager.cpp b/src/playlist/playlistmanager.cpp index 258d6ffdd..5f13d30a8 100644 --- a/src/playlist/playlistmanager.cpp +++ b/src/playlist/playlistmanager.cpp @@ -233,6 +233,17 @@ void PlaylistManager::SaveWithUI(int id, const QString& suggested_filename) { return; } + // Check if the file extension is valid. Fallback to the default if not. + QFileInfo info(filename); + ParserBase* parser = parser_->ParserForExtension(info.suffix()); + if (!parser) { + qLog(Warning) << "Unknown file extension:" << info.suffix(); + filename = info.absolutePath() + "/" + info.fileName() + + "." + parser_->default_extension(); + info.setFile(filename); + filter = info.suffix(); + } + int p = settings.value(Playlist::kPathType, Playlist::Path_Automatic).toInt(); Playlist::Path path = static_cast(p); if (path == Playlist::Path_Ask_User) { @@ -246,7 +257,6 @@ void PlaylistManager::SaveWithUI(int id, const QString& suggested_filename) { settings.setValue("last_save_playlist", filename); settings.setValue("last_save_filter", filter); - QFileInfo info(filename); settings.setValue("last_save_extension", info.suffix()); Save(id == -1 ? current_id() : id, filename, path); From d3898d2f47c47eab9c5f75083c541fd0a26152c5 Mon Sep 17 00:00:00 2001 From: Santiago Gil Date: Wed, 21 Dec 2016 13:57:04 -0300 Subject: [PATCH 12/26] Add dialog to display streams' audio details (#5547) * Add Stream Details window * Fix capitalization in StreamDiscoverer::Discover() * StreamDiscoverer::Discover(): get URL by const reference * Refactor StreamDiscoverer::Discover * Rename StreamDiscoverer callbacks * StreamDiscoverer::OnDiscovered: fix nullptr comparison * StreamDiscoverer: rename DiscoverFinished signal * StreamDiscoverer::DataReady: receive const reference * StreamDiscoverer: Remove unsigned types * StreamDetailsDialog: rename Close slot * StreamDetailsDialog: rename ui pointer to ui_ * MainWindow::ShowStreamDetails: receive a const reference * StreamDetailsDialog: use unique_ptr, remove unsigned types --- CMakeLists.txt | 2 + src/CMakeLists.txt | 6 ++ src/engines/gstengine.cpp | 3 + src/songinfo/streamdiscoverer.cpp | 125 +++++++++++++++++++++++++ src/songinfo/streamdiscoverer.h | 48 ++++++++++ src/ui/mainwindow.cpp | 39 ++++++++ src/ui/mainwindow.h | 7 ++ src/ui/mainwindow.ui | 5 + src/ui/streamdetailsdialog.cpp | 42 +++++++++ src/ui/streamdetailsdialog.h | 34 +++++++ src/ui/streamdetailsdialog.ui | 148 ++++++++++++++++++++++++++++++ 11 files changed, 459 insertions(+) create mode 100644 src/songinfo/streamdiscoverer.cpp create mode 100644 src/songinfo/streamdiscoverer.h create mode 100644 src/ui/streamdetailsdialog.cpp create mode 100644 src/ui/streamdetailsdialog.h create mode 100644 src/ui/streamdetailsdialog.ui diff --git a/CMakeLists.txt b/CMakeLists.txt index 544e7e499..c8b048f4d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,6 +68,7 @@ pkg_check_modules(GSTREAMER_APP REQUIRED gstreamer-app-1.0) pkg_check_modules(GSTREAMER_AUDIO REQUIRED gstreamer-audio-1.0) pkg_check_modules(GSTREAMER_BASE REQUIRED gstreamer-base-1.0) pkg_check_modules(GSTREAMER_TAG REQUIRED gstreamer-tag-1.0) +pkg_check_modules(GSTREAMER_PBUTILS REQUIRED gstreamer-pbutils-1.0) pkg_check_modules(LIBGPOD libgpod-1.0>=0.7.92) pkg_check_modules(LIBMTP libmtp>=1.0) pkg_check_modules(LIBMYGPO_QT libmygpo-qt>=1.0.9) @@ -155,6 +156,7 @@ include_directories(${GSTREAMER_APP_INCLUDE_DIRS}) include_directories(${GSTREAMER_AUDIO_INCLUDE_DIRS}) include_directories(${GSTREAMER_BASE_INCLUDE_DIRS}) include_directories(${GSTREAMER_TAG_INCLUDE_DIRS}) +include_directories(${GSTREAMER_PBUTILS_INCLUDE_DIRS}) include_directories(${GLIB_INCLUDE_DIRS}) include_directories(${GLIBCONFIG_INCLUDE_DIRS}) include_directories(${LIBXML_INCLUDE_DIRS}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1afaaf707..76958329b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -311,6 +311,7 @@ set(SOURCES songinfo/songkickconcertwidget.cpp songinfo/songplaystats.cpp songinfo/spotifyimages.cpp + songinfo/streamdiscoverer.cpp songinfo/taglyricsinfoprovider.cpp songinfo/ultimatelyricslyric.cpp songinfo/ultimatelyricsprovider.cpp @@ -358,6 +359,7 @@ set(SOURCES ui/settingsdialog.cpp ui/settingspage.cpp ui/standarditemiconloader.cpp + ui/streamdetailsdialog.cpp ui/systemtrayicon.cpp ui/trackselectiondialog.cpp ui/windows7thumbbar.cpp @@ -603,6 +605,7 @@ set(HEADERS songinfo/songkickconcertwidget.h songinfo/songplaystats.h songinfo/spotifyimages.h + songinfo/streamdiscoverer.h songinfo/taglyricsinfoprovider.h songinfo/ultimatelyricslyric.h songinfo/ultimatelyricsprovider.h @@ -641,6 +644,7 @@ set(HEADERS ui/settingsdialog.h ui/settingspage.h ui/standarditemiconloader.h + ui/streamdetailsdialog.h ui/systemtrayicon.h ui/trackselectiondialog.h ui/windows7thumbbar.h @@ -764,6 +768,7 @@ set(UI ui/organiseerrordialog.ui ui/playbacksettingspage.ui ui/settingsdialog.ui + ui/streamdetailsdialog.ui ui/trackselectiondialog.ui widgets/equalizerslider.ui @@ -1265,6 +1270,7 @@ target_link_libraries(clementine_lib ${GSTREAMER_LIBRARIES} ${GSTREAMER_APP_LIBRARIES} ${GSTREAMER_TAG_LIBRARIES} + ${GSTREAMER_PBUTILS_LIBRARIES} ${QTSINGLEAPPLICATION_LIBRARIES} ${QTSINGLECOREAPPLICATION_LIBRARIES} ${QTIOCOMPRESSOR_LIBRARIES} diff --git a/src/engines/gstengine.cpp b/src/engines/gstengine.cpp index 51d2c5e50..f0d47b4e9 100644 --- a/src/engines/gstengine.cpp +++ b/src/engines/gstengine.cpp @@ -39,6 +39,7 @@ #include #include +#include #include "config.h" #include "devicefinder.h" @@ -146,6 +147,8 @@ bool GstEngine::Init() { void GstEngine::InitialiseGstreamer() { gst_init(nullptr, nullptr); + gst_pb_utils_init(); + #ifdef HAVE_MOODBAR gstfastspectrum_register_static(); #endif diff --git a/src/songinfo/streamdiscoverer.cpp b/src/songinfo/streamdiscoverer.cpp new file mode 100644 index 000000000..812034b30 --- /dev/null +++ b/src/songinfo/streamdiscoverer.cpp @@ -0,0 +1,125 @@ +#include "streamdiscoverer.h" + +#include +#include "core/logging.h" +#include "core/signalchecker.h" +#include "core/waitforsignal.h" + +#include + +const int StreamDiscoverer::kDiscoveryTimeoutS = 10; + +StreamDiscoverer::StreamDiscoverer() : QObject(nullptr) { + // Setting up a discoverer: + discoverer_ = gst_discoverer_new(kDiscoveryTimeoutS * GST_SECOND, NULL); + if (discoverer_ == NULL) { + qLog(Error) << "Error creating discoverer" << endl; + return; + } + + // Connecting its signals: + CHECKED_GCONNECT(discoverer_, "discovered", &OnDiscovered, this); + CHECKED_GCONNECT(discoverer_, "finished", &OnFinished, this); + + // Starting the discoverer process: + gst_discoverer_start(discoverer_); +} + +StreamDiscoverer::~StreamDiscoverer() { + gst_discoverer_stop(discoverer_); + g_object_unref(discoverer_); +} + +void StreamDiscoverer::Discover(const QString& url) { + // Adding the request to discover the url given as a parameter: + qLog(Debug) << "Discover" << url; + if (!gst_discoverer_discover_uri_async(discoverer_, + url.toStdString().c_str())) { + qLog(Error) << "Failed to start discovering" << url << endl; + return; + } + WaitForSignal(this, SIGNAL(DiscoverFinished())); +} + +void StreamDiscoverer::OnDiscovered(GstDiscoverer* discoverer, + GstDiscovererInfo* info, GError* err, + gpointer self) { + StreamDiscoverer* instance = reinterpret_cast(self); + + QString discovered_url(gst_discoverer_info_get_uri(info)); + + GstDiscovererResult result = gst_discoverer_info_get_result(info); + if (result != GST_DISCOVERER_OK) { + QString error_message = GSTdiscovererErrorMessage(result); + qLog(Error) << "Discovery failed:" << error_message << endl; + emit instance->Error( + tr("Error discovering %1: %2").arg(discovered_url).arg(error_message)); + return; + } + + // Get audio streams (we will only care about the first one, which should be + // the only one). + GList* audio_streams = gst_discoverer_info_get_audio_streams(info); + + if (audio_streams != nullptr) { + qLog(Debug) << "Discovery successful" << endl; + // We found a valid audio stream, extracting and saving its info: + GstDiscovererStreamInfo* stream_audio_info = + (GstDiscovererStreamInfo*)g_list_first(audio_streams)->data; + + StreamDetails stream_details; + stream_details.url = discovered_url; + stream_details.bitrate = gst_discoverer_audio_info_get_bitrate( + GST_DISCOVERER_AUDIO_INFO(stream_audio_info)); + stream_details.channels = gst_discoverer_audio_info_get_channels( + GST_DISCOVERER_AUDIO_INFO(stream_audio_info)); + stream_details.depth = gst_discoverer_audio_info_get_depth( + GST_DISCOVERER_AUDIO_INFO(stream_audio_info)); + stream_details.sample_rate = gst_discoverer_audio_info_get_sample_rate( + GST_DISCOVERER_AUDIO_INFO(stream_audio_info)); + + // Human-readable codec name: + GstCaps* stream_caps = + gst_discoverer_stream_info_get_caps(stream_audio_info); + gchar* decoder_description = + gst_pb_utils_get_codec_description(stream_caps); + stream_details.format = (decoder_description == NULL) + ? QString(tr("Unknown")) + : QString(decoder_description); + + gst_caps_unref(stream_caps); + g_free(decoder_description); + + emit instance->DataReady(stream_details); + + } else { + emit instance->Error( + tr("Could not detect an audio stream in %1").arg(discovered_url)); + } + + gst_discoverer_stream_info_list_free(audio_streams); +} + +void StreamDiscoverer::OnFinished(GstDiscoverer* discoverer, gpointer self) { + // The discoverer doesn't have any more urls in its queue. Let the loop know + // it can exit. + StreamDiscoverer* instance = reinterpret_cast(self); + emit instance->DiscoverFinished(); +} + +QString StreamDiscoverer::GSTdiscovererErrorMessage( + GstDiscovererResult result) { + switch (result) { + case (GST_DISCOVERER_URI_INVALID): + return tr("Invalid URL"); + case (GST_DISCOVERER_TIMEOUT): + return tr("Connection timed out"); + case (GST_DISCOVERER_BUSY): + return tr("The discoverer is busy"); + case (GST_DISCOVERER_MISSING_PLUGINS): + return tr("Missing plugins"); + case (GST_DISCOVERER_ERROR): + default: + return tr("Could not get details"); + } +} diff --git a/src/songinfo/streamdiscoverer.h b/src/songinfo/streamdiscoverer.h new file mode 100644 index 000000000..e5016269e --- /dev/null +++ b/src/songinfo/streamdiscoverer.h @@ -0,0 +1,48 @@ +#ifndef STREAMDISCOVERER_H +#define STREAMDISCOVERER_H + +#include + +#include +#include +#include + +struct StreamDetails { + QString url; + QString format; + int bitrate; + int depth; + int channels; + int sample_rate; +}; +Q_DECLARE_METATYPE(StreamDetails) + +class StreamDiscoverer : public QObject { + Q_OBJECT + + public: + StreamDiscoverer(); + ~StreamDiscoverer(); + + void Discover(const QString& url); + +signals: + void DiscoverFinished(); + void DataReady(const StreamDetails& data); + void Error(const QString& message); + + private: + GstDiscoverer* discoverer_; + + static const int kDiscoveryTimeoutS; + + // GstDiscoverer callbacks: + static void OnDiscovered(GstDiscoverer* discoverer, GstDiscovererInfo* info, + GError* err, gpointer instance); + static void OnFinished(GstDiscoverer* discoverer, gpointer instance); + + // Helper to return descriptive error messages: + static QString GSTdiscovererErrorMessage(GstDiscovererResult result); +}; + +#endif // STREAMDISCOVERER_H diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index ba0a22fb9..bfe1676ef 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -101,6 +101,7 @@ #include "smartplaylists/generatormimedata.h" #include "songinfo/artistinfoview.h" #include "songinfo/songinfoview.h" +#include "songinfo/streamdiscoverer.h" #include "transcoder/transcodedialog.h" #include "ui/about.h" #include "ui/addstreamdialog.h" @@ -113,6 +114,7 @@ #include "ui/organiseerrordialog.h" #include "ui/qtsystemtrayicon.h" #include "ui/settingsdialog.h" +#include "ui/streamdetailsdialog.h" #include "ui/systemtrayicon.h" #include "ui/trackselectiondialog.h" #include "ui/windows7thumbbar.h" @@ -173,6 +175,7 @@ MainWindow::MainWindow(Application* app, SystemTrayIcon* tray_icon, OSD* osd, tray_icon_(tray_icon), osd_(osd), edit_tag_dialog_(std::bind(&MainWindow::CreateEditTagDialog, this)), + stream_discoverer_(std::bind(&MainWindow::CreateStreamDiscoverer, this)), global_shortcuts_(new GlobalShortcuts(this)), global_search_view_(new GlobalSearchView(app_, this)), library_view_(new LibraryViewContainer(this)), @@ -477,6 +480,8 @@ MainWindow::MainWindow(Application* app, SystemTrayIcon* tray_icon, OSD* osd, SLOT(ShowQueueManager())); connect(ui_->action_add_files_to_transcoder, SIGNAL(triggered()), SLOT(AddFilesToTranscoder())); + connect(ui_->action_view_stream_details, SIGNAL(triggered()), + SLOT(DiscoverStreamDetails())); background_streams_->AddAction("Rain", ui_->action_rain); background_streams_->AddAction("Hypnotoad", ui_->action_hypnotoad); @@ -684,6 +689,7 @@ MainWindow::MainWindow(Application* app, SystemTrayIcon* tray_icon, OSD* osd, playlist_menu_->addAction(ui_->action_remove_from_playlist); playlist_undoredo_ = playlist_menu_->addSeparator(); playlist_menu_->addAction(ui_->action_edit_track); + playlist_menu_->addAction(ui_->action_view_stream_details); playlist_menu_->addAction(ui_->action_edit_value); playlist_menu_->addAction(ui_->action_renumber_tracks); playlist_menu_->addAction(ui_->action_selection_set_value); @@ -1712,6 +1718,10 @@ void MainWindow::PlaylistRightClick(const QPoint& global_pos, // no 'show in browser' action if only streams are selected playlist_open_in_browser_->setVisible(streams != all); + // If exactly one stream is selected, enable the 'show details' action. + ui_->action_view_stream_details->setEnabled(all == 1 && streams == 1); + ui_->action_view_stream_details->setVisible(all == 1 && streams == 1); + bool track_column = (index.column() == Playlist::Column_Track); ui_->action_renumber_tracks->setVisible(editable >= 2 && track_column); ui_->action_selection_set_value->setVisible(editable >= 2 && !track_column); @@ -1882,6 +1892,27 @@ void MainWindow::EditTagDialogAccepted() { app_->playlist_manager()->current()->Save(); } +void MainWindow::DiscoverStreamDetails() { + int row = playlist_menu_index_.row(); + Song song = app_->playlist_manager()->current()->item_at(row)->Metadata(); + + QString url = song.url().toString(); + stream_discoverer_->Discover(url); +} + +void MainWindow::ShowStreamDetails(const StreamDetails& details) { + StreamDetailsDialog stream_details_dialog(this); + + stream_details_dialog.setUrl(details.url); + stream_details_dialog.setFormat(details.format); + stream_details_dialog.setBitrate(details.bitrate); + stream_details_dialog.setChannels(details.channels); + stream_details_dialog.setDepth(details.depth); + stream_details_dialog.setSampleRate(details.sample_rate); + + stream_details_dialog.exec(); +} + void MainWindow::RenumberTracks() { QModelIndexList indexes = ui_->playlist->view()->selectionModel()->selection().indexes(); @@ -2490,6 +2521,14 @@ EditTagDialog* MainWindow::CreateEditTagDialog() { return edit_tag_dialog; } +StreamDiscoverer* MainWindow::CreateStreamDiscoverer() { + StreamDiscoverer* discoverer = new StreamDiscoverer(); + connect(discoverer, SIGNAL(DataReady(StreamDetails)), + SLOT(ShowStreamDetails(StreamDetails))); + connect(discoverer, SIGNAL(Error(QString)), SLOT(ShowErrorDialog(QString))); + return discoverer; +} + void MainWindow::ShowAboutDialog() { about_dialog_->show(); } void MainWindow::ShowTranscodeDialog() { transcode_dialog_->show(); } diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index 2e5d4ec17..d796d39bb 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -31,8 +31,10 @@ #include "engines/engine_fwd.h" #include "library/librarymodel.h" #include "playlist/playlistitem.h" +#include "songinfo/streamdiscoverer.h" #include "ui/organisedialog.h" #include "ui/settingsdialog.h" +#include "ui/streamdetailsdialog.h" class About; class AddStreamDialog; @@ -72,6 +74,7 @@ class RipCDDialog; class Song; class SongInfoBase; class SongInfoView; +class StreamDetailsDialog; class SystemTrayIcon; class TagFetcher; class TaskManager; @@ -165,6 +168,8 @@ signals: void PlaylistEditFinished(const QModelIndex& index); void EditTracks(); void EditTagDialogAccepted(); + void DiscoverStreamDetails(); + void ShowStreamDetails(const StreamDetails& details); void RenumberTracks(); void SelectionSetValue(); void EditValue(); @@ -252,6 +257,7 @@ signals: void ShowVisualisations(); SettingsDialog* CreateSettingsDialog(); EditTagDialog* CreateEditTagDialog(); + StreamDiscoverer* CreateStreamDiscoverer(); void OpenSettingsDialog(); void OpenSettingsDialogAtPage(SettingsDialog::Page page); void ShowSongInfoConfig(); @@ -299,6 +305,7 @@ signals: OSD* osd_; Lazy edit_tag_dialog_; Lazy about_dialog_; + Lazy stream_discoverer_; GlobalShortcuts* global_shortcuts_; diff --git a/src/ui/mainwindow.ui b/src/ui/mainwindow.ui index 8fd57050e..fce8c3fa3 100644 --- a/src/ui/mainwindow.ui +++ b/src/ui/mainwindow.ui @@ -928,6 +928,11 @@ Remove unavailable tracks from playlist + + + View Stream Details + + true diff --git a/src/ui/streamdetailsdialog.cpp b/src/ui/streamdetailsdialog.cpp new file mode 100644 index 000000000..cab6b879f --- /dev/null +++ b/src/ui/streamdetailsdialog.cpp @@ -0,0 +1,42 @@ +#include "streamdetailsdialog.h" +#include "ui_streamdetailsdialog.h" + +#include + +StreamDetailsDialog::StreamDetailsDialog(QWidget* parent) + : QDialog(parent), ui_(new Ui::StreamDetailsDialog) { + ui_->setupUi(this); +} + +StreamDetailsDialog::~StreamDetailsDialog() {} + +void StreamDetailsDialog::setUrl(const QString& url) { + ui_->url->setText(url); + ui_->url->setCursorPosition(0); +} +void StreamDetailsDialog::setFormat(const QString& format) { + ui_->format->setText(format); +} +void StreamDetailsDialog::setBitrate(int bitrate) { + ui_->bitrate->setText(QString("%1 kbps").arg(bitrate / 1000)); + + // Some bitrates aren't properly reported by GStreamer. + // In that case do not display bitrate information. + ui_->bitrate->setVisible(bitrate != 0); + ui_->bitrate_label->setVisible(bitrate != 0); +} +void StreamDetailsDialog::setChannels(int channels) { + ui_->channels->setText(QString::number(channels)); +} +void StreamDetailsDialog::setDepth(int depth) { + // Right now GStreamer seems to be reporting incorrect numbers for MP3 and AAC + // streams, so we leave that value hidden in the UI. + // ui_->depth->setText(QString("%1 bits").arg(depth)); + ui_->depth->setVisible(false); + ui_->depth_label->setVisible(false); +} +void StreamDetailsDialog::setSampleRate(int sample_rate) { + ui_->sample_rate->setText(QString("%1 Hz").arg(sample_rate)); +} + +void StreamDetailsDialog::Close() { this->close(); } diff --git a/src/ui/streamdetailsdialog.h b/src/ui/streamdetailsdialog.h new file mode 100644 index 000000000..1e10a619c --- /dev/null +++ b/src/ui/streamdetailsdialog.h @@ -0,0 +1,34 @@ +#ifndef STREAMDETAILSDIALOG_H +#define STREAMDETAILSDIALOG_H + +#include + +#include + +namespace Ui { +class StreamDetailsDialog; +} + +class StreamDetailsDialog : public QDialog { + Q_OBJECT + + public: + explicit StreamDetailsDialog(QWidget* parent = 0); + ~StreamDetailsDialog(); + + void setUrl(const QString& url); + void setFormat(const QString& codec); // This is localized, so only for human + // consumption. + void setBitrate(int); + void setDepth(int); + void setChannels(int); + void setSampleRate(int); + + private slots: + void Close(); + + private: + std::unique_ptr ui_; +}; + +#endif // STREAMDETAILSDIALOG_H diff --git a/src/ui/streamdetailsdialog.ui b/src/ui/streamdetailsdialog.ui new file mode 100644 index 000000000..3b6120c9f --- /dev/null +++ b/src/ui/streamdetailsdialog.ui @@ -0,0 +1,148 @@ + + + StreamDetailsDialog + + + + 0 + 0 + 500 + 210 + + + + + 500 + 210 + + + + Stream Details + + + + + + URL + + + + + + + true + + + + + + + Format + + + + + + + + + + + + + + Channels + + + + + + + + + + + + + + Bit rate + + + + + + + + + + + + + + Sample rate + + + + + + + + + + + + + + Depth + + + + + + + + + + + + + + QDialogButtonBox::Close + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + buttonBox + rejected() + StreamDetailsDialog + close() + + + 299 + 186 + + + 249 + 104 + + + + + From 230e8222f87f1b90c6d5829a16c39b44d575369a Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 21 Dec 2016 17:10:56 +0000 Subject: [PATCH 13/26] Bump DLL versions --- dist/windows/clementine.nsi.in | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/dist/windows/clementine.nsi.in b/dist/windows/clementine.nsi.in index 10ba0ff59..930c115cb 100644 --- a/dist/windows/clementine.nsi.in +++ b/dist/windows/clementine.nsi.in @@ -249,6 +249,10 @@ Section "Delete old files" oldfiles Delete "$INSTDIR\gstreamer-plugins\libgstmpegaudioparse.dll" Delete "$INSTDIR\gstreamer-plugins\libgstqtdemux.dll" + # Dependencies bump + Delete "$INSTDIR\libgnutls-28.dll" + Delete "$INSTDIR\libprotobuf-8.dll" + ; No longer using built-in libechonest Delete "$INSTDIR\libechonest.dll" ; No longer using built-in chromaprint @@ -278,7 +282,7 @@ Section "Clementine" Clementine File "libglib-2.0-0.dll" File "libgmodule-2.0-0.dll" File "libgmp-10.dll" - File "libgnutls-28.dll" + File "libgnutls-30.dll" File "libgobject-2.0-0.dll" File "libgpg-error-0.dll" File "libgpod.dll" @@ -305,13 +309,14 @@ Section "Clementine" Clementine File "libmad.dll" File "libmms-0.dll" File "libmp3lame-0.dll" - File "libnettle-4-6.dll" + File "libnettle-6.dll" File "libogg-0.dll" File "liboil-0.3-0.dll" File "liborc-0.4-0.dll" File "liborc-test-0.4-0.dll" + File "libp11-kit-0.dll" File "libplist.dll" - File "libprotobuf-8.dll" + File "libprotobuf-9.dll" File "libqjson.dll" File "libspeex-1.dll" File "libspotify.dll" @@ -1091,6 +1096,7 @@ Section "Uninstall" Delete "$INSTDIR\libgmodule-2.0-0.dll" Delete "$INSTDIR\libgmp-10.dll" Delete "$INSTDIR\libgnutls-28.dll" + Delete "$INSTDIR\libgnutls-30.dll" Delete "$INSTDIR\libgobject-2.0-0.dll" Delete "$INSTDIR\libgpg-error-0.dll" Delete "$INSTDIR\libgpod.dll" @@ -1109,7 +1115,7 @@ Section "Uninstall" Delete "$INSTDIR\libgsttag-1.0-0.dll" Delete "$INSTDIR\libgstvideo-1.0-0.dll" Delete "$INSTDIR\libgthread-2.0-0.dll" - Delete "$INSTDIR\libhogweed-2-4.dll" + Delete "$INSTDIR\libhogweed-4.dll" Delete "$INSTDIR\libiconv-2.dll" Delete "$INSTDIR\libid3tag.dll" Delete "$INSTDIR\libintl-8.dll" @@ -1122,8 +1128,9 @@ Section "Uninstall" Delete "$INSTDIR\liboil-0.3-0.dll" Delete "$INSTDIR\liborc-0.4-0.dll" Delete "$INSTDIR\liborc-test-0.4-0.dll" + Delete "$INSTDIR\libp11-kit-0.dll" Delete "$INSTDIR\libplist.dll" - Delete "$INSTDIR\libprotobuf-8.dll" + Delete "$INSTDIR\libprotobuf-9.dll" Delete "$INSTDIR\libqjson.dll" Delete "$INSTDIR\libspeex-1.dll" Delete "$INSTDIR\libspotify.dll" From 43c2fad0e99b2bb505ca31c15e38b6720152d70f Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 21 Dec 2016 17:59:52 +0000 Subject: [PATCH 14/26] Excludes must go before directory in tar command. Lovely that the behaviour changed in some random tar version between Fedora 24 and Fedora 25... --- dist/maketarball.sh.in | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dist/maketarball.sh.in b/dist/maketarball.sh.in index 9b23a52ac..67ca56c27 100755 --- a/dist/maketarball.sh.in +++ b/dist/maketarball.sh.in @@ -9,14 +9,15 @@ rootnoslash=`echo $root | sed "s/^\///"` echo "Creating $name-$version.tar.xz..." -tar -cJf $name-$version.tar.xz "$root" \ +tar -cJf $name-$version.tar.xz \ --transform "s,^$rootnoslash,$name-$version," \ --exclude-vcs \ --exclude "$root/bin/*" \ --exclude "$root/debian" \ --exclude "$root/dist/*.tar.gz" \ --exclude "$root/dist/*.tar.xz" \ - --exclude "$root/CMakeLists.txt.user" + --exclude "$root/CMakeLists.txt.user" \ + "$root" echo "Also creating ${name}_${version}~${deb_dist}.orig.tar.xz..." cp "$name-$version.tar.xz" "${name}_${version}~${deb_dist}.orig.tar.xz" From 265f27aff689d8c10c0391b7ceaa30d4909fd7c9 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Fri, 23 Dec 2016 14:00:15 +0000 Subject: [PATCH 15/26] Fix libhogweed dll --- dist/windows/clementine.nsi.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dist/windows/clementine.nsi.in b/dist/windows/clementine.nsi.in index 930c115cb..581394158 100644 --- a/dist/windows/clementine.nsi.in +++ b/dist/windows/clementine.nsi.in @@ -251,6 +251,7 @@ Section "Delete old files" oldfiles # Dependencies bump Delete "$INSTDIR\libgnutls-28.dll" + Delete "$INSTDIR\libhogweed-2-4.dll" Delete "$INSTDIR\libprotobuf-8.dll" ; No longer using built-in libechonest @@ -301,7 +302,7 @@ Section "Clementine" Clementine File "libgsttag-1.0-0.dll" File "libgstvideo-1.0-0.dll" File "libgthread-2.0-0.dll" - File "libhogweed-2-4.dll" + File "libhogweed-4.dll" File "libiconv-2.dll" File "libid3tag.dll" File "libintl-8.dll" From 789c4924f4c19b5dda7870f8edf57262d9ba8d76 Mon Sep 17 00:00:00 2001 From: Golubev Alexander Date: Tue, 27 Dec 2016 04:12:54 +0400 Subject: [PATCH 16/26] Fix a typo in a header guard (#5570) --- tests/mock_networkaccessmanager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/mock_networkaccessmanager.h b/tests/mock_networkaccessmanager.h index 65725173d..d1fc789e7 100644 --- a/tests/mock_networkaccessmanager.h +++ b/tests/mock_networkaccessmanager.h @@ -15,7 +15,7 @@ along with Clementine. If not, see . */ -#ifndef MOCK_NETWORKACCESSAMANGER_H +#ifndef MOCK_NETWORKACCESSMANAGER_H #define MOCK_NETWORKACCESSMANAGER_H #include From 00c96f733497c7879b70c9f6975bcd6c7966086d Mon Sep 17 00:00:00 2001 From: Santiago Gil Date: Sat, 31 Dec 2016 10:22:10 -0300 Subject: [PATCH 17/26] Consider depth levels in path sorting (#5445) (#5573) --- src/playlist/playlist.cpp | 20 ++++++++++++++++++++ src/playlist/playlist.h | 3 +++ 2 files changed, 23 insertions(+) diff --git a/src/playlist/playlist.cpp b/src/playlist/playlist.cpp index a30a7bdce..5e94c4484 100644 --- a/src/playlist/playlist.cpp +++ b/src/playlist/playlist.cpp @@ -1309,6 +1309,18 @@ bool Playlist::CompareItems(int column, Qt::SortOrder order, return false; } +bool Playlist::ComparePathDepths(Qt::SortOrder order, + shared_ptr _a, + shared_ptr _b) { + shared_ptr a = order == Qt::AscendingOrder ? _a : _b; + shared_ptr b = order == Qt::AscendingOrder ? _b : _a; + + int a_dir_level = a->Url().path().count('/'); + int b_dir_level = b->Url().path().count('/'); + + return a_dir_level < b_dir_level; +} + QString Playlist::column_name(Column column) { switch (column) { case Column_Title: @@ -1410,6 +1422,14 @@ void Playlist::sort(int column, Qt::SortOrder order) { std::bind(&Playlist::CompareItems, Column_Disc, order, _1, _2)); qStableSort(begin, new_items.end(), std::bind(&Playlist::CompareItems, Column_Album, order, _1, _2)); + } else if (column == Column_Filename) { + // When sorting by full paths we also expect a hierarchical order. This + // returns a breath-first ordering of paths. + qStableSort( + begin, new_items.end(), + std::bind(&Playlist::CompareItems, Column_Filename, order, _1, _2)); + qStableSort(begin, new_items.end(), + std::bind(&Playlist::ComparePathDepths, order, _1, _2)); } else { qStableSort(begin, new_items.end(), std::bind(&Playlist::CompareItems, column, order, _1, _2)); diff --git a/src/playlist/playlist.h b/src/playlist/playlist.h index ada4db68d..fefc970e2 100644 --- a/src/playlist/playlist.h +++ b/src/playlist/playlist.h @@ -306,6 +306,9 @@ class Playlist : public QAbstractListModel { bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex()); + static bool ComparePathDepths(Qt::SortOrder, PlaylistItemPtr, + PlaylistItemPtr); + public slots: void set_current_row(int index, bool is_stopping = false); void Paused(); From 57d00394ee87bb5bcfedf6361d5640976209f362 Mon Sep 17 00:00:00 2001 From: Marko Hauptvogel Date: Thu, 22 Dec 2016 06:55:37 +0100 Subject: [PATCH 18/26] Bugfix for resume playback on start This fixes issue #5365. Because of the asynchronous loading of playlists introduced by 09e83935, the resume playback on startup logic finds the active playlist as empty, because it is not restored yet. By attaching the playback resume to the RestoreFinish signal, the playback will be triggered as soon as the playlist is restored. It may be possible (but unlikely) that the playlist will already be restored before we wait for the signal, and playback won't be resumed. Signed-off-by: Marko Hauptvogel --- src/ui/mainwindow.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index bfe1676ef..88843bf1c 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -1295,12 +1295,16 @@ void MainWindow::LoadPlaybackStatus() { return; } - QTimer::singleShot(100, this, SLOT(ResumePlayback())); + connect(app_->playlist_manager()->active(), SIGNAL(RestoreFinished()), + SLOT(ResumePlayback())); } void MainWindow::ResumePlayback() { qLog(Debug) << "Resuming playback"; + disconnect(app_->playlist_manager()->active(), SIGNAL(RestoreFinished()), + this, SLOT(ResumePlayback())); + if (saved_playback_state_ == Engine::Paused) { NewClosure(app_->player(), SIGNAL(Playing()), app_->player(), SLOT(PlayPause())); From 87d12ffccff3afea588bc5421d1a4cea7a3a305a Mon Sep 17 00:00:00 2001 From: John Maguire Date: Fri, 6 Jan 2017 15:57:37 +0000 Subject: [PATCH 19/26] Use versioned FLAC DLL. --- dist/windows/clementine.nsi.in | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dist/windows/clementine.nsi.in b/dist/windows/clementine.nsi.in index 581394158..7af6fe04a 100644 --- a/dist/windows/clementine.nsi.in +++ b/dist/windows/clementine.nsi.in @@ -258,6 +258,9 @@ Section "Delete old files" oldfiles Delete "$INSTDIR\libechonest.dll" ; No longer using built-in chromaprint Delete "$INSTDIR\libchromaprint.dll" + + ; Versioned FLAC DLL + Delete "$INSTDIR\libFLAC.dll" SectionEnd Section "Clementine" Clementine @@ -276,7 +279,7 @@ Section "Clementine" Clementine File "libfaad.dll" File "libffi-6.dll" File "libfftw3-3.dll" - File "libFLAC.dll" + File "libFLAC-8.dll" File "libgcc_s_sjlj-1.dll" File "libgcrypt-20.dll" File "libgio-2.0-0.dll" @@ -1089,7 +1092,7 @@ Section "Uninstall" Delete "$INSTDIR\libfaad.dll" Delete "$INSTDIR\libffi-6.dll" Delete "$INSTDIR\libfftw3-3.dll" - Delete "$INSTDIR\libFLAC.dll" + Delete "$INSTDIR\libFLAC-8.dll" Delete "$INSTDIR\libgcc_s_sjlj-1.dll" Delete "$INSTDIR\libgcrypt-20.dll" Delete "$INSTDIR\libgio-2.0-0.dll" From c7b8aacad8179ea2a7fe3857833a8c01c70104da Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 11 Jan 2017 18:08:43 +0000 Subject: [PATCH 20/26] Remove support for VK Fixes #5591 --- 3rdparty/vreen/CMakeLists.txt | 28 - 3rdparty/vreen/vreen/CMakeLists.txt | 44 - 3rdparty/vreen/vreen/cmake/CommonUtils.cmake | 630 ------- .../vreen/vreen/cmake/CompilerUtils.cmake | 9 - .../vreen/cmake/FindLibraryWithDebug.cmake | 113 -- 3rdparty/vreen/vreen/cmake/FindQCA2.cmake | 8 - 3rdparty/vreen/vreen/cmake/FindQOAuth.cmake | 42 - 3rdparty/vreen/vreen/cmake/FindQt3D.cmake | 6 - .../vreen/vreen/cmake/FindQt3DQuick.cmake | 5 - 3rdparty/vreen/vreen/cmake/MocUtils.cmake | 50 - .../vreen/vreen/cmake/QtBundleUtils.cmake | 106 -- 3rdparty/vreen/vreen/cmake/README | 0 3rdparty/vreen/vreen/cmake_uninstall.cmake.in | 21 - .../vreen/vreen/src/3rdparty/CMakeLists.txt | 17 - .../vreen/src/3rdparty/k8json/CMakeLists.txt | 59 - .../vreen/src/3rdparty/k8json/k8json.cpp | 894 ---------- .../vreen/vreen/src/3rdparty/k8json/k8json.h | 130 -- .../vreen/src/3rdparty/k8json/k8json.pc.cmake | 12 - 3rdparty/vreen/vreen/src/CMakeLists.txt | 9 - 3rdparty/vreen/vreen/src/api/CMakeLists.txt | 14 - .../vreen/vreen/src/api/abstractlistmodel.cpp | 54 - .../vreen/vreen/src/api/abstractlistmodel.h | 45 - 3rdparty/vreen/vreen/src/api/attachment.cpp | 234 --- 3rdparty/vreen/vreen/src/api/attachment.h | 109 -- 3rdparty/vreen/vreen/src/api/audio.cpp | 428 ----- 3rdparty/vreen/vreen/src/api/audio.h | 119 -- 3rdparty/vreen/vreen/src/api/audioitem.cpp | 238 --- 3rdparty/vreen/vreen/src/api/audioitem.h | 99 -- 3rdparty/vreen/vreen/src/api/chatsession.cpp | 138 -- 3rdparty/vreen/vreen/src/api/chatsession.h | 59 - 3rdparty/vreen/vreen/src/api/client.cpp | 440 ----- 3rdparty/vreen/vreen/src/api/client.h | 174 -- 3rdparty/vreen/vreen/src/api/client_p.h | 82 - .../vreen/vreen/src/api/commentssession.cpp | 107 -- .../vreen/vreen/src/api/commentssession.h | 63 - 3rdparty/vreen/vreen/src/api/connection.cpp | 89 - 3rdparty/vreen/vreen/src/api/connection.h | 81 - 3rdparty/vreen/vreen/src/api/connection_p.h | 44 - 3rdparty/vreen/vreen/src/api/contact.cpp | 317 ---- 3rdparty/vreen/vreen/src/api/contact.h | 243 --- 3rdparty/vreen/vreen/src/api/contact_p.h | 141 -- .../vreen/vreen/src/api/contentdownloader.cpp | 98 -- .../vreen/vreen/src/api/contentdownloader.h | 50 - .../vreen/vreen/src/api/contentdownloader_p.h | 60 - .../vreen/src/api/dynamicpropertydata.cpp | 73 - .../vreen/src/api/dynamicpropertydata_p.h | 63 - .../vreen/vreen/src/api/friendrequest.cpp | 95 - 3rdparty/vreen/vreen/src/api/friendrequest.h | 59 - .../vreen/vreen/src/api/groupchatsession.cpp | 336 ---- .../vreen/vreen/src/api/groupchatsession.h | 81 - 3rdparty/vreen/vreen/src/api/groupmanager.cpp | 112 -- 3rdparty/vreen/vreen/src/api/groupmanager.h | 66 - 3rdparty/vreen/vreen/src/api/groupmanager_p.h | 63 - 3rdparty/vreen/vreen/src/api/json.cpp | 61 - 3rdparty/vreen/vreen/src/api/json.h | 40 - 3rdparty/vreen/vreen/src/api/localstorage.cpp | 33 - 3rdparty/vreen/vreen/src/api/localstorage.h | 48 - 3rdparty/vreen/vreen/src/api/longpoll.cpp | 279 --- 3rdparty/vreen/vreen/src/api/longpoll.h | 102 -- 3rdparty/vreen/vreen/src/api/longpoll_p.h | 70 - 3rdparty/vreen/vreen/src/api/message.cpp | 327 ---- 3rdparty/vreen/vreen/src/api/message.h | 117 -- 3rdparty/vreen/vreen/src/api/messagemodel.cpp | 286 --- 3rdparty/vreen/vreen/src/api/messagemodel.h | 91 - .../vreen/vreen/src/api/messagesession.cpp | 110 -- 3rdparty/vreen/vreen/src/api/messagesession.h | 74 - .../vreen/vreen/src/api/messagesession_p.h | 50 - 3rdparty/vreen/vreen/src/api/newsfeed.cpp | 148 -- 3rdparty/vreen/vreen/src/api/newsfeed.h | 71 - 3rdparty/vreen/vreen/src/api/newsitem.cpp | 234 --- 3rdparty/vreen/vreen/src/api/newsitem.h | 98 -- 3rdparty/vreen/vreen/src/api/pollitem.cpp | 149 -- 3rdparty/vreen/vreen/src/api/pollitem.h | 77 - 3rdparty/vreen/vreen/src/api/pollprovider.cpp | 116 -- 3rdparty/vreen/vreen/src/api/pollprovider.h | 54 - 3rdparty/vreen/vreen/src/api/reply.cpp | 150 -- 3rdparty/vreen/vreen/src/api/reply.h | 118 -- 3rdparty/vreen/vreen/src/api/reply_p.h | 68 - 3rdparty/vreen/vreen/src/api/roster.cpp | 346 ---- 3rdparty/vreen/vreen/src/api/roster.h | 114 -- 3rdparty/vreen/vreen/src/api/roster_p.h | 111 -- 3rdparty/vreen/vreen/src/api/utils.cpp | 73 - 3rdparty/vreen/vreen/src/api/utils.h | 151 -- 3rdparty/vreen/vreen/src/api/utils_p.h | 37 - 3rdparty/vreen/vreen/src/api/vk_global.h | 34 - 3rdparty/vreen/vreen/src/api/vreen.pc.cmake | 12 - 3rdparty/vreen/vreen/src/api/wallpost.cpp | 247 --- 3rdparty/vreen/vreen/src/api/wallpost.h | 90 - 3rdparty/vreen/vreen/src/api/wallsession.cpp | 163 -- 3rdparty/vreen/vreen/src/api/wallsession.h | 71 - CMakeLists.txt | 8 - src/CMakeLists.txt | 29 - src/config.h.in | 3 +- src/core/metatypes.cpp | 17 +- src/internet/core/internetmodel.cpp | 6 - src/internet/vk/vkconnection.cpp | 212 --- src/internet/vk/vkconnection.h | 90 - src/internet/vk/vkmusiccache.cpp | 210 --- src/internet/vk/vkmusiccache.h | 79 - src/internet/vk/vksearchdialog.cpp | 198 --- src/internet/vk/vksearchdialog.h | 66 - src/internet/vk/vksearchdialog.ui | 67 - src/internet/vk/vkservice.cpp | 1545 ----------------- src/internet/vk/vkservice.h | 326 ---- src/internet/vk/vksettingspage.cpp | 135 -- src/internet/vk/vksettingspage.h | 56 - src/internet/vk/vksettingspage.ui | 215 --- src/internet/vk/vkurlhandler.cpp | 63 - src/internet/vk/vkurlhandler.h | 46 - src/ui/mainwindow.cpp | 29 +- src/ui/settingsdialog.cpp | 28 +- 111 files changed, 25 insertions(+), 14480 deletions(-) delete mode 100644 3rdparty/vreen/CMakeLists.txt delete mode 100644 3rdparty/vreen/vreen/CMakeLists.txt delete mode 100644 3rdparty/vreen/vreen/cmake/CommonUtils.cmake delete mode 100644 3rdparty/vreen/vreen/cmake/CompilerUtils.cmake delete mode 100644 3rdparty/vreen/vreen/cmake/FindLibraryWithDebug.cmake delete mode 100644 3rdparty/vreen/vreen/cmake/FindQCA2.cmake delete mode 100644 3rdparty/vreen/vreen/cmake/FindQOAuth.cmake delete mode 100644 3rdparty/vreen/vreen/cmake/FindQt3D.cmake delete mode 100644 3rdparty/vreen/vreen/cmake/FindQt3DQuick.cmake delete mode 100644 3rdparty/vreen/vreen/cmake/MocUtils.cmake delete mode 100644 3rdparty/vreen/vreen/cmake/QtBundleUtils.cmake delete mode 100644 3rdparty/vreen/vreen/cmake/README delete mode 100644 3rdparty/vreen/vreen/cmake_uninstall.cmake.in delete mode 100644 3rdparty/vreen/vreen/src/3rdparty/CMakeLists.txt delete mode 100644 3rdparty/vreen/vreen/src/3rdparty/k8json/CMakeLists.txt delete mode 100644 3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.cpp delete mode 100644 3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.h delete mode 100644 3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.pc.cmake delete mode 100644 3rdparty/vreen/vreen/src/CMakeLists.txt delete mode 100644 3rdparty/vreen/vreen/src/api/CMakeLists.txt delete mode 100644 3rdparty/vreen/vreen/src/api/abstractlistmodel.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/abstractlistmodel.h delete mode 100644 3rdparty/vreen/vreen/src/api/attachment.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/attachment.h delete mode 100644 3rdparty/vreen/vreen/src/api/audio.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/audio.h delete mode 100644 3rdparty/vreen/vreen/src/api/audioitem.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/audioitem.h delete mode 100644 3rdparty/vreen/vreen/src/api/chatsession.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/chatsession.h delete mode 100644 3rdparty/vreen/vreen/src/api/client.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/client.h delete mode 100644 3rdparty/vreen/vreen/src/api/client_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/commentssession.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/commentssession.h delete mode 100644 3rdparty/vreen/vreen/src/api/connection.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/connection.h delete mode 100644 3rdparty/vreen/vreen/src/api/connection_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/contact.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/contact.h delete mode 100644 3rdparty/vreen/vreen/src/api/contact_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/contentdownloader.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/contentdownloader.h delete mode 100644 3rdparty/vreen/vreen/src/api/contentdownloader_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/dynamicpropertydata.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/dynamicpropertydata_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/friendrequest.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/friendrequest.h delete mode 100644 3rdparty/vreen/vreen/src/api/groupchatsession.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/groupchatsession.h delete mode 100644 3rdparty/vreen/vreen/src/api/groupmanager.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/groupmanager.h delete mode 100644 3rdparty/vreen/vreen/src/api/groupmanager_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/json.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/json.h delete mode 100644 3rdparty/vreen/vreen/src/api/localstorage.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/localstorage.h delete mode 100644 3rdparty/vreen/vreen/src/api/longpoll.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/longpoll.h delete mode 100644 3rdparty/vreen/vreen/src/api/longpoll_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/message.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/message.h delete mode 100644 3rdparty/vreen/vreen/src/api/messagemodel.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/messagemodel.h delete mode 100644 3rdparty/vreen/vreen/src/api/messagesession.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/messagesession.h delete mode 100644 3rdparty/vreen/vreen/src/api/messagesession_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/newsfeed.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/newsfeed.h delete mode 100644 3rdparty/vreen/vreen/src/api/newsitem.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/newsitem.h delete mode 100644 3rdparty/vreen/vreen/src/api/pollitem.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/pollitem.h delete mode 100644 3rdparty/vreen/vreen/src/api/pollprovider.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/pollprovider.h delete mode 100644 3rdparty/vreen/vreen/src/api/reply.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/reply.h delete mode 100644 3rdparty/vreen/vreen/src/api/reply_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/roster.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/roster.h delete mode 100644 3rdparty/vreen/vreen/src/api/roster_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/utils.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/utils.h delete mode 100644 3rdparty/vreen/vreen/src/api/utils_p.h delete mode 100644 3rdparty/vreen/vreen/src/api/vk_global.h delete mode 100644 3rdparty/vreen/vreen/src/api/vreen.pc.cmake delete mode 100644 3rdparty/vreen/vreen/src/api/wallpost.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/wallpost.h delete mode 100644 3rdparty/vreen/vreen/src/api/wallsession.cpp delete mode 100644 3rdparty/vreen/vreen/src/api/wallsession.h delete mode 100644 src/internet/vk/vkconnection.cpp delete mode 100644 src/internet/vk/vkconnection.h delete mode 100644 src/internet/vk/vkmusiccache.cpp delete mode 100644 src/internet/vk/vkmusiccache.h delete mode 100644 src/internet/vk/vksearchdialog.cpp delete mode 100644 src/internet/vk/vksearchdialog.h delete mode 100644 src/internet/vk/vksearchdialog.ui delete mode 100644 src/internet/vk/vkservice.cpp delete mode 100644 src/internet/vk/vkservice.h delete mode 100644 src/internet/vk/vksettingspage.cpp delete mode 100644 src/internet/vk/vksettingspage.h delete mode 100644 src/internet/vk/vksettingspage.ui delete mode 100644 src/internet/vk/vkurlhandler.cpp delete mode 100644 src/internet/vk/vkurlhandler.h diff --git a/3rdparty/vreen/CMakeLists.txt b/3rdparty/vreen/CMakeLists.txt deleted file mode 100644 index cb5efef8e..000000000 --- a/3rdparty/vreen/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ -set(QT_USE_QTNETWORK true) - -option(USE_SYSTEM_VREEN "Force use system vreen instead build-in copy" OFF) - -if(USE_SYSTEM_VREEN) - find_package(PkgConfig) - if(PKG_CONFIG_FOUND) - pkg_check_modules(VREEN REQUIRED vreen) - #another spike. In pkgconfig LIBRARIES macro list only lib names - set(VREEN_LIBRARIES ${VREEN_LDFLAGS}) - endif() -endif() -if(NOT VREEN_FOUND) - if(NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr") - set(VREEN_IMPORTS_DIR bin) - endif() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x") - set(VREEN_WITH_QMLAPI OFF CACHE INTERNAL "") - set(VREEN_WITH_OAUTH ON CACHE INTERNAL "") - set(VREEN_INSTALL_HEADERS OFF CACHE INTERNAL "") - set(VREEN_DEVELOPER_BUILD OFF CACHE INTERNAL "") - set(VREEN_WITH_EXAMPLES OFF CACHE INTERNAL "") - set(VREEN_WITH_TESTS OFF CACHE INTERNAL "") - add_subdirectory(vreen) - message(STATUS "Using internal copy of vreen") - set(VREEN_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/vreen/include CACHE INTERNAL "") - set(VREEN_LIBRARIES vreen CACHE INTERNAL "") -endif() diff --git a/3rdparty/vreen/vreen/CMakeLists.txt b/3rdparty/vreen/vreen/CMakeLists.txt deleted file mode 100644 index 80ddde319..000000000 --- a/3rdparty/vreen/vreen/CMakeLists.txt +++ /dev/null @@ -1,44 +0,0 @@ -project(vreen) -cmake_minimum_required(VERSION 2.8 FATAL_ERROR) - -if(COMMAND cmake_policy) - cmake_policy (SET CMP0003 NEW) -endif(COMMAND cmake_policy) - -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") - -include(CommonUtils) - -option(VREEN_WITH_OAUTH "Enable webkit based oauth authorization" ON) -option(VREEN_WITH_DIRECTAUTH "Enable direct authorization" OFF) -option(VREEN_WITH_QMLAPI "Enable QtQuick bindings for vreen" ON) -option(VREEN_WITH_EXAMPLES "Enable vreen tests" ON) -option(VREEN_WITH_TESTS "Enable vreen examples" ON) -option(VREEN_INSTALL_HEADERS "Install devel headers for vreen" ON) -option(VREEN_DEVELOPER_BUILD "Install devel headers for vreen" OFF) -option(USE_QT5 "Build with Qt 5" OFF) - -#TODO check if vars is defined -set(RLIBDIR bin) -set(LIBDIR lib${LIB_SUFFIX}) -set(LIB_DESTINATION ${CMAKE_INSTALL_PREFIX}/${LIBDIR}) -if(APPLE) - set(CMAKE_INSTALL_NAME_DIR "${LIB_DESTINATION}") #hack for mac -endif() - -set(CMAKE_VREEN_VERSION_MAJOR 0 CACHE INT "Major vk version number" FORCE) -set(CMAKE_VREEN_VERSION_MINOR 9 CACHE INT "Minor vk version number" FORCE) -set(CMAKE_VREEN_VERSION_PATCH 5 CACHE INT "Release vk version number" FORCE) -set(CMAKE_VREEN_VERSION_STRING "${CMAKE_VREEN_VERSION_MAJOR}.${CMAKE_VREEN_VERSION_MINOR}.${CMAKE_VREEN_VERSION_PATCH}" CACHE STRING "vreen version string" FORCE) - -set(VREEN_INCLUDE_DIR ${PROJECT_BINARY_DIR}/include) -set(VREEN_PRIVATE_INCLUDE_DIR ${VREEN_INCLUDE_DIR}/vreen/${CMAKE_VREEN_VERSION_STRING}) - -add_subdirectory(src) -if(VREEN_WITH_EXAMPLES) - add_subdirectory(examples) -endif() -if(VREEN_WITH_TESTS) - enable_testing() - add_subdirectory(tests) -endif() diff --git a/3rdparty/vreen/vreen/cmake/CommonUtils.cmake b/3rdparty/vreen/vreen/cmake/CommonUtils.cmake deleted file mode 100644 index 81c809131..000000000 --- a/3rdparty/vreen/vreen/cmake/CommonUtils.cmake +++ /dev/null @@ -1,630 +0,0 @@ -include(CompilerUtils) -include(QtBundleUtils) -include(MocUtils) - -set(CMAKE_AUTOMOC true) - -macro(LIST_CONTAINS var value) -set(${var}) -foreach(value2 ${ARGN}) - if(${value} STREQUAL ${value2}) - set(${var} TRUE) - endif(${value} STREQUAL ${value2}) -endforeach(value2) -endmacro(LIST_CONTAINS) - -macro(LIST_FILTER list regex output) - unset(${output}) - foreach(item ${list}) - string(REGEX MATCH ${regex} item2 ${item}) - if(item MATCHES ${regex}) - list(APPEND ${output} ${item}) - endif() - endforeach() -endmacro() - -macro(PARSE_ARGUMENTS prefix arg_names option_names) - set(DEFAULT_ARGS) - foreach(arg_name ${arg_names}) - set(${prefix}_${arg_name}) - endforeach(arg_name) - foreach(option ${option_names}) - set(${prefix}_${option} FALSE) - endforeach(option) - - set(current_arg_name DEFAULT_ARGS) - set(current_arg_list) - foreach(arg ${ARGN}) - list_contains(is_arg_name ${arg} ${arg_names}) - if(is_arg_name) - set(${prefix}_${current_arg_name} ${current_arg_list}) - set(current_arg_name ${arg}) - set(current_arg_list) - else(is_arg_name) - list_contains(is_option ${arg} ${option_names}) - if(is_option) - set(${prefix}_${arg} TRUE) - else(is_option) - set(current_arg_list ${current_arg_list} ${arg}) - endif(is_option) - endif(is_arg_name) - endforeach(arg) - SET(${prefix}_${current_arg_name} ${current_arg_list}) -endmacro(PARSE_ARGUMENTS) - -macro(qt_use_modules target) - if(USE_QT5) - find_package(Qt5Core QUIET) - endif() - if(Qt5Core_DIR) - add_definitions("-DQT_DISABLE_DEPRECATED_BEFORE=0") - qt5_use_modules(${target} ${ARGN}) - else() - foreach(_module ${ARGN}) - list(APPEND _modules Qt${_module}) - endforeach() - find_package(Qt4 COMPONENTS ${_modules} QUIET) - include(UseQt4) - target_link_libraries(${target} ${QT_LIBRARIES}) - set(${target}_libraries ${QT_LIBRARIES}) - endif() -endmacro() - -macro(UPDATE_COMPILER_FLAGS target) - parse_arguments(FLAGS - "" - "DEVELOPER;CXX11" - ${ARGN} - ) - - if(FLAGS_DEVELOPER) - if(MSVC) - update_cxx_compiler_flag(${target} "/W3" W3) - update_cxx_compiler_flag(${target} "/WX" WX) - else() - update_cxx_compiler_flag(${target} "-Wall" WALL) - update_cxx_compiler_flag(${target} "-Wextra" WEXTRA) - update_cxx_compiler_flag(${target} "-Wnon-virtual-dtor" WDTOR) - update_cxx_compiler_flag(${target} "-Werror" WERROR) - #update_cxx_compiler_flag(${target} "-Wdocumentation" WERROR) - endif() - endif() - - if(FLAGS_CXX11) - update_cxx_compiler_flag(${target} "-std=c++0x" CXX_11) - update_cxx_compiler_flag(${target} "-stdlib=libc++" STD_LIBCXX) - #add check for c++11 support - endif() - - get_target_property(${target}_TYPE ${target} TYPE) - if(${target}_TYPE STREQUAL "STATIC_LIBRARY" AND NOT WIN32) - update_cxx_compiler_flag(${target} "-fpic" PIC) - elseif(${target}_TYPE STREQUAL "SHARED_LIBRARY") - update_cxx_compiler_flag(${target} "-fvisibility=hidden" HIDDEN_VISIBILITY) - endif() - set_target_properties(${target} PROPERTIES COMPILE_FLAGS "${COMPILER_FLAGS}") -endmacro() - -function(__GET_SOURCES name) - list(LENGTH ARGV _len) - if(_len GREATER 1) - list(GET ARGV 1 sourceDir) - endif() - if(NOT DEFINED sourceDir) - set(sourceDir ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - #Search for source and headers in source directory - file(GLOB_RECURSE HDR "${sourceDir}/*.h") - file(GLOB_RECURSE CXX "${sourceDir}/*.cpp") - file(GLOB_RECURSE CC "${sourceDir}/*.c") - file(GLOB_RECURSE FORMS "${sourceDir}/*.ui") - file(GLOB_RECURSE QRC "${sourceDir}/*.qrc") - if(APPLE) - file(GLOB_RECURSE MM "${sourceDir}/*.mm") - endif() - - list(APPEND sources - ${CXX} - ${CC} - ${MM} - ${HDR} - ${FORMS} - ${QRC} - ) - set(${name} ${sources} PARENT_SCOPE) -endfunction() - -function(__CHECK_SOURCE_FILES name) - list_filter("${ARGV}" ".*\\\\.h" HDR) - list_filter("${ARGV}" ".*\\\\.cpp" CXX) - list_filter("${ARGV}" ".*\\\\.cc" CC) - list_filter("${ARGV}" ".*\\\\.mm" MM) - list_filter("${ARGV}" ".*\\\\.ui" FORMS) - list_filter("${ARGV}" ".*\\\\.qrc" QRC) - - if(USE_QT5) - find_package(Qt5Core QUIET) - find_package(Qt5Widgets QUIET) - else() - find_package(Qt4 COMPONENTS QtCore QUIET REQUIRED) - endif() - - if(Qt5Core_DIR) - qt5_add_resources(${name}_QRC ${QRC}) - qt5_wrap_ui(${name}_HDR ${FORMS}) - else() - qt4_add_resources(${name}_QRC ${QRC}) - qt4_wrap_ui(${name}_HDR ${FORMS}) - endif() - - set(__sources "") - list(APPEND _extra_sources - ${CXX} - ${CC} - ${MM} - ${HDR} - ${FORMS} - ${${name}_QRC} - ${${name}_HDR} - ) - set(${name} ${_extra_sources} PARENT_SCOPE) -endfunction() - -macro(ADD_SIMPLE_LIBRARY target) - parse_arguments(LIBRARY - "LIBRARIES;INCLUDES;DEFINES;VERSION;SOVERSION;DEFINE_SYMBOL;SOURCE_DIR;SOURCE_FILES;INCLUDE_DIR;PKGCONFIG_TEMPLATE;QT" - "STATIC;INTERNAL;DEVELOPER;CXX11;NO_FRAMEWORK" - ${ARGN} - ) - - set(FRAMEWORK FALSE) - if(APPLE AND NOT LIBRARY_NO_FRAMEWORK) - set(FRAMEWORK TRUE) - endif() - - if(LIBRARY_STATIC) - set(type STATIC) - set(FRAMEWORK FALSE) - else() - set(type SHARED) - endif() - - if(LIBRARY_DEVELOPER) - list(APPEND opts DEVELOPER) - endif() - if(LIBRARY_CXX11) - list(APPEND opts CXX11) - endif() - - if(NOT LIBRARY_SOURCE_DIR) - set(LIBRARY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - - if(NOT LIBRARY_SOURCE_DIR STREQUAL "NONE") - __get_sources(LIBRARY_SOURCES ${LIBRARY_SOURCE_DIR}) - endif() - - set(LIBRARY_EXTRA_SOURCES "") - __check_source_files(LIBRARY_EXTRA_SOURCES ${LIBRARY_SOURCE_FILES}) - - # This project will generate library - add_library(${target} ${type} ${LIBRARY_SOURCES} ${LIBRARY_EXTRA_SOURCES}) - foreach(_define ${LIBRARY_DEFINES}) - add_definitions(-D${_define}) - endforeach() - - include_directories(${CMAKE_CURRENT_BINARY_DIR} - ${LIBRARY_SOURCE_DIR} - ${LIBRARY_INCLUDES} - ) - update_compiler_flags(${target} ${opts}) - qt_use_modules(${target} ${LIBRARY_QT}) - set_target_properties(${target} PROPERTIES - VERSION ${LIBRARY_VERSION} - SOVERSION ${LIBRARY_SOVERSION} - DEFINE_SYMBOL ${LIBRARY_DEFINE_SYMBOL} - FRAMEWORK ${FRAMEWORK} - ) - - target_link_libraries(${target} - ${QT_LIBRARIES} - ${LIBRARY_LIBRARIES} - ) - - #TODO add framework creation ability - if(LIBRARY_INCLUDE_DIR) - set(INCNAME ${LIBRARY_INCLUDE_DIR}) - else() - set(INCNAME ${target}) - endif() - - file(GLOB_RECURSE PUBLIC_HEADERS "${LIBRARY_SOURCE_DIR}/*[^p].h") - file(GLOB_RECURSE PRIVATE_HEADERS "${LIBRARY_SOURCE_DIR}/*_p.h") - - generate_include_headers("include/${INCNAME}" ${PUBLIC_HEADERS}) - generate_include_headers("include/${INCNAME}/${LIBRARY_VERSION}/${INCNAME}/private/" ${PRIVATE_HEADERS}) - if(FRAMEWORK) - set_source_files_properties(${PUBLIC_HEADERS} - PROPERTIES MACOSX_PACKAGE_LOCATION Headers) - set_source_files_properties(${PRIVATE_HEADERS} - PROPERTIES MACOSX_PACKAGE_LOCATION Headers/${LIBRARY_VERSION}/${INCNAME}/private/) - endif() - - if(NOT LIBRARY_INTERNAL) - if(NOT FRAMEWORK) - install(FILES ${PUBLIC_HEADERS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/${INCNAME}") - install(FILES ${PRIVATE_HEADERS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/${INCNAME}/${LIBRARY_VERSION}/${INCNAME}/private/") - endif() - if(LIBRARY_PKGCONFIG_TEMPLATE) - string(TOUPPER ${target} _target) - if(FRAMEWORK) - set(${_target}_PKG_LIBS "-L${LIB_DESTINATION} -f${target}") - set(${_target}_PKG_INCDIR "${LIB_DESTINATION}/${target}.framework/Contents/Headers") - else() - set(${_target}_PKG_LIBS "-L${LIB_DESTINATION} -l${target}") - set(${_target}_PKG_INCDIR "${CMAKE_INSTALL_PREFIX}/include/${INCNAME}") - endif() - add_pkgconfig_file(${LIBRARY_PKGCONFIG_TEMPLATE}) - endif() - endif() - if(type STREQUAL "SHARED" OR NOT LIBRARY_INTERNAL) - install(TARGETS ${target} - RUNTIME DESTINATION ${RLIBDIR} - LIBRARY DESTINATION ${LIBDIR} - ARCHIVE DESTINATION ${LIBDIR} - FRAMEWORK DESTINATION ${LIBDIR} - ) - endif() - string(TOLOWER ${type} _type) - message(STATUS "Added ${_type} library ${target}") -endmacro() - -macro(ADD_SIMPLE_EXECUTABLE target) - parse_arguments(EXECUTABLE - "LIBRARIES;INCLUDES;DEFINES;SOURCE_DIR;SOURCE_FILES;QT" - "INTERNAL;GUI;CXX11" - ${ARGN} - ) - - if(EXECUTABLE_GUI) - if(APPLE) - set(type MACOSX_BUNDLE) - else() - set(type WIN32) - endif() - else() - set(type "") - endif() - - if(NOT EXECUTABLE_SOURCE_DIR) - set(EXECUTABLE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - - set(EXECUTABLE_EXTRA_SOURCES "") - __get_sources(EXECUTABLE_EXTRA_SOURCES ${EXECUTABLE_SOURCE_DIR}) - __check_source_files(SOURCES "${EXECUTABLE_EXTRA_SOURCES};${EXECUTABLE_SOURCE_FILES}") - - # This project will generate library - add_executable(${target} ${type} ${SOURCES}) - foreach(_define ${EXECUTABLE_DEFINES}) - add_definitions(-D${_define}) - endforeach() - - include_directories(${CMAKE_CURRENT_BINARY_DIR} - . - ${EXECUTABLE_INCLUDES} - ) - - if(EXECUTABLE_CXX11) - list(APPEND opts CXX11) - endif() - - update_compiler_flags(${target} ${opts}) - qt_use_modules(${target} ${EXECUTABLE_QT}) - - target_link_libraries(${target} - ${EXECUTABLE_LIBRARIES} - ${QT_LIBRARIES} - ) - - if(NOT EXECUTABLE_INTERNAL) - install(TARGETS ${target} - RUNTIME DESTINATION ${BINDIR} - BUNDLE DESTINATION . - ) - endif() - message(STATUS "Added executable: ${target}") -endmacro() - -macro(ADD_QML_DIR _qmldir) - parse_arguments(QMLDIR - "URI;VERSION;IMPORTS_DIR" - "" - ${ARGN} - ) - if(NOT QMLDIR_IMPORTS_DIR) - set(QMLDIR_IMPORTS_DIR "${QT_IMPORTS_DIR}") - endif() - - string(REPLACE "." "/" _URI ${QMLDIR_URI}) - message(STATUS "Added qmldir: ${_qmldir} with uri ${QMLDIR_URI}") - set(QML_DIR_DESTINATION "${QMLDIR_IMPORTS_DIR}/${_URI}") - deploy_folder("${_qmldir}" - DESTINATION "${QML_DIR_DESTINATION}" - DESCRIPTION "qmldir with uri ${QMLDIR_URI}") -endmacro() - -macro(ADD_QML_MODULE target) - parse_arguments(MODULE - "LIBRARIES;INCLUDES;DEFINES;URI;QML_DIR;VERSION;SOURCE_DIR;SOURCE_FILES;IMPORTS_DIR;PLUGIN_DIR;QT" - "CXX11" - ${ARGN} - ) - - if(NOT MODULE_IMPORTS_DIR) - set(MODULE_IMPORTS_DIR "${QT_IMPORTS_DIR}") - endif() - if(MODULE_QML_DIR) - add_qml_dir("${MODULE_QML_DIR}" - URI "${MODULE_URI}" - VERSION "${MODULE_VERSION}" - IMPORTS_DIR "${MODULE_IMPORTS_DIR}" - ) - endif() - - __get_sources(SOURCES ${MODULE_SOURCE_DIR}) - set(MODULE_EXTRA_SOURCES "") - - __check_source_files(MODULE_EXTRA_SOURCES ${MODULE_SOURCE_FILES}) - list(APPEND SOURCES ${MODULE_EXTRA_SOURCES}) - # This project will generate library - add_library(${target} SHARED ${SOURCES}) - foreach(_define ${MODULE_DEFINES}) - add_definitions(-D${_define}) - endforeach() - - include_directories(${CMAKE_CURRENT_BINARY_DIR} - ${MODULE_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} - ${MODULE_INCLUDES} - ) - - qt_use_modules(${target} ${MODULE_QT}) - target_link_libraries(${target} - ${${target}_libraries} - ${MODULE_LIBRARIES} - ) - - if(MODULE_CXX11) - list(APPEND opts CXX11) - endif() - update_compiler_flags(${target} ${opts}) - message(STATUS "Added qml module: ${target} with uri ${MODULE_URI}") - string(REPLACE "." "/" _URI ${MODULE_URI}) - install(TARGETS ${target} DESTINATION "${MODULE_IMPORTS_DIR}/${_URI}/${MODULE_PLUGIN_DIR}") -endmacro() - -macro(ADD_SIMPLE_QT_TEST target) - parse_arguments(TEST - "LIBRARIES;RESOURCES;SOURCES;QT" - "CXX11" - ${ARGN} - ) - - if(TEST_SOURCES) - set(${target}_SRC ${TEST_SOURCES}) - else() - set(${target}_SRC ${target}.cpp) - endif() - list(APPEND TEST_QT Test) - - list(APPEND ${target}_SRC ${TEST_RESOURCES}) - __check_source_files(${target}_SRC ${${target}_SRC}) - include_directories(${CMAKE_CURRENT_BINARY_DIR}) - add_executable(${target} ${${target}_SRC}) - qt_use_modules(${target} ${TEST_QT}) - target_link_libraries(${target} ${TEST_LIBRARIES} ${QT_LIBRARIES}) - if(TEST_CXX11) - list(APPEND opts CXX11) - endif() - update_compiler_flags(${target} ${opts}) - add_test(NAME ${target} COMMAND ${target}) - message(STATUS "Added simple test: ${target}") -endmacro() - -macro(APPEND_TARGET_LOCATION target list) - get_target_property(${target}_LOCATION ${target} LOCATION) - list(APPEND ${list} ${${target}_LOCATION}) -endmacro() - -macro(CHECK_DIRECTORY_EXIST directory exists) - if(EXISTS ${directory}) - set(_exists FOUND) - else() - set(_exists NOT_FOUND) - endif() - set(exists ${_exists}) -endmacro() - -macro(CHECK_QML_MODULE name exists) - check_directory_exist("${QT_IMPORTS_DIR}/${name}" _exists) - message(STATUS "Checking qml module ${name} - ${_exists}") - set(${exists} ${_exists}) -endmacro() - -macro(ADD_PUBLIC_HEADER header dir) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${header} - ${CMAKE_CURRENT_BINARY_DIR}/include/${dir}/${header} COPYONLY) - list(APPEND PUBLIC_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/include/${dir}/${header}) -endmacro() - -macro(GENERATE_PUBLIC_HEADER header dir name) - add_public_header(${header}) - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/include/${dir}/${name} - "#include \"${name}\"\n" - ) - list(APPEND PUBLIC_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/include/${name}) -endmacro() - -macro(GENERATE_INCLUDE_HEADERS _dir) - include_directories(${PROJECT_BINARY_DIR}) - foreach(header ${ARGN}) - get_filename_component(_basename ${header} NAME_WE) - get_filename_component(_abs_FILE ${header} ABSOLUTE) - #message(STATUS "${PROJECT_BINARY_DIR}/${_dir}/${_basename}.h") - - if(NOT EXISTS "${PROJECT_BINARY_DIR}/${_dir}/${_basename}.h" ) - file(WRITE "${PROJECT_BINARY_DIR}/${_dir}/${_basename}.h" - "#include \"${_abs_FILE}\"\n" - ) - endif() - endforeach() -endmacro() - -macro(ADD_CUSTOM_DIRECTORY sourceDir) - parse_arguments(DIR - "DESCRIPTION" - "" - ${ARGN} - ) - - string(RANDOM tail) - get_filename_component(_basename ${sourceDir} NAME_WE) - file(GLOB_RECURSE _files "${sourceDir}/*") - add_custom_target(dir_${_basename}_${tail} ALL - SOURCES ${_files} - ) - if(DIR_DESCRIPTION) - source_group(${DIR_DESCRIPTION} FILES ${_files}) - endif() -endmacro() - -macro(DEPLOY_FOLDER sourceDir) - parse_arguments(FOLDER - "DESCRIPTION;DESTINATION" - "" - ${ARGN} - ) - - get_filename_component(_basename ${sourceDir} NAME_WE) - get_filename_component(_destname ${FOLDER_DESTINATION} NAME_WE) - file(GLOB_RECURSE _files "${sourceDir}/*") - message(STATUS "deploy folder: ${sourceDir}") - add_custom_target(qml_${_destname} ALL - SOURCES ${_files} - ) - file(GLOB _files "${sourceDir}/*") - foreach(_file ${_files}) - if(IS_DIRECTORY ${_file}) - install(DIRECTORY ${_file} DESTINATION ${FOLDER_DESTINATION}) - get_filename_component(_name ${_file} NAME_WE) - else() - install(FILES ${_file} DESTINATION ${FOLDER_DESTINATION}) - endif() - endforeach() - if(FOLDER_DESCRIPTION) - source_group(${FOLDER_DESCRIPTION} FILES ${_files}) - endif() -endmacro() - -macro(ENABLE_QML_DEBUG_SUPPORT target) - -endmacro() - -macro(ADD_PKGCONFIG_FILE file) - #add pkgconfig file - get_filename_component(_name ${file} NAME_WE) - set(PKGCONFIG_DESTINATION ${CMAKE_INSTALL_PREFIX}/${LIBDIR}/pkgconfig) - configure_file(${file} - ${CMAKE_CURRENT_BINARY_DIR}/${_name}.pc - ) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_name}.pc - DESTINATION ${PKGCONFIG_DESTINATION} - ) -endmacro() - -macro(FIND_MODULE module) - parse_arguments(MODULE - "PREFIX;LIBRARY_HINTS;HEADERS_DIR;INCLUDE_HINTS;GLOBAL_HEADER" - "NO_PKGCONFIG;NO_MACOSX_FRAMEWORK" - ${ARGN} - ) - string(TOUPPER ${module} _name) - if(MODULE_PREFIX) - set(_name "${MODULE_PREFIX}_${_name}") - endif() - - #try to use pkgconfig - if(NOT MODULE_NO_PKGCONFIG) - find_package(PkgConfig) - pkg_check_modules(${_name} ${module}) - if(${_name}_FOUND) - list(GET ${_name}_INCLUDE_DIRS 0 ${_name}_INCLUDE_DIR) - list(GET ${_name}_LIBRARIES 0 ${_name}_LIBRARIES) - endif() - #message("${_name} + ${${_name}_LIBRARIES} AND ${${_name}_INCLUDE_DIR}") - endif() - #try to find macosx framework - if(APPLE AND NOT MODULE_NO_MACOSX_FRAMEWORK AND NOT ${_name}_FOUND) - message(STATUS "Try to find MacosX framework ${module}.framework") - find_library(${_name}_LIBRARIES - NAMES ${module} - HINTS ${MODULE_LIBRARY_HINTS} - ) - if(${_name}_LIBRARIES) - set(${_name}_FOUND true) - list(APPEND ${MODULE_PREFIX}_LIBRARIES ${${_name}_LIBRARIES}) - set(${_name}_INCLUDE_DIR "${${MODULE_PREFIX}_LIBRARIES}/Headers/") - list(APPEND ${MODULE_PREFIX}_INCLUDES - ${${_name}_INCLUDE_DIR} - ) - endif() - endif() - #try to use simple find - if(NOT ${_name}_FOUND) - message(STATUS "Try to find ${module}") - include(FindLibraryWithDebug) - find_path(${_name}_INCLUDE_DIR ${MODULE_GLOBAL_HEADER} - HINTS ${MODULE_INCLUDE_HINTS} - PATH_SUFFIXES ${MODULE_HEADERS_DIR} - ) - find_library_with_debug(${_name}_LIBRARIES - WIN32_DEBUG_POSTFIX d - NAMES ${module} - HINTS ${MODULE_LIBRARY_HINTS} - ) - #message("${MODULE_HEADERS_DIR} ${MODULE_INCLUDE_HINTS} ${QT_INCLUDE_DIR}") - endif() - - #include(FindPackageHandleStandardArgs) - #find_package_handle_standard_args(${_name} DEFAULT_MSG ${${_name}_LIBRARIES} ${${_name}_INCLUDE_DIR}) - - if(${_name}_LIBRARIES AND ${_name}_INCLUDE_DIR) - message(STATUS "Found ${module}: ${${_name}_LIBRARIES}") - set(${_name}_FOUND true) - list(APPEND ${MODULE_PREFIX}_LIBRARIES - ${${_name}_LIBRARIES} - ) - list(APPEND ${MODULE_PREFIX}_INCLUDES - ${${_name}_INCLUDE_DIR} - ) - #message("${${_name}_LIBRARIES} \n ${${_name}_INCLUDE_DIR}") - else(${_name}_LIBRARIES AND ${_name}_INCLUDE_DIR) - message(STATUS "Could NOT find ${module}") - endif() - mark_as_advanced(${${_name}_INCLUDE_DIR} ${${_name}_LIBRARIES}) -endmacro() - -macro(FIND_QT_MODULE module) - parse_arguments(MODULE - "HEADERS_DIR;GLOBAL_HEADER" - "" - ${ARGN} - ) - find_module(${module} - PREFIX QT - HEADERS_DIR ${MODULE_HEADERS_DIR} - GLOBAL_HEADER ${MODULE_GLOBAL_HEADER} - LIBRARY_HINTS ${QT_LIBRARY_DIR} - ) -endmacro() diff --git a/3rdparty/vreen/vreen/cmake/CompilerUtils.cmake b/3rdparty/vreen/vreen/cmake/CompilerUtils.cmake deleted file mode 100644 index c251fa3f7..000000000 --- a/3rdparty/vreen/vreen/cmake/CompilerUtils.cmake +++ /dev/null @@ -1,9 +0,0 @@ -include(CheckCXXCompilerFlag) - -macro(UPDATE_CXX_COMPILER_FLAG target flag name) - check_cxx_compiler_flag(${flag} COMPILER_SUPPORTS_${name}_FLAG) - if(COMPILER_SUPPORTS_${name}_FLAG) - add_definitions(${flag}) - endif() - set(${name} TRUE) -endmacro() diff --git a/3rdparty/vreen/vreen/cmake/FindLibraryWithDebug.cmake b/3rdparty/vreen/vreen/cmake/FindLibraryWithDebug.cmake deleted file mode 100644 index 58cd73086..000000000 --- a/3rdparty/vreen/vreen/cmake/FindLibraryWithDebug.cmake +++ /dev/null @@ -1,113 +0,0 @@ -# -# FIND_LIBRARY_WITH_DEBUG -# -> enhanced FIND_LIBRARY to allow the search for an -# optional debug library with a WIN32_DEBUG_POSTFIX similar -# to CMAKE_DEBUG_POSTFIX when creating a shared lib -# it has to be the second and third argument - -# Copyright (c) 2007, Christian Ehrlicher, -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -MACRO(FIND_LIBRARY_WITH_DEBUG var_name win32_dbg_postfix_name dgb_postfix libname) - - IF(NOT "${win32_dbg_postfix_name}" STREQUAL "WIN32_DEBUG_POSTFIX") - - # no WIN32_DEBUG_POSTFIX -> simply pass all arguments to FIND_LIBRARY - FIND_LIBRARY(${var_name} - ${win32_dbg_postfix_name} - ${dgb_postfix} - ${libname} - ${ARGN} - ) - - ELSE(NOT "${win32_dbg_postfix_name}" STREQUAL "WIN32_DEBUG_POSTFIX") - - IF(NOT WIN32) - # on non-win32 we don't need to take care about WIN32_DEBUG_POSTFIX - - FIND_LIBRARY(${var_name} ${libname} ${ARGN}) - - ELSE(NOT WIN32) - - # 1. get all possible libnames - SET(args ${ARGN}) - SET(newargs "") - SET(libnames_release "") - SET(libnames_debug "") - - LIST(LENGTH args listCount) - - IF("${libname}" STREQUAL "NAMES") - SET(append_rest 0) - LIST(APPEND args " ") - - FOREACH(i RANGE ${listCount}) - LIST(GET args ${i} val) - - IF(append_rest) - LIST(APPEND newargs ${val}) - ELSE(append_rest) - IF("${val}" STREQUAL "PATHS") - LIST(APPEND newargs ${val}) - SET(append_rest 1) - ELSE("${val}" STREQUAL "PATHS") - LIST(APPEND libnames_release "${val}") - LIST(APPEND libnames_debug "${val}${dgb_postfix}") - ENDIF("${val}" STREQUAL "PATHS") - ENDIF(append_rest) - - ENDFOREACH(i) - - ELSE("${libname}" STREQUAL "NAMES") - - # just one name - LIST(APPEND libnames_release "${libname}") - LIST(APPEND libnames_debug "${libname}${dgb_postfix}") - - SET(newargs ${args}) - - ENDIF("${libname}" STREQUAL "NAMES") - - # search the release lib - FIND_LIBRARY(${var_name}_RELEASE - NAMES ${libnames_release} - ${newargs} - ) - - # search the debug lib - FIND_LIBRARY(${var_name}_DEBUG - NAMES ${libnames_debug} - ${newargs} - ) - - IF(${var_name}_RELEASE AND ${var_name}_DEBUG) - - # both libs found - SET(${var_name} optimized ${${var_name}_RELEASE} - debug ${${var_name}_DEBUG}) - - ELSE(${var_name}_RELEASE AND ${var_name}_DEBUG) - - IF(${var_name}_RELEASE) - - # only release found - SET(${var_name} ${${var_name}_RELEASE}) - - ELSE(${var_name}_RELEASE) - - # only debug (or nothing) found - SET(${var_name} ${${var_name}_DEBUG}) - - ENDIF(${var_name}_RELEASE) - - ENDIF(${var_name}_RELEASE AND ${var_name}_DEBUG) - - MARK_AS_ADVANCED(${var_name}_RELEASE) - MARK_AS_ADVANCED(${var_name}_DEBUG) - - ENDIF(NOT WIN32) - - ENDIF(NOT "${win32_dbg_postfix_name}" STREQUAL "WIN32_DEBUG_POSTFIX") - -ENDMACRO(FIND_LIBRARY_WITH_DEBUG) diff --git a/3rdparty/vreen/vreen/cmake/FindQCA2.cmake b/3rdparty/vreen/vreen/cmake/FindQCA2.cmake deleted file mode 100644 index 6bfb5fbad..000000000 --- a/3rdparty/vreen/vreen/cmake/FindQCA2.cmake +++ /dev/null @@ -1,8 +0,0 @@ -#find qca2 -include(CommonUtils) -find_module(qca2 - GLOBAL_HEADER qca.h - HEADERS_DIR QtCrypto - LIBRARY_HINTS ${QT_LIBRARY_DIR} - INCLUDE_HINTS ${QT_INCLUDE_DIR} -) diff --git a/3rdparty/vreen/vreen/cmake/FindQOAuth.cmake b/3rdparty/vreen/vreen/cmake/FindQOAuth.cmake deleted file mode 100644 index 2db3d28cb..000000000 --- a/3rdparty/vreen/vreen/cmake/FindQOAuth.cmake +++ /dev/null @@ -1,42 +0,0 @@ -# Find QOAuth -# -# QOAuth_FOUND - system has QOAuth -# QOAuth_INCLUDE_DIR - the QOAuth include directory -# QOAuth_LIBRARIES - the libraries needed to use QOAuth -# QOAuth_DEFINITIONS - Compiler switches required for using QOAuth -# -# Copyright © 2010 Harald Sitter -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -include(FindLibraryWithDebug) - -if (QOAuth_INCLUDE_DIR AND QOAuth_LIBRARIES) - set(QOAuth_FOUND TRUE) -else (QOAuth_INCLUDE_DIR AND QOAuth_LIBRARIES) - if (NOT WIN32) - find_package(PkgConfig) - pkg_check_modules(PC_QOAuth QUIET qoauth) - set(QOAuth_DEFINITIONS ${PC_QOAuth_CFLAGS_OTHER}) - endif (NOT WIN32) - - find_library_with_debug(QOAuth_LIBRARIES - WIN32_DEBUG_POSTFIX d - NAMES qoauth - HINTS ${PC_QOAuth_LIBDIR} ${PC_QOAuth_LIBRARY_DIRS} - ) - - find_path(QOAuth_INCLUDE_DIR QtOAuth - HINTS ${PC_QOAuth_INCLUDEDIR} ${PC_QOAuth_INCLUDE_DIRS} - PATH_SUFFIXES QtOAuth) - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(QOAuth - DEFAULT_MSG - QOAuth_LIBRARIES - QOAuth_INCLUDE_DIR - ) - - mark_as_advanced(QOAuth_INCLUDE_DIR QOAuth_LIBRARIES) -endif (QOAuth_INCLUDE_DIR AND QOAuth_LIBRARIES) diff --git a/3rdparty/vreen/vreen/cmake/FindQt3D.cmake b/3rdparty/vreen/vreen/cmake/FindQt3D.cmake deleted file mode 100644 index 5e1f2a81c..000000000 --- a/3rdparty/vreen/vreen/cmake/FindQt3D.cmake +++ /dev/null @@ -1,6 +0,0 @@ -#find Qt3D -include(CommonUtils) -find_qt_module(Qt3D - GLOBAL_HEADER qt3dglobal.h - HEADERS_DIR Qt3D qt4/Qt3D -) diff --git a/3rdparty/vreen/vreen/cmake/FindQt3DQuick.cmake b/3rdparty/vreen/vreen/cmake/FindQt3DQuick.cmake deleted file mode 100644 index 3734a8582..000000000 --- a/3rdparty/vreen/vreen/cmake/FindQt3DQuick.cmake +++ /dev/null @@ -1,5 +0,0 @@ -#find Qt3D -find_qt_module(Qt3DQuick - GLOBAL_HEADER qt3dquickglobal.h - HEADERS_DIR Qt3DQuick qt4/Qt3DQuick -) diff --git a/3rdparty/vreen/vreen/cmake/MocUtils.cmake b/3rdparty/vreen/vreen/cmake/MocUtils.cmake deleted file mode 100644 index aa9bef8a5..000000000 --- a/3rdparty/vreen/vreen/cmake/MocUtils.cmake +++ /dev/null @@ -1,50 +0,0 @@ -macro(MOC_WRAP_CPP outfiles) - if(NOT CMAKE_AUTOMOC) - # get include dirs - qt4_get_moc_flags(moc_flags) - qt4_extract_options(moc_files moc_options ${ARGN}) - - foreach(it ${moc_files}) - get_filename_component(_abs_file ${it} ABSOLUTE) - get_filename_component(_abs_PATH ${_abs_file} PATH) - get_filename_component(_basename ${it} NAME_WE) - - set(_HAS_MOC false) - - if(EXISTS ${_abs_PATH}/${_basename}.cpp) - set(_header ${_abs_PATH}/${_basename}.cpp) - file(READ ${_header} _contents) - string(REGEX MATCHALL "# *include +[\">]moc_[^ ]+\\.cpp[\">]" _match "${_contents}") - string(REGEX MATCHALL "# *include +[^ ]+\\.moc[\">]" _match2 "${_contents}") - string(REGEX MATCHALL "Q_OBJECT" _match3 "${_contents}") - if(_match) - set(_HAS_MOC true) - foreach(_current_MOC_INC ${_match}) - string(REGEX MATCH "moc_[^ <\"]+\\.cpp" _current_MOC "${_current_MOC_INC}") - set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC}) - qt4_create_moc_command(${_abs_file} ${_moc} "${_moc_INCS}" "") - macro_add_file_dependencies(${_abs_file} ${_moc}) - endforeach(_current_MOC_INC) - endif() - if(_match2) - set(_HAS_MOC true) - foreach(_current_MOC_INC ${_match2}) - string(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}") - set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC}) - qt4_create_moc_command(${_header} ${_moc} "${_moc_INCS}" "") - macro_add_file_dependencies(${_header} ${_moc}) - endforeach (_current_MOC_INC) - endif() - endif() - if(NOT _HAS_MOC) - file(READ ${_abs_file} _contents) - string(REGEX MATCHALL "Q_OBJECT|Q_GADGET" _match2 "${_contents}") - if(_match2) - qt4_make_output_file(${_abs_file} moc_ cpp outfile) - qt4_create_moc_command(${_abs_file} ${outfile} "${moc_flags}" "${moc_options}") - set(${outfiles} ${${outfiles}} ${outfile}) - endif() - endif() - endforeach(it) - endif() -endmacro(MOC_WRAP_CPP) diff --git a/3rdparty/vreen/vreen/cmake/QtBundleUtils.cmake b/3rdparty/vreen/vreen/cmake/QtBundleUtils.cmake deleted file mode 100644 index a5ccc92ff..000000000 --- a/3rdparty/vreen/vreen/cmake/QtBundleUtils.cmake +++ /dev/null @@ -1,106 +0,0 @@ -if(NOT CMAKE_DEBUG_POSTFIX) - if(APPLE) - set(CMAKE_DEBUG_POSTFIX _debug) - elseif(WIN32) - set(CMAKE_DEBUG_POSTFIX d) - endif() -endif() - -macro(DEPLOY_QT_PLUGIN _path) - get_filename_component(_dir ${_path} PATH) - get_filename_component(name ${_path} NAME_WE) - string(TOUPPER ${CMAKE_BUILD_TYPE} _type) - if(${_type} STREQUAL "DEBUG") - set(name "${name}${CMAKE_DEBUG_POSTFIX}") - endif() - - set(name "${CMAKE_SHARED_LIBRARY_PREFIX}${name}") - set(PLUGIN "${QT_PLUGINS_DIR}/${_dir}/${name}${CMAKE_SHARED_LIBRARY_SUFFIX}") - #trying to search lib with suffix 4 - if(NOT EXISTS ${PLUGIN}) - set(name "${name}4") - set(PLUGIN "${QT_PLUGINS_DIR}/${_dir}/${name}${CMAKE_SHARED_LIBRARY_SUFFIX}") - endif() - - #message(${PLUGIN}) - if(EXISTS ${PLUGIN}) - message(STATUS "Deployng ${_path} plugin") - install(FILES ${PLUGIN} DESTINATION "${PLUGINSDIR}/${_dir}" COMPONENT Runtime) - else() - message(STATUS "Could not deploy ${_path} plugin") - endif() -endmacro() - -macro(DEPLOY_QT_PLUGINS) - foreach(plugin ${ARGN}) - deploy_qt_plugin(${plugin}) - endforeach() -endmacro() - -macro(DEPLOY_QML_MODULE _path) - string(TOUPPER ${CMAKE_BUILD_TYPE} _type) - set(_importPath "${QT_IMPORTS_DIR}/${_path}") - if(EXISTS ${_importPath}) - if(WIN32 OR APPLE) - if(${_type} STREQUAL "DEBUG") - set(_libPattern "[^${CMAKE_DEBUG_POSTFIX}]${CMAKE_SHARED_LIBRARY_SUFFIX}$") - else() - set(_libPattern "${CMAKE_DEBUG_POSTFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}$") - endif() - else() - set(_libPattern "^[*]") - endif() - - #evil version - message(STATUS "Deployng ${_path} QtQuick module") - install(DIRECTORY ${_importPath} DESTINATION ${IMPORTSDIR} COMPONENT Runtime - PATTERN "*.pdb" EXCLUDE - REGEX "${_libPattern}" EXCLUDE - ) - else() - message(STATUS "Could not deploy ${_path} QtQuick module") - endif() -endmacro() - -macro(DEPLOY_QML_MODULES) - foreach(plugin ${ARGN}) - deploy_qml_module(${plugin}) - endforeach() -endmacro() - -macro(DEFINE_BUNDLE_PATHS _name) - if(WIN32) - set(BUNDLE_NAME ${_name}.exe) - set(BINDIR bin) - set(BUNDLE_PATH "\${CMAKE_INSTALL_PREFIX}/${BINDIR}/${BUNDLE_NAME}") - set(LIBDIR lib${LIB_SUFFIX}) - set(SHAREDIR share) - set(PLUGINSDIR bin) - set(IMPORTSDIR ${BINDIR}) - set(RLIBDIR ${BINDIR}) - elseif(APPLE) - set(BUNDLE_NAME ${_name}.app) - set(BUNDLE_PATH "\${CMAKE_INSTALL_PREFIX}/${BUNDLE_NAME}") - set(BINDIR ${BUNDLE_NAME}/Contents/MacOS) - set(LIBDIR ${BINDIR}) - set(RLIBDIR ${BUNDLE_NAME}/Contents/Frameworks) - set(SHAREDIR ${BUNDLE_NAME}/Contents/Resources) - set(PLUGINSDIR ${BUNDLE_NAME}/Contents/PlugIns) - set(IMPORTSDIR ${BINDIR}) - else() - set(BUNDLE_NAME ${_name}) - set(BINDIR bin) - set(BUNDLE_PATH "\${CMAKE_INSTALL_PREFIX}/${BINDIR}/${BUNDLE_NAME}") - set(LIBDIR lib${LIB_SUFFIX}) - set(RLIBDIR ${LIBDIR}) - set(SHAREDIR share/apps/${_name}) - set(PLUGINSDIR ${LIBDIR}/plugins/) - set(IMPORTSDIR ${BINDIR}) #)${LIBDIR}/imports) - endif() - - if(APPLE) - set(DEPLOY_APP "${BUNDLE_NAME}") - else() - set(DEPLOY_APP "bin/${BUNDLE_NAME}") - endif() -endmacro() diff --git a/3rdparty/vreen/vreen/cmake/README b/3rdparty/vreen/vreen/cmake/README deleted file mode 100644 index e69de29bb..000000000 diff --git a/3rdparty/vreen/vreen/cmake_uninstall.cmake.in b/3rdparty/vreen/vreen/cmake_uninstall.cmake.in deleted file mode 100644 index 31a573cc2..000000000 --- a/3rdparty/vreen/vreen/cmake_uninstall.cmake.in +++ /dev/null @@ -1,21 +0,0 @@ -IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - MESSAGE(FATAL_ERROR "Cannot find install manifest: "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt"") -ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - -FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) -STRING(REGEX REPLACE "\n" ";" files "${files}") -FOREACH(file ${files}) - MESSAGE(STATUS "Uninstalling "$ENV{DESTDIR}${file}"") - IF(EXISTS "$ENV{DESTDIR}${file}") - EXEC_PROGRAM( - "@CMAKE_COMMAND@" ARGS "-E remove "$ENV{DESTDIR}${file}"" - OUTPUT_VARIABLE rm_out - RETURN_VALUE rm_retval - ) - IF(NOT "${rm_retval}" STREQUAL 0) - MESSAGE(FATAL_ERROR "Problem when removing "$ENV{DESTDIR}${file}"") - ENDIF(NOT "${rm_retval}" STREQUAL 0) - ELSE(EXISTS "$ENV{DESTDIR}${file}") - MESSAGE(STATUS "File "$ENV{DESTDIR}${file}" does not exist.") - ENDIF(EXISTS "$ENV{DESTDIR}${file}") -ENDFOREACH(file) diff --git a/3rdparty/vreen/vreen/src/3rdparty/CMakeLists.txt b/3rdparty/vreen/vreen/src/3rdparty/CMakeLists.txt deleted file mode 100644 index 2bda20263..000000000 --- a/3rdparty/vreen/vreen/src/3rdparty/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -find_package(PkgConfig) -if(PKG_CONFIG_FOUND) - pkg_check_modules(K8JSON k8json) - set(K8JSON_LIBRARIES ${K8JSON_LDFLAGS}) -endif() -if(NOT K8JSON_FOUND) - message(STATUS "Using internal copy of k8json") - set(K8JSON_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} CACHE INTERNAL "") - - list(APPEND SRC "k8json/k8json.cpp") - add_library(k8json STATIC ${SRC}) - target_link_libraries(k8json) - qt_use_modules(k8json Core) - update_compiler_flags(k8json) - add_definitions(-DK8JSON_LIB_MAKEDLL -DK8JSON_INCLUDE_GENERATOR -DK8JSON_INCLUDE_COMPLEX_GENERATOR) - set(K8JSON_LIBRARIES k8json CACHE INTERNAL "") -endif() diff --git a/3rdparty/vreen/vreen/src/3rdparty/k8json/CMakeLists.txt b/3rdparty/vreen/vreen/src/3rdparty/k8json/CMakeLists.txt deleted file mode 100644 index 155448f35..000000000 --- a/3rdparty/vreen/vreen/src/3rdparty/k8json/CMakeLists.txt +++ /dev/null @@ -1,59 +0,0 @@ -project(k8json) -cmake_minimum_required(VERSION 2.6) - -set(CMAKE_LIBK8JSON_VERSION_MAJOR 1 CACHE INT "Major k8json version number" FORCE) -set(CMAKE_LIBK8JSON_VERSION_MINOR 0 CACHE INT "Minor k8json version number" FORCE) -set(CMAKE_LIBK8JSON_VERSION_PATCH 0 CACHE INT "Release k8json version number" FORCE) -set(CMAKE_LIBK8JSON_VERSION_STRING "${CMAKE_LIBK8JSON_VERSION_MAJOR}.${CMAKE_LIBK8JSON_VERSION_MINOR}.${CMAKE_LIBK8JSON_VERSION_PATCH}" CACHE STRING "k8json version string" FORCE) - -add_definitions(-DK8JSON_LIB_MAKEDLL -DK8JSON_INCLUDE_GENERATOR -DK8JSON_INCLUDE_COMPLEX_GENERATOR) - -set(CMAKE_INSTALL_NAME_DIR ${LIB_INSTALL_DIR}) -set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" ) -set(LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING "Library directory name" FORCE) - -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) - -find_package(Qt4 REQUIRED) -include_directories(${QT_INCLUDES}) - -# mingw can't handle exported explicit template instantiations in a DLL -if (MINGW) - set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols ${CMAKE_SHARED_LINKER_FLAGS}") -endif (MINGW) - -set(k8json_SRCS - k8json.cpp -) - -add_library(k8json SHARED ${k8json_SRCS}) - -set_target_properties(k8json PROPERTIES - VERSION ${CMAKE_LIBK8JSON_VERSION_STRING} - SOVERSION ${CMAKE_LIBK8JSON_VERSION_MAJOR} - LINK_INTERFACE_LIBRARIES "" - DEFINE_SYMBOL K8JSON_LIB_MAKEDLL -) - -target_link_libraries(k8json ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY}) - - -install(TARGETS k8json ARCHIVE DESTINATION ${LIB_DESTINATION} - LIBRARY DESTINATION ${LIB_DESTINATION} - RUNTIME DESTINATION bin) - -install(FILES - k8json.h - DESTINATION include/k8json COMPONENT Devel -) - -# Install package config file -if(NOT WIN32) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/k8json.pc.cmake - ${CMAKE_CURRENT_BINARY_DIR}/k8json.pc - ) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/k8json.pc - DESTINATION ${LIB_DESTINATION}/pkgconfig - ) -endif(NOT WIN32) - diff --git a/3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.cpp b/3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.cpp deleted file mode 100644 index af0863c19..000000000 --- a/3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.cpp +++ /dev/null @@ -1,894 +0,0 @@ -/* coded by Ketmar // Vampire Avalon (psyc://ketmar.no-ip.org/~Ketmar) - * Understanding is not required. Only obedience. - * - * This program is free software. It comes without any warranty, to - * the extent permitted by applicable law. You can redistribute it - * and/or modify it under the terms of the Do What The Fuck You Want - * To Public License, Version 2, as published by Sam Hocevar. See - * http://sam.zoy.org/wtfpl/COPYING for more details. - */ -//#include - -#if defined(K8JSON_INCLUDE_COMPLEX_GENERATOR) || defined(K8JSON_INCLUDE_GENERATOR) -# include -#endif - -#include "k8json.h" - - -namespace K8JSON { - -static const quint8 utf8Length[256] = { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0x00-0x0f - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0x10-0x1f - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0x20-0x2f - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0x30-0x3f - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0x40-0x4f - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0x50-0x5f - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0x60-0x6f - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0x70-0x7f - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, //0x80-0x8f - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, //0x90-0x9f - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, //0xa0-0xaf - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, //0xb0-0xbf - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, //0xc0-0xcf c0-c1: overlong encoding: start of a 2-byte sequence, but code point <= 127 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, //0xd0-0xdf - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, //0xe0-0xef - 4,4,4,4,4,8,8,8,8,8,8,8,8,8,8,8 //0xf0-0xff -}; - - -/* - * check if given (const uchar *) represents valid UTF-8 sequence - * NULL (or empty) s is not valid - */ -bool isValidUtf8 (const uchar *s, int maxLen, bool zeroInvalid) { - if (!s) return false; - if (maxLen < 1) return false; - uchar ch = 0; - const uchar *tmpS = s; - while (maxLen > 0) { - ch = *tmpS++; maxLen--; - if (!ch) { - if (maxLen != 0 && zeroInvalid) return false; - break; - } - // ascii or utf-8 - quint8 t = utf8Length[ch]; - if (t&0x08) return false; // invalid utf-8 sequence - if (t) { - // utf-8 - if (maxLen < --t) return false; // invalid utf-8 sequence - while (t--) { - quint8 b = *tmpS++; maxLen--; - if (utf8Length[b] != 9) return false; // invalid utf-8 sequence - } - } - } - return true; -} - - -QString quote (const QString &str) { - int len = str.length(), c; - QString res('"'); res.reserve(len+128); - for (int f = 0; f < len; f++) { - QChar ch(str[f]); - ushort uc = ch.unicode(); - if (uc < 32) { - // control char - switch (uc) { - case '\b': res += "\\b"; break; - case '\f': res += "\\f"; break; - case '\n': res += "\\n"; break; - case '\r': res += "\\r"; break; - case '\t': res += "\\t"; break; - default: - res += "\\u"; - for (c = 4; c > 0; c--) { - ushort n = (uc>>12)&0x0f; - n += '0'+(n>9?7:0); - res += (uchar)n; - } - break; - } - } else { - // normal char - switch (uc) { - case '"': res += "\\\""; break; - case '\\': res += "\\\\"; break; - default: res += ch; break; - } - } - } - res += '"'; - return res; -} - - -/* - * skip blanks and comments - * return ptr to first non-blank char or 0 on error - * 'maxLen' will be changed - */ -const uchar *skipBlanks (const uchar *s, int *maxLength) { - if (!s) return 0; - int maxLen = *maxLength; - if (maxLen < 0) return 0; - while (maxLen > 0) { - // skip blanks - uchar ch = *s++; maxLen--; - if (ch <= ' ') continue; - // skip comments - if (ch == '/') { - if (maxLen < 2) return 0; - switch (*s) { - case '/': - while (maxLen > 0) { - s++; maxLen--; - if (s[-1] == '\n') break; - if (maxLen < 1) return 0; - } - break; - case '*': - s++; maxLen--; // skip '*' - while (maxLen > 0) { - s++; maxLen--; - if (s[-1] == '*' && s[0] == '/') { - s++; maxLen--; // skip '/' - break; - } - if (maxLen < 2) return 0; - } - break; - default: return 0; // error - } - continue; - } - // it must be a token - s--; maxLen++; - break; - } - // done - *maxLength = maxLen; - return s; -} - - -//FIXME: table? -static inline bool isValidIdChar (const uchar ch) { - return ( - ch == '$' || ch == '_' || ch >= 128 || - (ch >= '0' && ch <= '9') || - (ch >= 'A' && ch <= 'Z') || - (ch >= 'a' && ch <= 'z') - ); -} - -/* - * skip one record - * the 'record' is either one full field ( field: val) - * or one list/object. - * return ptr to the first non-blank char after the record (or 0) - * 'maxLen' will be changed - */ -const uchar *skipRec (const uchar *s, int *maxLength) { - if (!s) return 0; - int maxLen = *maxLength; - if (maxLen < 0) return 0; - int fieldNameSeen = 0; - bool again = true; - while (again && maxLen > 0) { - // skip blanks - if (!(s = skipBlanks(s, &maxLen))) return 0; - if (!maxLen) break; - uchar qch, ch = *s++; maxLen--; - // fieldNameSeen<1: no field name was seen - // fieldNameSeen=1: waiting for ':' - // fieldNameSeen=2: field name was seen, ':' was seen too, waiting for value - // fieldNameSeen=3: everything was seen, waiting for terminator - //fprintf(stderr, " ch=[%c]; fns=%i\n", ch, fieldNameSeen); - if (ch == ':') { - if (fieldNameSeen != 1) return 0; // wtf? - fieldNameSeen++; - continue; - } - // it must be a token, skip it - again = false; - //fprintf(stderr, " s=%s\n==========\n", s); - switch (ch) { - case '{': case '[': - if (fieldNameSeen == 1) return 0; // waiting for delimiter; error - fieldNameSeen = 3; - // recursive skip - qch = (ch=='{' ? '}' : ']'); // end char - if (!(s = skipBlanks(s, &maxLen))) return 0; - if (maxLen < 1 || *s != qch) { - //fprintf(stderr, " [%c]\n", *s); - for (;;) { - if (!(s = skipRec(s, &maxLen))) return 0; - if (maxLen < 1) return 0; // no closing char - ch = *s++; maxLen--; - if (ch == ',') continue; // skip next field/value pair - if (ch == qch) break; // end of the list or object - return 0; // error! - } - } else { - //fprintf(stderr, "empty!\n"); - s++; maxLen--; // skip terminator - } - //fprintf(stderr, "[%s]\n", s); - break; - case ']': case '}': case ',': // terminator - //fprintf(stderr, " term [%c] (%i)\n", ch, fieldNameSeen); - if (fieldNameSeen != 3) return 0; // incomplete field - s--; maxLen++; // back to this char - break; - case '"': case '\x27': // string - if (fieldNameSeen == 1 || fieldNameSeen > 2) return 0; // no delimiter - //fprintf(stderr, "000\n"); - fieldNameSeen++; - qch = ch; - while (*s && maxLen > 0) { - ch = *s++; maxLen--; - if (ch == qch) { s--; maxLen++; break; } - if (ch != '\\') continue; - if (maxLen < 2) return 0; // char and quote - ch = *s++; maxLen--; - switch (ch) { - case 'u': - if (maxLen < 5) return 0; - if (s[0] == qch || s[0] == '\\' || s[1] == qch || s[1] == '\\') return 0; - s += 2; maxLen -= 2; - // fallthru - case 'x': - if (maxLen < 3) return 0; - if (s[0] == qch || s[0] == '\\' || s[1] == qch || s[1] == '\\') return 0; - s += 2; maxLen -= 2; - break; - case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': - if (maxLen < 4) return 0; - if (s[0] == qch || s[0] == '\\' || s[1] == qch || s[1] == '\\' || s[2] == qch || s[2] == '\\') return 0; - s += 3; maxLen -= 3; - break; - default: ; // escaped char already skiped - } - } - //fprintf(stderr, " str [%c]; ml=%i\n", *s, maxLen); - if (maxLen < 1 || *s != qch) return 0; // error - s++; maxLen--; // skip quote - //fprintf(stderr, " 001\n"); - again = true; - break; - default: // we can check for punctuation here, but i'm too lazy to do it - if (fieldNameSeen == 1 || fieldNameSeen > 2) return 0; // no delimiter - fieldNameSeen++; - if (isValidIdChar(ch) || ch == '-' || ch == '.' || ch == '+') { - // good token, skip it - again = true; // just a token, skip it and go on - // check for valid utf8? - while (*s && maxLen > 0) { - ch = *s++; maxLen--; - if (ch != '.' && ch != '-' && ch != '+' && !isValidIdChar(ch)) { - s--; maxLen++; - break; - } - } - } else return 0; // error - } - } - if (fieldNameSeen != 3) return 0; - // skip blanks - if (!(s = skipBlanks(s, &maxLen))) return 0; - // done - *maxLength = maxLen; - return s; -} - - -/* - * parse json-quoted string. a relaxed parser, it allows "'"-quoted strings, - * whereas json standard does not. also \x and \nnn are allowed. - * return position after the string or 0 - * 's' should point to the quote char on entry - */ -static const uchar *parseString (QString &str, const uchar *s, int *maxLength) { - if (!s) return 0; - int maxLen = *maxLength; - if (maxLen < 2) return 0; - uchar ch = 0, qch = *s++; maxLen--; - if (qch != '"' && qch != '\x27') return 0; - // calc string length and check string for correctness - int strLen = 0, tmpLen = maxLen; - const uchar *tmpS = s; - while (tmpLen > 0) { - ch = *tmpS++; tmpLen--; strLen++; - if (ch == qch) break; - if (ch != '\\') { - // ascii or utf-8 - quint8 t = utf8Length[ch]; - if (t&0x08) return 0; // invalid utf-8 sequence - if (t) { - // utf-8 - if (tmpLen < t) return 0; // invalid utf-8 sequence - while (--t) { - quint8 b = *tmpS++; tmpLen--; - if (utf8Length[b] != 9) return 0; // invalid utf-8 sequence - } - } - continue; - } - // escape sequence - ch = *tmpS++; tmpLen--; //!strLen++; - if (tmpLen < 2) return 0; - int hlen = 0; - switch (ch) { - case 'u': hlen = 4; - case 'x': - if (!hlen) hlen = 2; - if (tmpLen < hlen+1) return 0; - while (hlen-- > 0) { - ch = *tmpS++; tmpLen--; - if (ch >= 'a') ch -= 32; - if (!(ch >= '0' && ch <= '9') && !(ch >= 'A' && ch <= 'F')) return 0; - } - hlen = 0; - break; - case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': // octal char - if (tmpLen < 3) return 0; - for (hlen = 2; hlen > 0; hlen--) { - ch = *tmpS++; tmpLen--; - if (ch < '0' || ch > '7') return 0; - } - break; - case '"': case '\x27': ch = 0; break; - default: ; // one escaped char; will be checked later - } - } - if (ch != qch) return 0; // no terminating quote - // - str.reserve(str.length()+strLen+1); - ch = 0; - while (maxLen > 0) { - ch = *s++; maxLen--; - if (ch == qch) break; - if (ch != '\\') { - // ascii or utf-8 - quint8 t = utf8Length[ch]; - if (!t) str.append(ch); // ascii - else { - // utf-8 - int u = 0; s--; maxLen++; - while (t--) { - quint8 b = *s++; maxLen--; - u = (u<<6)+(b&0x3f); - } - if (u > 0x10ffff) u &= 0xffff; - if ((u >= 0xd800 && u <= 0xdfff) || // utf16/utf32 surrogates - (u >= 0xfdd0 && u <= 0xfdef) || // just for fun - (u >= 0xfffe && u <= 0xffff)) continue; // bad unicode, skip it - QChar zch(u); - str.append(zch); - } - continue; - } - ch = *s++; maxLen--; // at least one char left here - int uu = 0; int escCLen = 0; - switch (ch) { - case 'u': // unicode char, 4 hex digits - escCLen = 4; - // fallthru - case 'x': { // ascii char, 2 hex digits - if (!escCLen) escCLen = 2; - while (escCLen-- > 0) { - ch = *s++; maxLen--; - if (ch >= 'a') ch -= 32; - uu = uu*16+ch-'0'; - if (ch >= 'A'/* && ch <= 'F'*/) uu -= 7; - } - if (uu > 0x10ffff) uu &= 0xffff; - if ((uu >= 0xd800 && uu <= 0xdfff) || // utf16/utf32 surrogates - (uu >= 0xfdd0 && uu <= 0xfdef) || // just for fun - (uu >= 0xfffe && uu <= 0xffff)) uu = -1; // bad unicode, skip it - if (uu >= 0) { - QChar zch(uu); - str.append(zch); - } - } break; - case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': { // octal char - s--; maxLen++; - uu = 0; - for (int f = 3; f > 0; f--) { - ch = *s++; maxLen--; - uu = uu*8+ch-'0'; - } - QChar zch(uu); - str.append(zch); - } break; - case '\\': str.append('\\'); break; - case '/': str.append('/'); break; - case 'b': str.append('\b'); break; - case 'f': str.append('\f'); break; - case 'n': str.append('\n'); break; - case 'r': str.append('\r'); break; - case 't': str.append('\t'); break; - case '"': case '\x27': str.append(ch); break; - default: - // non-standard! - if (ch != '\t' && ch != '\r' && ch != '\n') return 0; // all other chars are BAD - str.append(ch); - } - } - if (ch != qch) return 0; - *maxLength = maxLen; - return s; -} - - -/* - * parse identifier - */ -static const uchar *parseId (QString &str, const uchar *s, int *maxLength) { - if (!s) return 0; - int maxLen = *maxLength; - if (maxLen < 1) return 0; - uchar ch = 0; - // calc string length and check string for correctness - int strLen = 0, tmpLen = maxLen; - const uchar *tmpS = s; - while (tmpLen > 0) { - ch = *tmpS++; - if (!isValidIdChar(ch)) { - if (!strLen) return 0; - break; - } - tmpLen--; strLen++; - // ascii or utf-8 - quint8 t = utf8Length[ch]; - if (t&0x08) return 0; // invalid utf-8 sequence - if (t) { - // utf-8 - if (tmpLen < t) return 0; // invalid utf-8 sequence - while (--t) { - quint8 b = *tmpS++; tmpLen--; - if (utf8Length[b] != 9) return 0; // invalid utf-8 sequence - } - } - continue; - } -/* - str = "true"; - while (isValidIdChar(*s)) { s++; (*maxLength)--; } - return s; -*/ - // - str.reserve(str.length()+strLen+1); - ch = 0; - while (maxLen > 0) { - ch = *s++; maxLen--; - if (!isValidIdChar(ch)) { s--; maxLen++; break; } - // ascii or utf-8 - quint8 t = utf8Length[ch]; - if (!t) str.append(ch); // ascii - else { - // utf-8 - int u = 0; s--; maxLen++; - while (t--) { - quint8 ch = *s++; maxLen--; - u = (u<<6)+(ch&0x3f); - } - if (u > 0x10ffff) u &= 0xffff; - if ((u >= 0xd800 && u <= 0xdfff) || // utf16/utf32 surrogates - (u >= 0xfdd0 && u <= 0xfdef) || // just for fun - (u >= 0xfffe && u <= 0xffff)) continue; // bad unicode, skip it - QChar zch(u); - str.append(zch); - } - continue; - } - *maxLength = maxLen; - return s; -} - - -/* - * parse number - */ -//TODO: parse 0x... -static const uchar *parseNumber (QVariant &num, const uchar *s, int *maxLength) { - if (!s) return 0; - int maxLen = *maxLength; - if (maxLen < 1) return 0; - uchar ch = *s++; maxLen--; - // check for negative number - bool negative = false, fr = false; - double fnum = 0.0; - switch (ch) { - case '-': - if (maxLen < 1) return 0; - ch = *s++; maxLen--; - negative = true; - break; - case '+': - if (maxLen < 1) return 0; - ch = *s++; maxLen--; - break; - default: ; - } - if (ch != '.' && (ch < '0' || ch > '9')) return 0; // invalid integer part, no fraction part - if (ch == '0' && *maxLength > 0 && *s == 'x') { - // hex number - s++; (*maxLength)--; // skip 'x' - bool wasDigit = false; - for (;;) { - if (*maxLength < 1) break; - uchar ch = *s++; (*maxLength)--; - //if (ch >= 'a' && ch <= 'f') ch -= 32; - if (ch >= '0' && ch <= '9') { - fnum *= 16; fnum += ch-'0'; - } else if (ch >= 'A' && ch <= 'F') { - fnum *= 16; fnum += ch-'A'+10; - } else if (ch >= 'a' && ch <= 'f') { - fnum *= 16; fnum += ch-'a'+10; - } else break; - wasDigit = true; - } - if (!wasDigit) return 0; - goto backanddone; - } - // parse integer part - while (ch >= '0' && ch <= '9') { - ch -= '0'; - fnum = fnum*10+ch; - if (!maxLen) goto done; - ch = *s++; maxLen--; - } - // check for fractional part - if (ch == '.') { - // parse fractional part - if (maxLen < 1) return 0; - ch = *s++; maxLen--; - double frac = 0.1; fr = true; - if (ch < '0' || ch > '9') return 0; // invalid fractional part - while (ch >= '0' && ch <= '9') { - ch -= '0'; - fnum += frac*ch; - if (!maxLen) goto done; - frac /= 10; - ch = *s++; maxLen--; - } - } - // check for exp part - if (ch == 'e' || ch == 'E') { - if (maxLen < 1) return 0; - // check for exp sign - bool expNeg = false; - ch = *s++; maxLen--; - if (ch == '+' || ch == '-') { - if (maxLen < 1) return 0; - expNeg = (ch == '-'); - ch = *s++; maxLen--; - } - // check for exp digits - if (ch < '0' || ch > '9') return 0; // invalid exp - quint32 exp = 0; // 64? %-) - while (ch >= '0' && ch <= '9') { - exp = exp*10+ch-'0'; - if (!maxLen) { s++; maxLen--; break; } - ch = *s++; maxLen--; - } - while (exp--) { - if (expNeg) fnum /= 10; else fnum *= 10; - } - if (expNeg && !fr) { - if (fnum > 2147483647.0 || ((qint64)fnum)*1.0 != fnum) fr = true; - } - } -backanddone: - s--; maxLen++; -done: - if (!fr && fnum > 2147483647.0) fr = true; - if (negative) fnum = -fnum; - if (fr) num = fnum; else num = (qint32)fnum; - *maxLength = maxLen; - return s; -} - - -static const QString sTrue("true"); -static const QString sFalse("false"); -static const QString sNull("null"); - - -/* - * parse field value - * return ptr to the first non-blank char after the value (or 0) - * 'maxLen' will be changed - */ -const uchar *parseValue (QVariant &fvalue, const uchar *s, int *maxLength) { - fvalue.clear(); - if (!(s = skipBlanks(s, maxLength))) return 0; - if (*maxLength < 1) return 0; - switch (*s) { - case '-': case '+': case '.': // '+' and '.' are not in specs! - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - // number - if (!(s = parseNumber(fvalue, s, maxLength))) return 0; - break; - case 't': // true? - if (*maxLength < 4) return 0; - if (s[1] != 'r' || s[2] != 'u' || s[3] != 'e') return 0; - if (*maxLength > 4 && isValidIdChar(s[4])) return 0; - s += 4; (*maxLength) -= 4; - fvalue = true; - break; - case 'f': // false? - if (*maxLength < 5) return 0; - if (s[1] != 'a' || s[2] != 'l' || s[3] != 's' || s[4] != 'e') return 0; - if (*maxLength > 5 && isValidIdChar(s[5])) return 0; - s += 5; (*maxLength) -= 5; - fvalue = false; - break; - case 'n': // null? - if (*maxLength < 4) return 0; - if (s[1] != 'u' || s[2] != 'l' || s[3] != 'l') return 0; - if (*maxLength > 4 && isValidIdChar(s[4])) return 0; - s += 4; (*maxLength) -= 4; - // fvalue is null already - break; - case '"': case '\x27': { - // string - QString tmp; - if (!(s = parseString(tmp, s, maxLength))) return 0; - fvalue = tmp; - } - break; - case '{': case '[': - // object or list - if (!(s = parseRecord(fvalue, s, maxLength))) return 0; - break; - default: // unknown - return 0; - } - if (!(s = skipBlanks(s, maxLength))) return 0; - return s; -} - - -/* - * parse one field (f-v pair) - * return ptr to the first non-blank char after the record (or 0) - * 'maxLen' will be changed - */ -const uchar *parseField (QString &fname, QVariant &fvalue, const uchar *s, int *maxLength) { - if (!s) return 0; - //int maxLen = *maxLength; - fname.clear(); - fvalue.clear(); - if (!(s = skipBlanks(s, maxLength))) return 0; - if (*maxLength < 1) return 0; - uchar ch = *s; - // field name - if (isValidIdChar(ch)) { - // id - if (!(s = parseId(fname, s, maxLength))) return 0; - } else if (ch == '"' || ch == '\x27') { - // string - if (!(s = parseString(fname, s, maxLength))) return 0; - } - // ':' - if (!(s = skipBlanks(s, maxLength))) return 0; - if (*maxLength < 2 || *s != ':') return 0; - s++; (*maxLength)--; - // field value - return parseValue(fvalue, s, maxLength); -} - - -/* - * parse one record (list or object) - * return ptr to the first non-blank char after the record (or 0) - * 'maxLen' will be changed - */ -const uchar *parseRecord (QVariant &res, const uchar *s, int *maxLength) { - if (!s) return 0; - //int maxLen = *maxLength; - res.clear(); - if (!(s = skipBlanks(s, maxLength))) return 0; - if (*maxLength < 1) return 0; - // field name or list/object start - QString str; QVariant val; - uchar ch = *s; - bool isList = false; - switch (ch) { - case '[': isList = true; // list, fallthru - case '{': { // object - if (*maxLength < 2) return 0; - uchar ech = isList ? ']' : '}'; - s++; (*maxLength)--; - if (!(s = skipBlanks(s, maxLength))) return 0; - QVariantMap obj; QVariantList lst; - if (*maxLength < 1 || *s != ech) { - for (;;) { - if (isList) { - // list, only values - if (!(s = parseValue(val, s, maxLength))) return 0; - lst << val; - } else { - // object, full fields - if (!(s = parseField(str, val, s, maxLength))) return 0; - obj[str] = val; - } - if (*maxLength > 0) { - bool wasComma = false; - // skip commas - while (true) { - if (!(s = skipBlanks(s, maxLength))) return 0; - if (*maxLength < 1) { ch = '\0'; wasComma = false; break; } - ch = *s; - if (ch == ech) { s++; (*maxLength)--; break; } - if (ch != ',') break; - s++; (*maxLength)--; - wasComma = true; - } - if (ch == ech) break; // end of the object/list - if (wasComma) continue; - // else error - } - // error - s = 0; - break; - } - } else { - s++; (*maxLength)--; - } - if (isList) res = lst; else res = obj; - return s; - } // it will never comes here - default: ; - } - if (!(s = parseField(str, val, s, maxLength))) return 0; - QVariantMap obj; - obj[str] = val; - res = obj; - return s; -} - - -#ifdef K8JSON_INCLUDE_GENERATOR -# ifndef K8JSON_INCLUDE_COMPLEX_GENERATOR -# define _K8_JSON_COMPLEX_WORD static -# else -# define _K8_JSON_COMPLEX_WORD -# endif -#else -# ifdef K8JSON_INCLUDE_COMPLEX_GENERATOR -# define _K8_JSON_COMPLEX_WORD -# endif -#endif - -#if defined(K8JSON_INCLUDE_COMPLEX_GENERATOR) || defined(K8JSON_INCLUDE_GENERATOR) -# ifndef K8JSON_INCLUDE_COMPLEX_GENERATOR -typedef bool (*generatorCB) (void *udata, QString &err, QByteArray &res, const QVariant &val, int indent); -# endif - -_K8_JSON_COMPLEX_WORD bool generateExCB (void *udata, generatorCB cb, QString &err, QByteArray &res, const QVariant &val, int indent) { - switch (val.type()) { - case QVariant::Invalid: res += "null"; break; - case QVariant::Bool: res += (val.toBool() ? "true" : "false"); break; - case QVariant::Char: res += quote(QString(val.toChar())).toUtf8(); break; - case QVariant::Double: res += QString::number(val.toDouble()).toLatin1(); break; //CHECKME: is '.' always '.'? - case QVariant::Int: res += QString::number(val.toInt()).toLatin1(); break; - case QVariant::LongLong: res += QString::number(val.toLongLong()).toLatin1(); break; - case QVariant::UInt: res += QString::number(val.toUInt()).toLatin1(); break; - case QVariant::ULongLong: res += QString::number(val.toULongLong()).toLatin1(); break; - case QVariant::String: res += quote(val.toString()).toUtf8(); break; - case QVariant::Map: { - //for (int c = indent; c > 0; c--) res += ' '; - res += "{"; - indent++; bool comma = false; - QVariantMap m(val.toMap()); - QVariantMap::const_iterator i; - for (i = m.constBegin(); i != m.constEnd(); ++i) { - if (comma) res += ",\n"; else { res += '\n'; comma = true; } - for (int c = indent; c > 0; c--) res += ' '; - res += quote(i.key()).toUtf8(); - res += ": "; - if (!generateExCB(udata, cb, err, res, i.value(), indent)) return false; - } - indent--; - if (comma) { - res += '\n'; - for (int c = indent; c > 0; c--) res += ' '; - } - res += '}'; - indent--; - } break; - case QVariant::Hash: { - //for (int c = indent; c > 0; c--) res += ' '; - res += "{"; - indent++; bool comma = false; - QVariantHash m(val.toHash()); - QVariantHash::const_iterator i; - for (i = m.constBegin(); i != m.constEnd(); ++i) { - if (comma) res += ",\n"; else { res += '\n'; comma = true; } - for (int c = indent; c > 0; c--) res += ' '; - res += quote(i.key()).toUtf8(); - res += ": "; - if (!generateExCB(udata, cb, err, res, i.value(), indent)) return false; - } - indent--; - if (comma) { - res += '\n'; - for (int c = indent; c > 0; c--) res += ' '; - } - res += '}'; - indent--; - } break; - case QVariant::List: { - //for (int c = indent; c > 0; c--) res += ' '; - res += "["; - indent++; bool comma = false; - QVariantList m(val.toList()); - foreach (const QVariant &v, m) { - if (comma) res += ",\n"; else { res += '\n'; comma = true; } - for (int c = indent; c > 0; c--) res += ' '; - if (!generateExCB(udata, cb, err, res, v, indent)) return false; - } - indent--; - if (comma) { - res += '\n'; - for (int c = indent; c > 0; c--) res += ' '; - } - res += ']'; - indent--; - } break; - case QVariant::StringList: { - //for (int c = indent; c > 0; c--) res += ' '; - res += "["; - indent++; bool comma = false; - QStringList m(val.toStringList()); - foreach (const QString &v, m) { - if (comma) res += ",\n"; else { res += '\n'; comma = true; } - for (int c = indent; c > 0; c--) res += ' '; - res += quote(v).toUtf8(); - } - indent--; - if (comma) { - res += '\n'; - for (int c = indent; c > 0; c--) res += ' '; - } - res += ']'; - indent--; - } break; - default: - if (cb) return cb(udata, err, res, val, indent); - err = QString("invalid variant type: %1").arg(val.typeName()); - return false; - } - return true; -} - - -_K8_JSON_COMPLEX_WORD bool generateCB (void *udata, generatorCB cb, QByteArray &res, const QVariant &val, int indent) { - QString err; - return generateExCB(udata, cb, err, res, val, indent); -} -#endif - - -#ifdef K8JSON_INCLUDE_GENERATOR -bool generateEx (QString &err, QByteArray &res, const QVariant &val, int indent) { - return generateExCB(0, 0, err, res, val, indent); -} - - -bool generate (QByteArray &res, const QVariant &val, int indent) { - QString err; - return generateExCB(0, 0, err, res, val, indent); -} -#endif - - -} diff --git a/3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.h b/3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.h deleted file mode 100644 index 2b8a724e4..000000000 --- a/3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.h +++ /dev/null @@ -1,130 +0,0 @@ -/* coded by Ketmar // Vampire Avalon (psyc://ketmar.no-ip.org/~Ketmar) - * Understanding is not required. Only obedience. - * - * This program is free software. It comes without any warranty, to - * the extent permitted by applicable law. You can redistribute it - * and/or modify it under the terms of the Do What The Fuck You Want - * To Public License, Version 2, as published by Sam Hocevar. See - * http://sam.zoy.org/wtfpl/COPYING for more details. - */ -#ifndef K8JSON_H -#define K8JSON_H - -//#define K8JSON_INCLUDE_GENERATOR -//#define K8JSON_INCLUDE_COMPLEX_GENERATOR - - -#include -#include -#include -#include -#include - -#if defined(K8JSON_INCLUDE_COMPLEX_GENERATOR) || defined(K8JSON_INCLUDE_GENERATOR) -# include -#endif - -#if defined(K8JSON_LIB_MAKEDLL) -# define K8JSON_EXPORT Q_DECL_EXPORT -#elif defined(K8JSON_LIB_DLL) -# define K8JSON_EXPORT Q_DECL_IMPORT -#else -# define K8JSON_EXPORT -#endif - - -namespace K8JSON { - -/* - * quote string to JSON-friendly format, add '"' - */ -K8JSON_EXPORT QString quote (const QString &str); - -/* - * check if given (const uchar *) represents valid UTF-8 sequence - * NULL (or empty) s is not valid - * sequence ends on '\0' if zeroInvalid==false - */ -K8JSON_EXPORT bool isValidUtf8 (const uchar *s, int maxLen, bool zeroInvalid=false); - - -/* - * skip blanks and comments - * return ptr to first non-blank char or 0 on error - * 'maxLen' will be changed - */ -K8JSON_EXPORT const uchar *skipBlanks (const uchar *s, int *maxLength); - -/* - * skip one record - * the 'record' is either one full field ( field: val) - * or one list/object. - * return ptr to the first non-blank char after the record (or 0) - * 'maxLen' will be changed - */ -K8JSON_EXPORT const uchar *skipRec (const uchar *s, int *maxLength); - -/* - * parse field value - * return ptr to the first non-blank char after the value (or 0) - * 'maxLen' will be changed - */ -K8JSON_EXPORT const uchar *parseValue (QVariant &fvalue, const uchar *s, int *maxLength); - - -/* - * parse one field (f-v pair) - * return ptr to the first non-blank char after the record (or 0) - * 'maxLen' will be changed - */ -K8JSON_EXPORT const uchar *parseField (QString &fname, QVariant &fvalue, const uchar *s, int *maxLength); - -/* - * parse one record (list or object) - * return ptr to the first non-blank char after the record (or 0) - * 'maxLen' will be changed - */ -K8JSON_EXPORT const uchar *parseRecord (QVariant &res, const uchar *s, int *maxLength); - - -#ifdef K8JSON_INCLUDE_GENERATOR -/* - * generate JSON text from variant - * 'err' must be empty (generateEx() will not clear it) - * return false on error - */ -K8JSON_EXPORT bool generateEx (QString &err, QByteArray &res, const QVariant &val, int indent=0); - -/* - * same as above, but without error message - */ -K8JSON_EXPORT bool generate (QByteArray &res, const QVariant &val, int indent=0); -#endif - - -#ifdef K8JSON_INCLUDE_COMPLEX_GENERATOR -/* - * callback for unknown variant type - * return false and set 'err' on error - * or return true and *add* converted value (valid sequence of utf-8 bytes) to res - */ -typedef bool (*generatorCB) (void *udata, QString &err, QByteArray &res, const QVariant &val, int indent); - -/* - * generate JSON text from variant - * 'err' must be empty (generateEx() will not clear it) - * return false on error - */ -K8JSON_EXPORT bool generateExCB (void *udata, generatorCB cb, QString &err, QByteArray &res, const QVariant &val, int indent=0); - -/* - * same as above, but without error message - */ -K8JSON_EXPORT bool generateCB (void *udata, generatorCB cb, QByteArray &res, const QVariant &val, int indent=0); -#endif - - -} - - -#endif diff --git a/3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.pc.cmake b/3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.pc.cmake deleted file mode 100644 index 6c51050c7..000000000 --- a/3rdparty/vreen/vreen/src/3rdparty/k8json/k8json.pc.cmake +++ /dev/null @@ -1,12 +0,0 @@ -prefix=${CMAKE_INSTALL_PREFIX} -exec_prefix=${CMAKE_INSTALL_PREFIX}/bin -libdir=${LIB_DESTINATION} -includedir=${CMAKE_INSTALL_PREFIX}/include - -Name: k8json -Description: Small and fast Qt JSON parser -Requires: QtCore -Version: ${CMAKE_LIBK8JSON_VERSION_MAJOR}.${CMAKE_LIBK8JSON_VERSION_MINOR}.${CMAKE_LIBK8JSON_VERSION_PATCH} -Libs: -L${LIB_DESTINATION} -lk8json -Cflags: -I${CMAKE_INSTALL_PREFIX}/include - diff --git a/3rdparty/vreen/vreen/src/CMakeLists.txt b/3rdparty/vreen/vreen/src/CMakeLists.txt deleted file mode 100644 index d7845a034..000000000 --- a/3rdparty/vreen/vreen/src/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -if(NOT VREEN_INSTALL_HEADERS) - set(INTERNAL_FLAG "INTERNAL") -endif() -if(VREEN_DEVELOPER_BUILD) - set(DEVELOPER_FLAG "DEVELOPER") -endif() - -add_subdirectory(3rdparty) -add_subdirectory(api) diff --git a/3rdparty/vreen/vreen/src/api/CMakeLists.txt b/3rdparty/vreen/vreen/src/api/CMakeLists.txt deleted file mode 100644 index d9a7b1de2..000000000 --- a/3rdparty/vreen/vreen/src/api/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -add_simple_library(vreen - STATIC CXX11 - ${INTERNAL_FLAG} - ${DEVELOPER_FLAG} - DEFINE_SYMBOL VK_LIBRARY - DEFINES "K8JSON_INCLUDE_GENERATOR;K8JSON_INCLUDE_COMPLEX_GENERATOR" - VERSION ${CMAKE_VREEN_VERSION_STRING} - SOVERSION ${CMAKE_VREEN_VERSION_MAJOR} - LIBRARIES ${K8JSON_LIBRARIES} - INCLUDES ${K8JSON_INCLUDE_DIRS} - INCLUDE_DIR vreen - PKGCONFIG_TEMPLATE vreen.pc.cmake - QT Core Network Gui -) diff --git a/3rdparty/vreen/vreen/src/api/abstractlistmodel.cpp b/3rdparty/vreen/vreen/src/api/abstractlistmodel.cpp deleted file mode 100644 index f6890a3af..000000000 --- a/3rdparty/vreen/vreen/src/api/abstractlistmodel.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "abstractlistmodel.h" -#include - -namespace Vreen { - -AbstractListModel::AbstractListModel(QObject *parent) : - QAbstractListModel(parent) -{ -} - -QVariantMap AbstractListModel::get(int row) -{ - auto roles = roleNames(); - QVariantMap map; - auto index = createIndex(row, 0); - for (auto it = roles.constBegin(); it != roles.constEnd(); it++) { - auto value = data(index, it.key()); - map.insert(it.value(), value); - } - return map; -} - -QVariant AbstractListModel::get(int row, const QByteArray &field) -{ - auto index = createIndex(row, 0); - return data(index, roleNames().key(field)); -} - -} //namespace Vreen - diff --git a/3rdparty/vreen/vreen/src/api/abstractlistmodel.h b/3rdparty/vreen/vreen/src/api/abstractlistmodel.h deleted file mode 100644 index 90d8ce3c6..000000000 --- a/3rdparty/vreen/vreen/src/api/abstractlistmodel.h +++ /dev/null @@ -1,45 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef ABSTRACTLISTMODEL_H -#define ABSTRACTLISTMODEL_H - -#include -#include "vk_global.h" - -namespace Vreen { - -class VK_SHARED_EXPORT AbstractListModel : public QAbstractListModel -{ - Q_OBJECT -public: - explicit AbstractListModel(QObject *parent = 0); - Q_INVOKABLE QVariantMap get(int row); - Q_INVOKABLE QVariant get(int row, const QByteArray &field); -}; - -} //namespace Vreen - -#endif // ABSTRACTLISTMODEL_H - diff --git a/3rdparty/vreen/vreen/src/api/attachment.cpp b/3rdparty/vreen/vreen/src/api/attachment.cpp deleted file mode 100644 index 06c2e793d..000000000 --- a/3rdparty/vreen/vreen/src/api/attachment.cpp +++ /dev/null @@ -1,234 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "attachment.h" -#include -#include - -namespace Vreen { - -QDataStream &operator <<(QDataStream &out, const Vreen::Attachment &item) -{ - return out << item.data(); -} - -QDataStream &operator >>(QDataStream &out, Vreen::Attachment &item) -{ - QVariantMap data; - out >> data; - item.setData(data); - return out; -} - -const static QStringList types = QStringList() - << "photo" - << "posted_photo" - << "video" - << "audio" - << "doc" - << "graffiti" - << "link" - << "note" - << "app" - << "poll" - << "page"; - -class AttachmentData : public QSharedData { -public: - AttachmentData() : QSharedData(), - type(Attachment::Other), - ownerId(0), - mediaId(0) {} - AttachmentData(const AttachmentData &o) : QSharedData(o), - type(o.type), - ownerId(o.ownerId), - mediaId(o.mediaId), - data(o.data) {} - Attachment::Type type; - int ownerId; - int mediaId; - QVariantMap data; - - static Attachment::Type getType(const QString &type) - { - return static_cast(types.indexOf(type)); - } -}; - -/*! - * \brief The Attachment class - * Api reference: \link http://vk.com/developers.php?oid=-1&p=Описание_поля_attachments - */ - -/*! - * \brief Attachment::Attachment - */ -Attachment::Attachment() : d(new AttachmentData) -{ -} - -Attachment::Attachment(const QVariantMap &data) : d(new AttachmentData) -{ - setData(data); -} - -Attachment::Attachment(const QString &string) : d(new AttachmentData) -{ - QRegExp regex("(\\w+)(\\d+)_(\\d+)"); - regex.indexIn(string); - //convert type to enum - d->data.insert("type", d->type = AttachmentData::getType(regex.cap(1))); - d->ownerId = regex.cap(2).toInt(); - d->mediaId = regex.cap(3).toInt(); -} - -Attachment::Attachment(const Attachment &rhs) : d(rhs.d) -{ -} - -Attachment &Attachment::operator=(const Attachment &rhs) -{ - if (this != &rhs) - d.operator=(rhs.d); - return *this; -} - -Attachment::~Attachment() -{ -} - -void Attachment::setData(const QVariantMap &data) -{ - d->data.clear(); - QString type = data.value("type").toString(); - - //move properties to top level - auto map = data.value(type).toMap(); - for (auto it = map.constBegin(); it != map.constEnd(); it++) - d->data.insert(it.key(), it.value()); - //convert type to enum - d->data.insert("type", d->type = AttachmentData::getType(type)); -} - -QVariantMap Attachment::data() const -{ - return d->data; -} - -Attachment::Type Attachment::type() const -{ - return d->type; -} - -void Attachment::setType(Attachment::Type type) -{ - d->type = type; -} - -void Attachment::setType(const QString &type) -{ - d->type = d->getType(type); -} - -int Attachment::ownerId() const -{ - return d->ownerId; -} - -void Attachment::setOwnerId(int ownerId) -{ - d->ownerId = ownerId; -} - -int Attachment::mediaId() const -{ - return d->mediaId; -} - -void Attachment::setMediaId(int id) -{ - d->mediaId = id; -} - -Attachment Attachment::fromData(const QVariant &data) -{ - return Attachment(data.toMap()); -} - -Attachment::List Attachment::fromVariantList(const QVariantList &list) -{ - Attachment::List attachments; - foreach (auto item, list) - attachments.append(Attachment::fromData(item.toMap())); - return attachments; -} - -QVariantList Attachment::toVariantList(const Attachment::List &list) -{ - QVariantList variantList; - foreach (auto item, list) - variantList.append(item.data()); - return variantList; -} - -Attachment::Hash Attachment::toHash(const Attachment::List &list) -{ - Hash hash; - foreach (auto attachment, list) - hash.insert(attachment.type(), attachment); - return hash; -} - -QVariantMap Attachment::toVariantMap(const Attachment::Hash &hash) -{ - //FIXME i want to Qt5 - QVariantMap map; - foreach (auto key, hash.keys()) - map.insert(QString::number(key), toVariantList(hash.values(key))); - return map; -} - -QVariant Attachment::property(const QString &name, const QVariant &def) const -{ - return d->data.value(name, def); -} - -QStringList Attachment::dynamicPropertyNames() const -{ - return d->data.keys(); -} - -void Attachment::setProperty(const QString &name, const QVariant &value) -{ - d->data.insert(name, value); -} - -bool Attachment::isFetched() const -{ - return !d->data.isEmpty(); -} - -} // namespace Vreen - -#include "moc_attachment.cpp" diff --git a/3rdparty/vreen/vreen/src/api/attachment.h b/3rdparty/vreen/vreen/src/api/attachment.h deleted file mode 100644 index 7e84927dd..000000000 --- a/3rdparty/vreen/vreen/src/api/attachment.h +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_ATTACHMENT_H -#define VK_ATTACHMENT_H - -#include -#include -#include "vk_global.h" - -namespace Vreen { - -class AttachmentData; - -class VK_SHARED_EXPORT Attachment -{ - Q_GADGET - Q_ENUMS(Type) -public: - enum Type { - Photo, - PostedPhoto, - Video, - Audio, - Document, - Graffiti, - Link, - Note, - ApplicationImage, - Poll, - Page, - Other = -1 - }; - typedef QList List; - typedef QMultiHash Hash; - - Attachment(); - Attachment(const Attachment &); - Attachment &operator=(const Attachment &); - ~Attachment(); - - void setData(const QVariantMap &data); - QVariantMap data() const; - Type type() const; - void setType(Type); - void setType(const QString &type); - int ownerId() const; - void setOwnerId(int ownerId); - int mediaId() const; - void setMediaId(int mediaId); - bool isFetched() const; - - static Attachment fromData(const QVariant &data); - static List fromVariantList(const QVariantList &list); - static QVariantList toVariantList(const List &list); - static Hash toHash(const List &list); - static QVariantMap toVariantMap(const Hash &hash); - - QVariant property(const QString &name, const QVariant &def = QVariant()) const; - template - T property(const char *name, const T &def) const - { return QVariant::fromValue(property(name, QVariant::fromValue(def))); } - void setProperty(const QString &name, const QVariant &value); - QStringList dynamicPropertyNames() const; - template - static T to(const Attachment &attachment); - template - static Attachment from(const T &item); - - friend QDataStream &operator <<(QDataStream &out, const Vreen::Attachment &item); - friend QDataStream &operator >>(QDataStream &out, Vreen::Attachment &item); -protected: - Attachment(const QVariantMap &data); - Attachment(const QString &string); -private: - QSharedDataPointer d; -}; - -} // namespace Vreen - -Q_DECLARE_METATYPE(Vreen::Attachment) -Q_DECLARE_METATYPE(Vreen::Attachment::List) -Q_DECLARE_METATYPE(Vreen::Attachment::Hash) -Q_DECLARE_METATYPE(Vreen::Attachment::Type) - - -#endif // VK_ATTACHMENT_H - diff --git a/3rdparty/vreen/vreen/src/api/audio.cpp b/3rdparty/vreen/vreen/src/api/audio.cpp deleted file mode 100644 index 07245f0d3..000000000 --- a/3rdparty/vreen/vreen/src/api/audio.cpp +++ /dev/null @@ -1,428 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "audio.h" -#include "client.h" -#include "reply_p.h" -#include "utils_p.h" -#include -#include -#include -#include - -namespace Vreen { - -class AudioProvider; -class AudioProviderPrivate -{ - Q_DECLARE_PUBLIC(AudioProvider) -public: - AudioProviderPrivate(AudioProvider *q, Client *client) : q_ptr(q), client(client) {} - AudioProvider *q_ptr; - Client *client; - - static QVariant handleAudio(const QVariant &response) { - AudioItemList items; - auto list = response.toList(); - if (list.count() && list.first().canConvert()) - list.removeFirst(); //HACK For stupid API((( - - foreach (auto item, list) { - auto map = item.toMap(); - AudioItem audio; - audio.setId(map.value("aid").toInt()); - audio.setOwnerId(map.value("owner_id").toInt()); - audio.setArtist(fromHtmlEntities(map.value("artist").toString())); - audio.setTitle(fromHtmlEntities(map.value("title").toString())); - audio.setDuration(map.value("duration").toReal()); - audio.setAlbumId(map.value("album").toInt()); - audio.setLyricsId(map.value("lyrics_id").toInt()); - audio.setUrl(map.value("url").toUrl()); - items.append(audio); - } - return QVariant::fromValue(items); - } - - static QVariant handleAudioAlbum(const QVariant &response) { - AudioAlbumItemList items; - auto list = response.toList(); - - if (list.count() && list.first().canConvert()) - list.removeFirst(); - - foreach (auto item, list) { - auto map = item.toMap(); - AudioAlbumItem audio; - audio.setId(map.value("album_id").toInt()); - audio.setOwnerId(map.value("owner_id").toInt()); - audio.setTitle(fromHtmlEntities(map.value("title").toString())); - items.append(audio); - } - return QVariant::fromValue(items); - } -}; - -AudioProvider::AudioProvider(Client *client) : - d_ptr(new AudioProviderPrivate(this, client)) -{ - -} - -AudioProvider::~AudioProvider() -{ - -} - -/*! - * \brief AudioProvider::get \link http://vk.com/developers.php?oid=-1&p=audio.get - * \param uid - * \param count - * \param offset - * \return reply - */ -AudioItemListReply *AudioProvider::getContactAudio(int uid, int count, int offset, int album_id) -{ - Q_D(AudioProvider); - QVariantMap args; - if (uid) - args.insert(uid > 0 ? "uid" : "gid", qAbs(uid)); - if (album_id > 0) - args.insert("album_id", album_id); - args.insert("count", count); - args.insert("offset", offset); - - auto reply = d->client->request("audio.get", args, AudioProviderPrivate::handleAudio); - return reply; -} - -/*! - * \brief AudioProvider::searchAudio \link http://vk.com/developers.php?oid=-1&p=audio.search - * - * \param query - * \param autocomplete - * \param lyrics - * \param count - * \param offset - * \return reply - **/ -AudioItemListReply *AudioProvider::searchAudio(const QString& query, int count, int offset, bool autoComplete, Vreen::AudioProvider::SortOrder sort, bool withLyrics) -{ - Q_D(AudioProvider); - QVariantMap args; - args.insert("q", query); - args.insert("auto_complete", autoComplete); - args.insert("sort", static_cast(sort)); - args.insert("lyrics", withLyrics); - args.insert("count", count); - args.insert("offset", offset); - - auto reply = d->client->request("audio.search", args, AudioProviderPrivate::handleAudio); - return reply; -} - -AudioAlbumItemListReply *AudioProvider::getAlbums(int ownerId, int count, int offset) -{ - Q_D(AudioProvider); - QVariantMap args; - args.insert("owner_id", ownerId); - args.insert("count", count); - args.insert("offset", offset); - - auto reply = d->client->request("audio.getAlbums", args, AudioProviderPrivate::handleAudioAlbum); - return reply; -} - -AudioItemListReply *AudioProvider::getRecommendationsForUser(int uid, int count, int offset) -{ - Q_D(AudioProvider); - QVariantMap args; - if (uid < 0) { - qDebug("Vreen::AudioProvider::getRecomendationForUser may not work with groups (uid < 0)"); - - } - args.insert("uid",uid); - args.insert("count", count); - args.insert("offset", offset); - - auto reply = d->client->request("audio.getRecommendations", args, AudioProviderPrivate::handleAudio); - return reply; -} - -IntReply *AudioProvider::getCount(int oid) -{ - Q_D(AudioProvider); - - oid = oid?oid:d->client->id(); - - QVariantMap args; - args.insert("oid", oid); - - auto reply = d->client->request("audio.getCount", args, ReplyPrivate::handleInt); - return reply; -} - -IntReply *AudioProvider::addToLibrary(int aid, int oid, int gid) -{ - Q_D(AudioProvider); - - QVariantMap args; - args.insert("aid", aid); - args.insert("oid", oid); - - if (gid) { - args.insert("gid",gid); - } - - auto reply = d->client->request("audio.add", args, ReplyPrivate::handleInt); - return reply; -} - -IntReply *AudioProvider::removeFromLibrary(int aid, int oid) -{ - Q_D(AudioProvider); - - QVariantMap args; - args.insert("aid", aid); - args.insert("oid", oid); - - auto reply = d->client->request("audio.delete", args, ReplyPrivate::handleInt); - return reply; -} - -IdListReply *AudioProvider::setBroadcast(int aid, int oid, const IdList &targetIds) -{ - Q_D(AudioProvider); - - QVariantMap args; - args.insert("audio", QString("%1_%2").arg(oid).arg(aid)); - args.insert("target_ids", join(targetIds)); - - auto reply = d->client->request("audio.setBroadcast", args, ReplyPrivate::handleIdList); - return reply; -} - -IdListReply *AudioProvider::resetBroadcast(const IdList &targetIds) -{ - Q_D(AudioProvider); - - QVariantMap args; - args.insert("audio",""); - args.insert("target_ids", join(targetIds)); - auto reply = d->client->request("audio.setBroadcast", args, ReplyPrivate::handleIdList); - return reply; -} - -AudioItemListReply *AudioProvider::getAudiosByIds(const QString &ids) -{ - Q_D(AudioProvider); - - QVariantMap args; - args.insert("audios", ids); - - auto reply = d->client->request("audio.getById", args, AudioProviderPrivate::handleAudio); - return reply; -} - -class AudioModel; -class AudioModelPrivate -{ - Q_DECLARE_PUBLIC(AudioModel) -public: - AudioModelPrivate(AudioModel *q) : q_ptr(q) {} - AudioModel *q_ptr; - AudioItemList itemList; - - IdComparator audioItemComparator; -}; - -AudioModel::AudioModel(QObject *parent) : AbstractListModel(parent), - d_ptr(new AudioModelPrivate(this)) -{ - auto roles = roleNames(); - roles[IdRole] = "aid"; - roles[TitleRole] = "title"; - roles[ArtistRole] = "artist"; - roles[UrlRole] = "url"; - roles[DurationRole] = "duration"; - roles[AlbumIdRole] = "albumId"; - roles[LyricsIdRole] = "lyricsId"; - roles[OwnerIdRole] = "ownerId"; - setRoleNames(roles); -} - -AudioModel::~AudioModel() -{ -} - -int AudioModel::count() const -{ - return d_func()->itemList.count(); -} - -void AudioModel::insertAudio(int index, const AudioItem &item) -{ - beginInsertRows(QModelIndex(), index, index); - d_func()->itemList.insert(index, item); - endInsertRows(); -} - -void AudioModel::replaceAudio(int i, const AudioItem &item) -{ - auto index = createIndex(i, 0); - d_func()->itemList[i] = item; - emit dataChanged(index, index); -} - -void AudioModel::setAudio(const AudioItemList &items) -{ - Q_D(AudioModel); - clear(); - beginInsertRows(QModelIndex(), 0, items.count()); - d->itemList = items; - qSort(d->itemList.begin(), d->itemList.end(), d->audioItemComparator); - endInsertRows(); -} - -void AudioModel::sort(int, Qt::SortOrder order) -{ - Q_D(AudioModel); - d->audioItemComparator.sortOrder = order; - setAudio(d->itemList); -} - -void AudioModel::removeAudio(int aid) -{ - Q_D(AudioModel); - int index = findAudio(aid); - if (index == -1) - return; - beginRemoveRows(QModelIndex(), index, index); - d->itemList.removeAt(index); - endRemoveRows(); -} - -void AudioModel::addAudio(const AudioItem &item) -{ - Q_D(AudioModel); - if (findAudio(item.id()) != -1) - return; - - int index = d->itemList.count(); - beginInsertRows(QModelIndex(), index, index); - d->itemList.append(item); - endInsertRows(); - - //int index = 0; - //if (d->sortOrder == Qt::AscendingOrder) - // index = d->itemList.count(); - //insertAudio(index, item); -} - -void AudioModel::clear() -{ - Q_D(AudioModel); - beginRemoveRows(QModelIndex(), 0, d->itemList.count()); - d->itemList.clear(); - endRemoveRows(); -} - -void AudioModel::truncate(int count) -{ - Q_D(AudioModel); - if (count > 0 && count > d->itemList.count()) { - qWarning("Unable to truncate"); - return; - } - beginRemoveRows(QModelIndex(), 0, count); - d->itemList.erase(d->itemList.begin() + count, d->itemList.end()); - endRemoveRows(); -} - -int AudioModel::rowCount(const QModelIndex &) const -{ - return count(); -} - -void AudioModel::setSortOrder(Qt::SortOrder order) -{ - Q_D(AudioModel); - if (order != d->audioItemComparator.sortOrder) { - d->audioItemComparator.sortOrder = order; - emit sortOrderChanged(order); - sort(0, order); - } -} - -Qt::SortOrder AudioModel::sortOrder() const -{ - Q_D(const AudioModel); - return d->audioItemComparator.sortOrder; -} - -QVariant AudioModel::data(const QModelIndex &index, int role) const -{ - Q_D(const AudioModel); - int row = index.row(); - auto item = d->itemList.at(row); - switch (role) { - case IdRole: - return item.id(); - break; - case TitleRole: - return item.title(); - case ArtistRole: - return item.artist(); - case UrlRole: - return item.url(); - case DurationRole: - return item.duration(); - case AlbumIdRole: - return item.albumId(); - case LyricsIdRole: - return item.lyricsId(); - case OwnerIdRole: - return item.ownerId(); - default: - break; - } - return QVariant::Invalid; -} - -int AudioModel::findAudio(int id) const -{ - Q_D(const AudioModel); - //auto it = qBinaryFind(d->itemList.begin(), d->itemList.end(), id, d->audioItemComparator); - //auto index = it - d->itemList.begin(); - //return index; - - for (int i = 0; i != d->itemList.count(); i++) - if (d->itemList.at(i).id() == id) - return id; - return -1; -} - -} // namespace Vreen - -#include "moc_audio.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/audio.h b/3rdparty/vreen/vreen/src/api/audio.h deleted file mode 100644 index 37f42c520..000000000 --- a/3rdparty/vreen/vreen/src/api/audio.h +++ /dev/null @@ -1,119 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_AUDIO_H -#define VK_AUDIO_H - -#include -#include "vk_global.h" -#include "audioitem.h" -#include "abstractlistmodel.h" -#include "reply.h" - -namespace Vreen { - -class Client; -typedef ReplyBase AudioItemListReply; -typedef ReplyBase AudioAlbumItemListReply; -typedef ReplyBase> IdListReply; - -class AudioProviderPrivate; -class VK_SHARED_EXPORT AudioProvider : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(AudioProvider) - Q_ENUMS(SortOrder) -public: - - enum SortOrder { - SortByDate = 0, - SortByDuration, - SortByPopularity - }; - - AudioProvider(Client *client); - virtual ~AudioProvider(); - AudioItemListReply *getContactAudio(int uid = 0, int count = 50, int offset = 0, int album_id = -1); - AudioItemListReply *getAudiosByIds(const QString& ids); - AudioItemListReply *getRecommendationsForUser(int uid = 0, int count = 50, int offset = 0); - AudioItemListReply *searchAudio(const QString& query, int count = 50, int offset = 0, bool autoComplete = true, Vreen::AudioProvider::SortOrder sort = SortByPopularity, bool withLyrics = false); - AudioAlbumItemListReply *getAlbums(int ownerId, int count = 50, int offset = 0); - IntReply *getCount(int oid = 0); - IntReply *addToLibrary(int aid, int oid, int gid = 0); - IntReply *removeFromLibrary(int aid, int oid); - IdListReply *setBroadcast(int aid, int oid, const IdList& targetIds); - IdListReply *resetBroadcast(const IdList& targetIds); -protected: - QScopedPointer d_ptr; -}; - -class AudioModelPrivate; -class VK_SHARED_EXPORT AudioModel : public AbstractListModel -{ - Q_OBJECT - Q_DECLARE_PRIVATE(AudioModel) - - Q_PROPERTY(Qt::SortOrder sortOrder READ sortOrder WRITE setSortOrder NOTIFY sortOrderChanged) -public: - - enum Roles { - IdRole = Qt::UserRole + 1, - TitleRole, - ArtistRole, - UrlRole, - DurationRole, - AlbumIdRole, - LyricsIdRole, - OwnerIdRole - }; - - AudioModel(QObject *parent); - virtual ~AudioModel(); - - int count() const; - int findAudio(int id) const; - virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - virtual int rowCount(const QModelIndex &parent) const; - void setSortOrder(Qt::SortOrder order); - Qt::SortOrder sortOrder() const; -public slots: - void clear(); - void truncate(int count); - void addAudio(const Vreen::AudioItem &item); - void removeAudio(int aid); -signals: - void sortOrderChanged(Qt::SortOrder); -protected: - void insertAudio(int index, const AudioItem &item); - void replaceAudio(int index, const AudioItem &item); - void setAudio(const AudioItemList &items); - virtual void sort(int column, Qt::SortOrder order); -private: - QScopedPointer d_ptr; -}; - -} // namespace Vreen - -#endif // VK_AUDIO_H - diff --git a/3rdparty/vreen/vreen/src/api/audioitem.cpp b/3rdparty/vreen/vreen/src/api/audioitem.cpp deleted file mode 100644 index aa07fb3e9..000000000 --- a/3rdparty/vreen/vreen/src/api/audioitem.cpp +++ /dev/null @@ -1,238 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "audioitem.h" -#include -#include -#include "client.h" - -namespace Vreen { - -template<> -AudioItem Attachment::to(const Attachment &data) -{ - AudioItem item; - item.setId(data.property("aid").toInt()); - item.setOwnerId(data.property("owner_id").toInt()); - item.setArtist(data.property("performer").toString()); - item.setTitle(data.property("title").toString()); - item.setUrl(data.property("url").toUrl()); - item.setDuration(data.property("duration").toDouble()); - return item; -} - -class AudioItemData : public QSharedData { -public: - AudioItemData() : - id(0), ownerId(0), - duration(0), - lyricsId(0), - albumId(0) - {} - AudioItemData(AudioItemData &o) : QSharedData(), - id(o.id), ownerId(o.ownerId), - artist(o.artist), - title(o.title), - duration(o.duration), - url(o.url), - lyricsId(o.lyricsId), - albumId(o.albumId) - {} - int id; - int ownerId; - QString artist; - QString title; - qreal duration; - QUrl url; - int lyricsId; - int albumId; -}; - -AudioItem::AudioItem() : data(new AudioItemData) -{ -} - -AudioItem::AudioItem(const AudioItem &rhs) : data(rhs.data) -{ -} - -AudioItem &AudioItem::operator=(const AudioItem &rhs) -{ - if (this != &rhs) - data.operator=(rhs.data); - return *this; -} - -AudioItem::~AudioItem() -{ -} - -int AudioItem::id() const -{ - return data->id; -} - -void AudioItem::setId(int id) -{ - data->id = id; -} - -int AudioItem::ownerId() const -{ - return data->ownerId; -} - -void AudioItem::setOwnerId(int ownerId) -{ - data->ownerId = ownerId; -} - -QString AudioItem::artist() const -{ - return data->artist; -} - -void AudioItem::setArtist(const QString &artist) -{ - data->artist = artist; -} - -QString AudioItem::title() const -{ - return data->title; -} - -void AudioItem::setTitle(const QString &title) -{ - data->title = title; -} - -qreal AudioItem::duration() const -{ - return data->duration; -} - -void AudioItem::setDuration(qreal duration) -{ - data->duration = duration; -} - -QUrl AudioItem::url() const -{ - return data->url; -} - -void AudioItem::setUrl(const QUrl &url) -{ - data->url = url; -} - -int AudioItem::lyricsId() const -{ - return data->lyricsId; -} - -void AudioItem::setLyricsId(int lyricsId) -{ - data->lyricsId = lyricsId; -} - -int AudioItem::albumId() const -{ - return data->albumId; -} - -void AudioItem::setAlbumId(int albumId) -{ - data->albumId = albumId; -} - -class AudioAlbumItemData : public QSharedData { -public: - AudioAlbumItemData() : - id(0), - ownerId(0) - {} - AudioAlbumItemData(AudioAlbumItemData &o) : QSharedData(), - id(o.id), - ownerId(o.ownerId), - title(o.title) - {} - int id; - int ownerId; - QString title; -}; - -AudioAlbumItem::AudioAlbumItem() : data(new AudioAlbumItemData) -{ -} - -AudioAlbumItem::AudioAlbumItem(const AudioAlbumItem &rhs) : data(rhs.data) -{ -} - -AudioAlbumItem &AudioAlbumItem::operator=(const AudioAlbumItem &rhs) -{ - if (this != &rhs) - data.operator=(rhs.data); - return *this; -} - -AudioAlbumItem::~AudioAlbumItem() -{ - -} - -int AudioAlbumItem::ownerId() const -{ - return data->ownerId; -} - -void AudioAlbumItem::setOwnerId(int ownerId) -{ - data->ownerId = ownerId; -} - -int AudioAlbumItem::id() const -{ - return data->id; -} - -void AudioAlbumItem::setId(int id) -{ - data->id = id; -} - -QString AudioAlbumItem::title() const -{ - return data->title; -} - -void AudioAlbumItem::setTitle(const QString &title) -{ - data->title = title; -} - -} // namespace Vreen - diff --git a/3rdparty/vreen/vreen/src/api/audioitem.h b/3rdparty/vreen/vreen/src/api/audioitem.h deleted file mode 100644 index 55b4a647c..000000000 --- a/3rdparty/vreen/vreen/src/api/audioitem.h +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_AUDIOITEM_H -#define VK_AUDIOITEM_H - -#include -#include "attachment.h" -#include - -class QUrl; - -namespace Vreen { - -class Client; -class AudioItemData; - -class VK_SHARED_EXPORT AudioItem -{ -public: - AudioItem(); - AudioItem(const AudioItem &); - AudioItem &operator=(const AudioItem &); - ~AudioItem(); - - int id() const; - void setId(int aid); - int ownerId() const; - void setOwnerId(int ownerId); - QString artist() const; - void setArtist(const QString &artist); - QString title() const; - void setTitle(const QString &title); - qreal duration() const; - void setDuration(qreal duration); - QUrl url() const; - void setUrl(const QUrl &url); - int lyricsId() const; - void setLyricsId(int lyricsId); - int albumId() const; - void setAlbumId(int albumId); -private: - QSharedDataPointer data; -}; -typedef QList AudioItemList; - -class AudioAlbumItemData; -class VK_SHARED_EXPORT AudioAlbumItem -{ -public: - AudioAlbumItem(); - AudioAlbumItem(const AudioAlbumItem &other); - AudioAlbumItem &operator=(const AudioAlbumItem &other); - ~AudioAlbumItem(); - - int id() const; - void setId(int id); - int ownerId() const; - void setOwnerId(int ownerId); - QString title() const; - void setTitle(const QString &title); -private: - QSharedDataPointer data; -}; -typedef QList AudioAlbumItemList; - -template<> -AudioItem Attachment::to(const Attachment &data); - -} // namespace Vreen - -Q_DECLARE_METATYPE(Vreen::AudioItem) -Q_DECLARE_METATYPE(Vreen::AudioItemList) -Q_DECLARE_METATYPE(Vreen::AudioAlbumItem) -Q_DECLARE_METATYPE(Vreen::AudioAlbumItemList) - -#endif // VK_AUDIOITEM_H - diff --git a/3rdparty/vreen/vreen/src/api/chatsession.cpp b/3rdparty/vreen/vreen/src/api/chatsession.cpp deleted file mode 100644 index 4d8ef7383..000000000 --- a/3rdparty/vreen/vreen/src/api/chatsession.cpp +++ /dev/null @@ -1,138 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "chatsession.h" -#include "messagesession_p.h" -#include "contact.h" -#include "client_p.h" -#include "longpoll.h" -#include - -namespace Vreen { - -class ChatSessionPrivate : public MessageSessionPrivate -{ - Q_DECLARE_PUBLIC(ChatSession) -public: - ChatSessionPrivate(ChatSession *q, Contact *contact) : - MessageSessionPrivate(q, contact->client(), contact->id()), - contact(contact), isActive(false) {} - - Contact *contact; - bool isActive; - - void _q_message_read_state_updated(const QVariant &); - void _q_message_added(const Message &message); -}; - - -/*! - * \brief The ChatSession class - * Api reference: \link http://vk.com/developers.php?oid=-1&p=Расширенные_методы_API - */ - -/*! - * \brief ChatSession::ChatSession - * \param contact - */ -ChatSession::ChatSession(Contact *contact) : - MessageSession(new ChatSessionPrivate(this, contact)) -{ - Q_D(ChatSession); - auto longPoll = d->contact->client()->longPoll(); - connect(longPoll, SIGNAL(messageAdded(Vreen::Message)), - this, SLOT(_q_message_added(Vreen::Message))); - connect(longPoll, SIGNAL(messageDeleted(int)), - this, SIGNAL(messageDeleted(int))); - connect(d->contact, SIGNAL(nameChanged(QString)), SLOT(setTitle(QString))); - setTitle(d->contact->name()); -} - -ChatSession::~ChatSession() -{ - -} - -Contact *ChatSession::contact() const -{ - return d_func()->contact; -} - -bool ChatSession::isActive() const -{ - return d_func()->isActive; -} - -void ChatSession::setActive(bool set) -{ - Q_D(ChatSession); - d->isActive = set; -} - -ReplyBase *ChatSession::doGetHistory(int count, int offset) -{ - Q_D(ChatSession); - QVariantMap args; - args.insert("count", count); - args.insert("offset", offset); - args.insert("uid", d->contact->id()); - - auto reply = d->client->request>("messages.getHistory", - args, - MessageListHandler(d->client->id())); - return reply; -} - -SendMessageReply *ChatSession::doSendMessage(const Message &message) -{ - Q_D(ChatSession); - return d->contact->client()->sendMessage(message); -} - -void ChatSessionPrivate::_q_message_read_state_updated(const QVariant &response) -{ - Q_Q(ChatSession); - auto reply = qobject_cast(q->sender()); - if (response.toInt() == 1) { - auto set = reply->property("set").toBool(); - auto ids = reply->property("mids").value(); - foreach(int id, ids) - emit q->messageReadStateChanged(id, set); - } -} - -void ChatSessionPrivate::_q_message_added(const Message &message) -{ - //auto sender = client->contact(); - //if (sender == contact || !sender) //HACK some workaround - int id = message.isIncoming() ? message.fromId() : message.toId(); - if (!message.chatId() && id == contact->id()) { - emit q_func()->messageAdded(message); - } -} - -} // namespace Vreen - -#include "moc_chatsession.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/chatsession.h b/3rdparty/vreen/vreen/src/api/chatsession.h deleted file mode 100644 index cd45e02f6..000000000 --- a/3rdparty/vreen/vreen/src/api/chatsession.h +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_CHATSESSION_H -#define VK_CHATSESSION_H - -#include "message.h" -#include "messagesession.h" - -namespace Vreen { - -class Reply; -class ChatSessionPrivate; -class VK_SHARED_EXPORT ChatSession : public MessageSession -{ - Q_OBJECT - Q_DECLARE_PRIVATE(ChatSession) - - Q_PROPERTY(Contact *contact READ contact CONSTANT) -public: - ChatSession(Contact *contact); - virtual ~ChatSession(); - - Contact *contact() const; - bool isActive() const; - void setActive(bool set); -protected: - virtual ReplyBase *doGetHistory(int count = 16, int offset = 0); - virtual SendMessageReply *doSendMessage(const Vreen::Message &message); -private: - - Q_PRIVATE_SLOT(d_func(), void _q_message_added(const Vreen::Message &)) -}; - -} // namespace Vreen - -#endif // VK_CHATSESSION_H - diff --git a/3rdparty/vreen/vreen/src/api/client.cpp b/3rdparty/vreen/vreen/src/api/client.cpp deleted file mode 100644 index 770412dd9..000000000 --- a/3rdparty/vreen/vreen/src/api/client.cpp +++ /dev/null @@ -1,440 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "client_p.h" -#include "message.h" -#include "contact.h" -#include "groupmanager.h" -#include "reply_p.h" -#include "utils_p.h" -#include -#include - -namespace Vreen { - -Client::Client(QObject *parent) : - QObject(parent), - d_ptr(new ClientPrivate(this)) -{ -} - -Client::Client(const QString &login, const QString &password, QObject *parent) : - QObject(parent), - d_ptr(new ClientPrivate(this)) -{ - Q_D(Client); - d->login = login; - d->password = password; -} - -Client::~Client() -{ -} - -QString Client::password() const -{ - return d_func()->password; -} - -void Client::setPassword(const QString &password) -{ - d_func()->password = password; - emit passwordChanged(password); -} - -QString Client::login() const -{ - return d_func()->login; -} - -void Client::setLogin(const QString &login) -{ - d_func()->login = login; - emit loginChanged(login); -} - -Client::State Client::connectionState() const -{ - Q_D(const Client); - if (d->connection.isNull()) - return StateInvalid; - return d->connection.data()->connectionState(); -} - -bool Client::isOnline() const -{ - if (auto c = connection()) - return c->connectionState() == Client::StateOnline; - else - return false; -} - -QString Client::activity() const -{ - return d_func()->activity; -} - -Connection *Client::connection() const -{ - return d_func()->connection.data(); -} - -Connection *Client::connection() -{ - Q_D(Client); - if (d->connection.isNull()) - qWarning("Unknown method of connection. Use oauth webkit connection"); - // setConnection(new DirectConnection(this)); - return d_func()->connection.data(); -} - -void Client::setConnection(Connection *connection) -{ - Q_D(Client); - if (d->connection != connection) { - if (d->connection) { - d->connection.data()->deleteLater(); - } - - d->connection = connection; - connect(connection, SIGNAL(connectionStateChanged(Vreen::Client::State)), - this, SLOT(_q_connection_state_changed(Vreen::Client::State))); - connect(connection, SIGNAL(error(Vreen::Client::Error)), this, SIGNAL(error(Vreen::Client::Error))); - - emit connectionChanged(d->connection); - } -} - -Roster *Client::roster() const -{ - return d_func()->roster.data(); -} - -Roster *Client::roster() -{ - Q_D(Client); - if (d->roster.isNull()) { - d->roster = new Roster(this, d->connection.isNull() ? 0 : d->connection->uid()); - } - return d->roster.data(); -} - -LongPoll *Client::longPoll() const -{ - return d_func()->longPoll.data(); -} - -LongPoll *Client::longPoll() -{ - Q_D(Client); - if (d->longPoll.isNull()) { - d->longPoll = new LongPoll(this); - - emit longPollChanged(d->longPoll.data()); - } - return d->longPoll.data(); -} - -GroupManager *Client::groupManager() const -{ - return d_func()->groupManager.data(); -} - -GroupManager *Client::groupManager() -{ - Q_D(Client); - if (!d->groupManager) - d->groupManager = new GroupManager(this); - return d->groupManager.data(); -} - -Reply *Client::request(const QUrl &url) -{ - QNetworkRequest request(url); - auto networkReply = connection()->get(request); - auto reply = new Reply(networkReply); - d_func()->processReply(reply); - return reply; -} - -Reply *Client::request(const QString &method, const QVariantMap &args) -{ - auto reply = new Reply(connection()->get(method, args)); - d_func()->processReply(reply); - return reply; -} - -Buddy *Client::me() const -{ - if (auto r = roster()) - return r->owner(); - return 0; -} - -Buddy *Client::me() -{ - return roster()->owner(); -} - -Contact *Client::contact(int id) const -{ - Contact *contact = 0; - if (id > 0) { - if (roster()) - contact = roster()->buddy(id); - if (!contact && groupManager()) - contact = groupManager()->group(id); - } else if (id < 0 && groupManager()) - contact = groupManager()->group(id); - return contact; -} - -int Client::id() const -{ - return me() ? me()->id() : 0; -} - -SendMessageReply *Client::sendMessage(const Message &message) -{ - //TODO add delayed send - if (!isOnline()) - return 0; - - //checks - Q_ASSERT(message.toId()); - - QVariantMap args; - //TODO add chat messages support and contact check - args.insert("uid", message.toId()); - args.insert("message", message.body()); - args.insert("title", message.subject()); - return request("messages.send", args, ReplyPrivate::handleInt); -} - -/*! - * \brief Client::getMessage see \link http://vk.com/developers.php?p=messages.getById - */ -Reply *Client::getMessage(int mid, int previewLength) -{ - QVariantMap args; - args.insert("mid", mid); - args.insert("preview_length", previewLength); - return request("messages.getById", args); -} - -Reply *Client::addLike(int ownerId, int postId, bool retweet, const QString &message) -{ - QVariantMap args; - args.insert("owner_id", ownerId); - args.insert("post_id", postId); - args.insert("repost", (int)retweet); - args.insert("message", message); - return request("wall.addLike", args); -} - -Reply *Client::deleteLike(int ownerId, int postId) -{ - QVariantMap args; - args.insert("owner_id", ownerId); - args.insert("post_id", postId); - auto reply = request("wall.deleteLike", args); - return reply; -} - -void Client::connectToHost() -{ - Q_D(Client); - //TODO add warnings - connection()->connectToHost(d->login, d->password); -} - -void Client::connectToHost(const QString &login, const QString &password) -{ - setLogin(login); - setPassword(password); - connectToHost(); -} - -void Client::disconnectFromHost() -{ - connection()->disconnectFromHost(); -} - - -void Client::setActivity(const QString &activity) -{ - Q_D(Client); - if (d->activity != activity) { - auto reply = setStatus(activity); - connect(reply, SIGNAL(resultReady(const QVariant &)), SLOT(_q_activity_update_finished(const QVariant &))); - } -} - -bool Client::isInvisible() const -{ - return d_func()->isInvisible; -} - -void Client::setInvisible(bool set) -{ - Q_D(Client); - if (d->isInvisible != set) { - d->isInvisible = set; - if (isOnline()) - d->setOnlineUpdaterRunning(!set); - emit invisibleChanged(set); - } -} - -bool Client::trackMessages() const -{ - return d_func()->trackMessages; -} - -void Client::setTrackMessages(bool set) -{ - Q_D(Client); - if( d->trackMessages != set ) { - d->trackMessages = set; - emit trackMessagesChanged(set); - } -} - -Reply *Client::setStatus(const QString &text, int aid) -{ - QVariantMap args; - args.insert("text", text); - if (aid) - args.insert("audio", QString("%1_%2").arg(me()->id()).arg(aid)); - return request("status.set", args); -} - -void Client::processReply(Reply *reply) -{ - d_func()->processReply(reply); -} - -QNetworkReply *Client::requestHelper(const QString &method, const QVariantMap &args) -{ - return connection()->get(method, args); -} - -void ClientPrivate::_q_activity_update_finished(const QVariant &response) -{ - Q_Q(Client); - auto reply = sender_cast(q->sender()); - if (response.toInt() == 1) { - activity = reply->networkReply()->url().queryItemValue("text"); - emit q->activityChanged(activity); - } -} - -void ClientPrivate::_q_update_online() -{ - Q_Q(Client); - q->request("account.setOnline"); -} - -void ClientPrivate::processReply(Reply *reply) -{ - Q_Q(Client); - q->connect(reply, SIGNAL(resultReady(const QVariant &)), q, SLOT(_q_reply_finished(const QVariant &))); - q->connect(reply, SIGNAL(error(int)), q, SLOT(_q_error_received(int))); - emit q->replyCreated(reply); -} - -ReplyBase *ClientPrivate::getMessages(Client *client, const IdList &list, int previewLength) -{ - QVariantMap map; - if (list.count() == 1) - map.insert("mid", list.first()); - else - map.insert("mids", join(list)); - map.insert("preview_length", previewLength); - return client->request>("messages.getById", - map, - MessageListHandler(client->id())); -} - -void ClientPrivate::setOnlineUpdaterRunning(bool set) -{ - if (set) { - onlineUpdater.start(); - _q_update_online(); - } else - onlineUpdater.stop(); -} - -void ClientPrivate::_q_connection_state_changed(Client::State state) -{ - Q_Q(Client); - switch (state) { - case Client::StateOffline: - emit q->onlineStateChanged(false); - setOnlineUpdaterRunning(false); - break; - case Client::StateOnline: - emit q->onlineStateChanged(true); - if (!roster.isNull()) { - roster->setUid(connection->uid()); - emit q->meChanged(roster->owner()); - } - if (!isInvisible) - setOnlineUpdaterRunning(true); - break; - default: - break; - } - emit q->connectionStateChanged(state); -} - -void ClientPrivate::_q_error_received(int code) -{ - Q_Q(Client); - auto reply = sender_cast(q->sender()); - qDebug() << "Error received :" << code << reply->networkReply()->url(); - reply->deleteLater(); - auto error = static_cast(code); - emit q->error(error); - if (error == Client::ErrorAuthorizationFailed) { - connection->disconnectFromHost(); - connection->clear(); - } -} - -void ClientPrivate::_q_reply_finished(const QVariant &) -{ - auto reply = sender_cast(q_func()->sender()); - reply->deleteLater(); -} - -void ClientPrivate::_q_network_manager_error(int) -{ - -} - -} // namespace Vreen - -#include "moc_client.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/client.h b/3rdparty/vreen/vreen/src/api/client.h deleted file mode 100644 index 13244eba2..000000000 --- a/3rdparty/vreen/vreen/src/api/client.h +++ /dev/null @@ -1,174 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_CLIENT_H -#define VK_CLIENT_H - -#include "vk_global.h" -#include "reply.h" -#include -#include -#include - -class QUrl; -namespace Vreen { - -class Message; -class Connection; -class ClientPrivate; -class Roster; -class GroupManager; -class LongPoll; -class Contact; -class Buddy; - -typedef ReplyBase SendMessageReply; - -class VK_SHARED_EXPORT Client : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(Client) - - Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged DESIGNABLE true) - Q_PROPERTY(QString login READ login WRITE setLogin NOTIFY loginChanged DESIGNABLE true) - Q_PROPERTY(bool online READ isOnline NOTIFY onlineStateChanged DESIGNABLE true) - Q_PROPERTY(State connectionState READ connectionState NOTIFY connectionStateChanged DESIGNABLE true) - Q_PROPERTY(Vreen::Roster* roster READ roster NOTIFY rosterChanged DESIGNABLE true) - Q_PROPERTY(Vreen::GroupManager* groupManager READ groupManager NOTIFY groupManagerChanged DESIGNABLE true) - Q_PROPERTY(Vreen::LongPoll* longPoll READ longPoll NOTIFY longPollChanged DESIGNABLE true) - Q_PROPERTY(Vreen::Buddy* me READ me NOTIFY meChanged DESIGNABLE true) - Q_PROPERTY(Vreen::Connection* connection READ connection WRITE setConnection NOTIFY connectionChanged DESIGNABLE true) - Q_PROPERTY(QString activity READ activity WRITE setActivity NOTIFY activityChanged DESIGNABLE true) - Q_PROPERTY(bool invisible READ isInvisible WRITE setInvisible NOTIFY invisibleChanged) - Q_PROPERTY(bool trackMessages READ trackMessages WRITE setTrackMessages NOTIFY trackMessagesChanged) - - Q_ENUMS(State) - Q_ENUMS(Error) -public: - - enum State { - StateOffline, - StateConnecting, - StateOnline, - StateInvalid - }; - enum Error { - ErrorUnknown = 1, - ErrorApplicationDisabled = 2, - ErrorIncorrectSignature = 4, - ErrorAuthorizationFailed = 5, - ErrorToManyRequests = 6, - ErrorPermissionDenied = 7, - ErrorCaptchaNeeded = 14, - ErrorMissingOrInvalidParameter = 100, - ErrorNetworkReply = 4096 - }; - - explicit Client(QObject *parent = 0); - explicit Client(const QString &login, const QString &password, QObject *parent = 0); - virtual ~Client(); - QString password() const; - void setPassword(const QString &password); - QString login() const; - void setLogin(const QString &login); - State connectionState() const; - bool isOnline() const; - QString activity() const; - void setActivity(const QString &activity); - bool isInvisible() const; - void setInvisible(bool set); - bool trackMessages() const; - void setTrackMessages(bool set); - - Connection *connection() const; - Connection *connection(); - void setConnection(Connection *connection); - Roster *roster(); - Roster *roster() const; - LongPoll *longPoll(); - LongPoll *longPoll() const; - GroupManager *groupManager(); - GroupManager *groupManager() const; - - Reply *request(const QUrl &); - Reply *request(const QString &method, const QVariantMap &args = QVariantMap()); - template - ReplyImpl *request(const QString &method, const QVariantMap &args, const Handler &handler); - SendMessageReply *sendMessage(const Message &message); - Reply *getMessage(int mid, int previewLength = 0); - Reply *addLike(int ownerId, int postId, bool retweet = false, const QString &message = QString()); //TODO move method - Reply *deleteLike(int ownerId, int postId); //TODO move method - - Q_INVOKABLE Buddy *me(); - Buddy *me() const; - Q_INVOKABLE Contact *contact(int id) const; - int id() const; -public slots: - void connectToHost(); - void connectToHost(const QString &login, const QString &password); - void disconnectFromHost(); -signals: - void loginChanged(const QString &login); - void passwordChanged(const QString &password); - void connectionChanged(Vreen::Connection *connection); - void connectionStateChanged(Vreen::Client::State state); - void replyCreated(Vreen::Reply*); - void error(Vreen::Client::Error error); - void onlineStateChanged(bool online); - void rosterChanged(Vreen::Roster*); - void groupManagerChanged(Vreen::GroupManager*); - void longPollChanged(Vreen::LongPoll*); - void meChanged(Vreen::Buddy *me); - void activityChanged(const QString &activity); - void invisibleChanged(bool set); - void trackMessagesChanged(bool set); -protected: - Reply *setStatus(const QString &text, int aid = 0); - QScopedPointer d_ptr; -private: - void processReply(Reply *reply); - QNetworkReply *requestHelper(const QString &method, const QVariantMap &args); - - Q_PRIVATE_SLOT(d_func(), void _q_connection_state_changed(Vreen::Client::State)) - Q_PRIVATE_SLOT(d_func(), void _q_error_received(int)) - Q_PRIVATE_SLOT(d_func(), void _q_reply_finished(const QVariant &)) - Q_PRIVATE_SLOT(d_func(), void _q_activity_update_finished(const QVariant &)) - Q_PRIVATE_SLOT(d_func(), void _q_update_online()) - Q_PRIVATE_SLOT(d_func(), void _q_network_manager_error(int)) -}; - -template -ReplyImpl *Client::request(const QString &method, const QVariantMap &args, const Handler &handler) -{ - ReplyImpl *reply = new ReplyImpl(handler, requestHelper(method, args)); - processReply(reply); - return reply; -} - -} // namespace Vreen - -Q_DECLARE_METATYPE(Vreen::Client*) - -#endif // VK_CLIENT_H - diff --git a/3rdparty/vreen/vreen/src/api/client_p.h b/3rdparty/vreen/vreen/src/api/client_p.h deleted file mode 100644 index edf0793a3..000000000 --- a/3rdparty/vreen/vreen/src/api/client_p.h +++ /dev/null @@ -1,82 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 * 60); -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef CLIENT_P_H -#define CLIENT_P_H - -#include "client.h" -#include "reply_p.h" -#include "connection.h" -#include "roster.h" -#include "reply.h" -#include "message.h" -#include "longpoll.h" -#include "utils.h" -#include -#include -#include - -namespace Vreen { - -class ClientPrivate -{ - Q_DECLARE_PUBLIC(Client) -public: - ClientPrivate(Client *q) : q_ptr(q), isInvisible(false), trackMessages(true) - { - onlineUpdater.setInterval(15000 * 60); - onlineUpdater.setSingleShot(false); - q->connect(&onlineUpdater, SIGNAL(timeout()), q, SLOT(_q_update_online())); - } - Client *q_ptr; - QString login; - QString password; - QPointer connection; - QPointer roster; - QPointer longPoll; - QPointer groupManager; - QString activity; - bool isInvisible; - bool trackMessages; - QTimer onlineUpdater; - - void setOnlineUpdaterRunning(bool set); - - void _q_connection_state_changed(Vreen::Client::State state); - void _q_error_received(int error); - void _q_reply_finished(const QVariant &); - void _q_network_manager_error(int); - void _q_activity_update_finished(const QVariant &); - void _q_update_online(); - - void processReply(Reply *reply); - - //some orphaned methods - static ReplyBase *getMessages(Client *client, const IdList &list, int previewLength = 0); -}; - -} //namespace Vreen - -#endif // CLIENT_P_H - diff --git a/3rdparty/vreen/vreen/src/api/commentssession.cpp b/3rdparty/vreen/vreen/src/api/commentssession.cpp deleted file mode 100644 index af9342e1b..000000000 --- a/3rdparty/vreen/vreen/src/api/commentssession.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "commentssession.h" -#include "contact.h" -#include "client.h" -#include "reply.h" - -namespace Vreen { - -class CommentSession; -class CommentSessionPrivate -{ - Q_DECLARE_PUBLIC(CommentSession) -public: - CommentSessionPrivate(CommentSession *q, Contact *contact) : - q_ptr(q), contact(contact), postId(0), - sort(Qt::AscendingOrder), - needLikes(true), - previewLenght(0) - - {} - CommentSession *q_ptr; - Contact *contact; - int postId; - Qt::SortOrder sort; - bool needLikes; - int previewLenght; - - void _q_comments_received(const QVariant &response) - { - auto list = response.toList(); - if (!list.isEmpty()) { - list.takeFirst(); - foreach (auto item, list) - emit q_func()->commentAdded(item.toMap()); - } - } -}; - - -/*! - * \brief CommentsSession::CommentsSession - * \param client - */ -CommentSession::CommentSession(Contact *contact) : - QObject(contact), - d_ptr(new CommentSessionPrivate(this, contact)) -{ -} - -void CommentSession::setPostId(int postId) -{ - Q_D(CommentSession); - d->postId = postId; -} - -int CommentSession::postId() const -{ - return d_func()->postId; -} - -CommentSession::~CommentSession() -{ -} - -Reply *CommentSession::getComments(int offset, int count) -{ - Q_D(CommentSession); - QVariantMap args; - args.insert("owner_id", (d->contact->type() == Contact::GroupType ? -1 : 1) * d->contact->id()); - args.insert("post_id", d->postId); - args.insert("offset", offset); - args.insert("count", count); - args.insert("need_likes", d->needLikes); - args.insert("preview_lenght", d->previewLenght); - args.insert("sort", d->sort == Qt::AscendingOrder ? "asc" : "desc"); - auto reply = d->contact->client()->request("wall.getComments", args); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_comments_received(QVariant))); - return reply; -} - -} // namespace Vreen - -#include "moc_commentssession.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/commentssession.h b/3rdparty/vreen/vreen/src/api/commentssession.h deleted file mode 100644 index e97c70772..000000000 --- a/3rdparty/vreen/vreen/src/api/commentssession.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_COMMENTSSESSION_H -#define VK_COMMENTSSESSION_H - -#include -#include -#include "vk_global.h" - -namespace Vreen { - -class Reply; -class Contact; -class CommentSessionPrivate; - -class VK_SHARED_EXPORT CommentSession : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(CommentSession) -public: - CommentSession(Vreen::Contact *contact); - virtual ~CommentSession(); - void setPostId(int id); - int postId() const; -public slots: - Reply *getComments(int offset = 0, int count = 100); -signals: - void commentAdded(const QVariantMap &item); - void commentDeleted(int commentId); -private: - QScopedPointer d_ptr; - - Q_PRIVATE_SLOT(d_func(), void _q_comments_received(QVariant)) -}; - -typedef QList CommentList; - -} // namespace Vreen - -#endif // VK_COMMENTSSESSION_H - diff --git a/3rdparty/vreen/vreen/src/api/connection.cpp b/3rdparty/vreen/vreen/src/api/connection.cpp deleted file mode 100644 index 7bdba931d..000000000 --- a/3rdparty/vreen/vreen/src/api/connection.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "connection_p.h" - -namespace Vreen { - -Connection::Connection(QObject *parent) : - QNetworkAccessManager(parent), - d_ptr(new ConnectionPrivate(this)) -{ -} - -Connection::Connection(ConnectionPrivate *data, QObject *parent) : - QNetworkAccessManager(parent), - d_ptr(data) -{ -} - -Connection::~Connection() -{ -} - -QNetworkReply *Connection::get(QNetworkRequest request) -{ - decorateRequest(request); - return QNetworkAccessManager::get(request); -} - -QNetworkReply *Connection::get(const QString &method, const QVariantMap &args) -{ - return QNetworkAccessManager::get(makeRequest(method, args)); -} - -QNetworkReply *Connection::put(const QString &method, QIODevice *data, const QVariantMap &args) -{ - return QNetworkAccessManager::put(makeRequest(method, args), data); -} - -QNetworkReply *Connection::put(const QString &method, const QByteArray &data, const QVariantMap &args) -{ - return QNetworkAccessManager::put(makeRequest(method, args), data); -} - -/*! - * \brief Connection::clear auth data. Default implementation doesn't nothing. - */ -void Connection::clear() -{ -} - -void Connection::setConnectionOption(Connection::ConnectionOption option, const QVariant &value) -{ - Q_D(Connection); - d->options[option] = value; -} - -QVariant Connection::connectionOption(Connection::ConnectionOption option) const -{ - return d_func()->options[option]; -} - -void Connection::decorateRequest(QNetworkRequest &) -{ -} - -} // namespace Vreen - diff --git a/3rdparty/vreen/vreen/src/api/connection.h b/3rdparty/vreen/vreen/src/api/connection.h deleted file mode 100644 index 7548fc072..000000000 --- a/3rdparty/vreen/vreen/src/api/connection.h +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_CONNECTION_H -#define VK_CONNECTION_H - -#include -#include -#include -#include "client.h" - -namespace Vreen { - -class Reply; -class ConnectionPrivate; - -class VK_SHARED_EXPORT Connection : public QNetworkAccessManager -{ - Q_OBJECT - Q_DECLARE_PRIVATE(Connection) - Q_ENUMS(ConnectionOption) -public: - Connection(QObject *parent = 0); - Connection(ConnectionPrivate *data, QObject *parent = 0); - ~Connection(); - - enum ConnectionOption { - ShowAuthDialog, - KeepAuthData - }; - - virtual void connectToHost(const QString &login, const QString &password) = 0; - virtual void disconnectFromHost() = 0; - - QNetworkReply *get(QNetworkRequest request); - QNetworkReply *get(const QString &method, const QVariantMap &args = QVariantMap()); - QNetworkReply *put(const QString &method, QIODevice *data, const QVariantMap &args = QVariantMap()); - QNetworkReply *put(const QString &method, const QByteArray &data, const QVariantMap &args = QVariantMap()); - - virtual Client::State connectionState() const = 0; - virtual int uid() const = 0; - virtual void clear(); - - Q_INVOKABLE void setConnectionOption(ConnectionOption option, const QVariant &value); - Q_INVOKABLE QVariant connectionOption(ConnectionOption option) const; -signals: - void connectionStateChanged(Vreen::Client::State connectionState); - void error(Vreen::Client::Error); -protected: - virtual QNetworkRequest makeRequest(const QString &method, const QVariantMap &args = QVariantMap()) = 0; - virtual void decorateRequest(QNetworkRequest &); - QScopedPointer d_ptr; -}; - -} //namespace Vreen - -Q_DECLARE_METATYPE(Vreen::Connection*) - -#endif // VK_CONNECTION_H - diff --git a/3rdparty/vreen/vreen/src/api/connection_p.h b/3rdparty/vreen/vreen/src/api/connection_p.h deleted file mode 100644 index ff79c28d9..000000000 --- a/3rdparty/vreen/vreen/src/api/connection_p.h +++ /dev/null @@ -1,44 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef CONNECTION_P_H -#define CONNECTION_P_H -#include "connection.h" - -namespace Vreen { - -class Connection; -class VK_SHARED_EXPORT ConnectionPrivate -{ - Q_DECLARE_PUBLIC(Connection) -public: - ConnectionPrivate(Connection *q) : q_ptr(q) {} - Connection *q_ptr; - QMap options; -}; - -} - - -#endif // CONNECTION_P_H diff --git a/3rdparty/vreen/vreen/src/api/contact.cpp b/3rdparty/vreen/vreen/src/api/contact.cpp deleted file mode 100644 index ecb1f358b..000000000 --- a/3rdparty/vreen/vreen/src/api/contact.cpp +++ /dev/null @@ -1,317 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include -#include "contact_p.h" -#include "message.h" -#include "roster_p.h" -#include "groupmanager_p.h" - -namespace Vreen { - -Contact::Contact(int id, Client *client) : - QObject(client), - d_ptr(new ContactPrivate(this, id, client)) -{ -} - -Contact::Contact(ContactPrivate *data) : - QObject(data->client), - d_ptr(data) -{ -} - -Contact::~Contact() -{ -} - -Contact::Type Contact::type() -{ - return d_func()->type; -} - -int Contact::id() const -{ - return d_func()->id; -} - -Client *Contact::client() const -{ - return d_func()->client; -} - -QString Contact::photoSource(Contact::PhotoSize size) const -{ - Q_D(const Contact); - return d->sources.value(size); -} - -void Contact::setPhotoSource(const QString &source, Contact::PhotoSize size) -{ - d_func()->sources[size] = source; - emit photoSourceChanged(source, size); -} - -void Contact::fill(Contact *contact, const QVariantMap &data) -{ - auto it = data.constBegin(); - for (; it != data.constEnd(); it++) { - QByteArray property = "_q_" + it.key().toLatin1(); - contact->setProperty(property.data(), it.value()); - } -} - -Buddy::Buddy(int id, Client *client) : - Contact(new BuddyPrivate(this, id, client)) -{ - if (id < 0) - qWarning() << "Buddy's id must be positive"; -} - -QString Buddy::firstName() const -{ - return d_func()->firstName; -} - -void Buddy::setFirstName(const QString &firstName) -{ - Q_D(Buddy); - if (d->firstName != firstName) { - d->firstName = firstName; - emit firstNameChanged(firstName); - emit nameChanged(name()); - } -} - -QString Buddy::lastName() const -{ - return d_func()->lastName; -} - -void Buddy::setLastName(const QString &lastName) -{ - Q_D(Buddy); - if (d->lastName != lastName) { - d->lastName = lastName; - emit lastNameChanged(lastName); - emit nameChanged(name()); - } -} - -bool Buddy::isOnline() const -{ - return d_func()->status != Offline; -} - -void Buddy::setOnline(bool set) -{ - setStatus(set ? Online : Offline); - emit onlineChanged(set); -} - -QString Buddy::name() const -{ - Q_D(const Buddy); - if (d->firstName.isEmpty() && d->lastName.isEmpty()) - return tr("id%1").arg(id()); - else if (d->lastName.isEmpty()) - return d->firstName; - else if (d->firstName.isEmpty()) - return d->lastName; - else - return d->firstName + ' ' + d->lastName; - -} - -QStringList Buddy::tags() const -{ - Q_D(const Buddy); - QStringList tags; - foreach (auto data, d->tagIdList) { - int id = data.toInt(); - tags.append(d->client->roster()->tags().value(id, tr("Unknown tag id %1").arg(id))); - } - return tags; -} - -QString Buddy::activity() const -{ - return d_func()->activity; -} - -Buddy::Status Buddy::status() const -{ - return d_func()->status; -} - -void Buddy::setStatus(Buddy::Status status) -{ - Q_D(Buddy); - //hack for delayed replies recieve - if (!d->client->isOnline()) - status = Offline; - - if (d->status != status) { - d_func()->status = status; - emit statusChanged(status); - } -} - -bool Buddy::isFriend() const -{ - return d_func()->isFriend; -} - -void Buddy::setIsFriend(bool set) -{ - Q_D(Buddy); - if (d->isFriend != set) { - d->isFriend = set; - emit isFriendChanged(set); - } -} - -/*! - * \brief Buddy::update - * \param fields - some fields need to update. - * \note This request will be called immediately. - * \sa update - * api reference \link http://vk.com/developers.php?oid=-1&p=users.get - */ -void Buddy::update(const QStringList &fields) -{ - IdList ids; - ids.append(id()); - d_func()->client->roster()->update(ids, fields); -} - -/*! - * \brief Buddy::update - * Add contact to update queue and it will be updated as soon as posible in near future. - * Use this method if you know that it takes more than one update - * \sa update(fields) - */ -void Buddy::update() -{ - Q_D(Buddy); - d->client->roster()->d_func()->appendToUpdaterQueue(this); -} - -SendMessageReply *Buddy::sendMessage(const QString &body, const QString &subject) -{ - Q_D(Buddy); - Message message(d->client); - message.setBody(body); - message.setSubject(subject); - message.setToId(id()); - return d->client->sendMessage(message); -} - -Reply *Buddy::addToFriends(const QString &reason) -{ - Q_D(Buddy); - QVariantMap args; - args.insert("uid", d->id); - args.insert("text", reason); - auto reply = d->client->request("friends.add", args); - connect(reply, SIGNAL(resultReady(QVariant)), this, SLOT(_q_friends_add_finished(QVariant))); - return reply; -} - -Reply *Buddy::removeFromFriends() -{ - Q_D(Buddy); - QVariantMap args; - args.insert("uid", d->id); - auto reply = d->client->request("friends.delete", args); - connect(reply, SIGNAL(resultReady(QVariant)), this, SLOT(_q_friends_delete_finished(QVariant))); - return reply; -} - -Group::Group(int id, Client *client) : - Contact(new GroupPrivate(this, id, client)) -{ - Q_D(Group); - if (id > 0) - qWarning() << "Group's id must be negative"; - d->type = GroupType; -} - -QString Group::name() const -{ - Q_D(const Group); - if (!d->name.isEmpty()) - return d->name; - return tr("group-%1").arg(id()); -} - -void Group::setName(const QString &name) -{ - d_func()->name = name; - emit nameChanged(name); -} - -void Group::update() -{ - Q_D(Group); - d->client->groupManager()->d_func()->appendToUpdaterQueue(this); -} - -void BuddyPrivate::_q_friends_add_finished(const QVariant &response) -{ - Q_Q(Buddy); - int answer = response.toInt(); - switch (answer) { - case 1: - //TODO - break; - case 2: - q->setIsFriend(true); - case 4: - //TODO - break; - default: - break; - } -} - -void BuddyPrivate::_q_friends_delete_finished(const QVariant &response) -{ - Q_Q(Buddy); - int answer = response.toInt(); - switch (answer) { - case 1: - q->setIsFriend(false); - break; - case 2: - //TODO - default: - break; - } -} - -} // namespace Vreen - -#include "moc_contact.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/contact.h b/3rdparty/vreen/vreen/src/api/contact.h deleted file mode 100644 index 4fa67c766..000000000 --- a/3rdparty/vreen/vreen/src/api/contact.h +++ /dev/null @@ -1,243 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_USER_H -#define VK_USER_H - -#include "client.h" -#include -#include - -namespace Vreen { - -#define VK_COMMON_FIELDS QLatin1String("first_name") \ - << QLatin1String("last_name") \ - << QLatin1String("online") \ - << QLatin1String("photo") \ - << QLatin1String("photo_medium") \ - << QLatin1String("photo_medium_rec") \ - << QLatin1String("photo_big") \ - << QLatin1String("photo_big_rec") \ - << QLatin1String("lists") \ - << QLatin1String("activity") - -#define VK_EXTENDED_FIELDS QLatin1String("sex") \ - << QLatin1String("bdate") \ - << QLatin1String("city") \ - << QLatin1String("country") \ - << QLatin1String("education") \ - << QLatin1String("can_post") \ - << QLatin1String("contacts") \ - << QLatin1String("can_see_all_posts") \ - << QLatin1String("can_write_private_message") \ - << QLatin1String("last_seen") \ - << QLatin1String("relation") \ - << QLatin1String("nickname") \ - << QLatin1String("wall_comments") \ - -#define VK_GROUP_FIELDS QLatin1String("city") \ - << "country" \ - << "place" \ - << "description" \ - << "wiki_page" \ - << "members_count" \ - << "counters" \ - << "start_date" \ - << "end_date" \ - << "can_post" \ - << "activity" - -#define VK_ALL_FIELDS VK_COMMON_FIELDS \ - << VK_EXTENDED_FIELDS - -class Client; -class ContactPrivate; -class VK_SHARED_EXPORT Contact : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(Contact) - Q_ENUMS(Type) - Q_ENUMS(Status) - - Q_PROPERTY(int id READ id CONSTANT) - Q_PROPERTY(QString name READ name NOTIFY nameChanged) - Q_PROPERTY(Type type READ type CONSTANT) - Q_PRIVATE_PROPERTY(Contact::d_func(), QString photoSource READ defaultSource NOTIFY photoSourceChanged) - Q_PRIVATE_PROPERTY(Contact::d_func(), QString photoSourceBig READ bigSource NOTIFY photoSourceChanged) - - Q_PRIVATE_PROPERTY(Contact::d_func(), QString _q_photo READ smallSource WRITE setSmallSource DESIGNABLE false) - Q_PRIVATE_PROPERTY(Contact::d_func(), QString _q_photo_medium READ mediumSource WRITE setMediumSource DESIGNABLE false) - Q_PRIVATE_PROPERTY(Contact::d_func(), QString _q_photo_medium_rec READ mediumSourceRec WRITE setMediumSourceRec DESIGNABLE false) - Q_PRIVATE_PROPERTY(Contact::d_func(), QString _q_photo_big READ bigSource WRITE setBigSource DESIGNABLE false) - Q_PRIVATE_PROPERTY(Contact::d_func(), QString _q_photo_big_rec READ bigSourceRec WRITE setBigSourceRec DESIGNABLE false) -public: - - enum PhotoSize { - PhotoSizeSmall, - PhotoSizeMedium, - PhotoSizeBig, - PhotoSizeMediumRec, - PhotoSizeBigRec - }; - - enum Type { - BuddyType, - GroupType, - ChatType - }; - - enum Status { - Online, - Away, - Offline, - Unknown - }; - - Contact(int id, Client *client); - Contact(ContactPrivate *data); - virtual ~Contact(); - virtual QString name() const = 0; - Type type(); - int id() const; - Client *client() const; - Q_INVOKABLE QString photoSource(PhotoSize size = PhotoSizeSmall) const; - void setPhotoSource(const QString &source, PhotoSize size = PhotoSizeSmall); - static void fill(Contact *contact, const QVariantMap &data); -signals: - void nameChanged(const QString &name); - void photoSourceChanged(const QString &source, Vreen::Contact::PhotoSize); -protected: - QScopedPointer d_ptr; -}; - -#define VK_CONTACT_TYPE(ContactType) \ - public: \ - static Contact::Type staticType() { return ContactType; } \ - virtual Contact::Type type() const { return staticType(); } \ - private: - -class BuddyPrivate; -class VK_SHARED_EXPORT Buddy : public Contact -{ - Q_OBJECT - Q_DECLARE_PRIVATE(Buddy) - VK_CONTACT_TYPE(BuddyType) - - Q_PROPERTY(QString fistName READ firstName NOTIFY firstNameChanged) - Q_PROPERTY(QString lastName READ lastName NOTIFY lastNameChanged) - Q_PROPERTY(bool online READ isOnline NOTIFY onlineChanged) - Q_PROPERTY(QStringList tags READ tags NOTIFY tagsChanged) - Q_PROPERTY(QString activity READ activity NOTIFY activityChanged) - Q_PROPERTY(Status status READ status NOTIFY statusChanged) - Q_PROPERTY(bool isFriend READ isFriend NOTIFY isFriendChanged) - - //private properties - Q_PROPERTY(QString _q_first_name READ firstName WRITE setFirstName DESIGNABLE false) - Q_PROPERTY(QString _q_last_name READ lastName WRITE setLastName DESIGNABLE false) - Q_PROPERTY(bool _q_online READ isOnline WRITE setOnline DESIGNABLE false STORED false) - Q_PRIVATE_PROPERTY(d_func(), QVariantList _q_lists READ lists WRITE setLists DESIGNABLE false) - Q_PRIVATE_PROPERTY(d_func(), QString _q_activity READ getActivity WRITE setActivity DESIGNABLE false) -public: - //TODO name case support maybe needed - QString firstName() const; - void setFirstName(const QString &firstName); - QString lastName() const; - void setLastName(const QString &lastName); - bool isOnline() const; - void setOnline(bool set); - virtual QString name() const; - QStringList tags() const; - QString activity() const; - Status status() const; - void setStatus(Status status); - bool isFriend() const; - void setIsFriend(bool set); -public slots: - void update(const QStringList &fields); - void update(); - SendMessageReply *sendMessage(const QString &body, const QString &subject = QString()); - Reply *addToFriends(const QString &reason = QString()); - Reply *removeFromFriends(); -signals: - void firstNameChanged(const QString &name); - void lastNameChanged(const QString &name); - void onlineChanged(bool isOnline); - void tagsChanged(const QStringList &tags); - void activityChanged(const QString &activity); - void statusChanged(Vreen::Contact::Status); - void isFriendChanged(bool isFriend); -protected: - Buddy(int id, Client *client); - - friend class Roster; - friend class RosterPrivate; - - Q_PRIVATE_SLOT(d_func(), void _q_friends_add_finished(const QVariant &response)) - Q_PRIVATE_SLOT(d_func(), void _q_friends_delete_finished(const QVariant &response)) -}; - -class GroupPrivate; -class VK_SHARED_EXPORT Group : public Contact -{ - Q_OBJECT - Q_DECLARE_PRIVATE(Group) - VK_CONTACT_TYPE(GroupType) - - Q_PROPERTY(QString _q_name READ name WRITE setName DESIGNABLE false) -public: - virtual QString name() const; - void setName(const QString &name); -public slots: - void update(); -protected: - Group(int id, Client *client); - - friend class GroupManager; -}; - -//TODO group chats -class GroupChat; - -typedef QList ContactList; -typedef QList BuddyList; -typedef QList GroupList; - -//contact's casts -template -Q_INLINE_TEMPLATE T contact_cast(Contact *contact) -{ - //T t = reinterpret_cast(0); - //if (t->staticType() == contact->type()) - // return static_cast(contact); - return qobject_cast(contact); -} - -} // namespace Vreen - -Q_DECLARE_METATYPE(Vreen::Contact*) -Q_DECLARE_METATYPE(Vreen::Buddy*) -Q_DECLARE_METATYPE(Vreen::Group*) - -#endif // VK_USER_H - diff --git a/3rdparty/vreen/vreen/src/api/contact_p.h b/3rdparty/vreen/vreen/src/api/contact_p.h deleted file mode 100644 index 9487e3632..000000000 --- a/3rdparty/vreen/vreen/src/api/contact_p.h +++ /dev/null @@ -1,141 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef USER_P_H -#define USER_P_H -#include "contact.h" -#include "client.h" -#include -#include - -namespace Vreen { - -class Contact; -class ContactPrivate -{ - Q_DECLARE_PUBLIC(Contact) -public: - ContactPrivate(Contact *q, int id, Client *client) : q_ptr(q), - client(client), id(id), type(Contact::BuddyType), - sources(Contact::PhotoSizeBigRec + 1), - preferedSize(Contact::PhotoSizeMediumRec) - { - - } - Contact *q_ptr; - Client *client; - int id; - Contact::Type type; - QVector sources; - Contact::PhotoSize preferedSize; - - QString defaultSource() const - { - //return sources[preferedSize]; - for (int index = preferedSize; index != -1; index--) { - auto photo = sources.value(index); - if (!photo.isNull()) - return photo; - } - return QString(); - } - QString smallSource() { return sources[Contact::PhotoSizeSmall]; } - void setSmallSource(const QString &source) - { - q_func()->setPhotoSource(source, Contact::PhotoSizeSmall); - } - QString mediumSource() { return sources[Contact::PhotoSizeMedium]; } - void setMediumSource(const QString &source) - { - q_func()->setPhotoSource(source, Contact::PhotoSizeMedium); - } - QString mediumSourceRec() { return sources[Contact::PhotoSizeMediumRec]; } - void setMediumSourceRec(const QString &source) - { - q_func()->setPhotoSource(source, Contact::PhotoSizeMediumRec); - } - QString bigSource() { return sources[Contact::PhotoSizeBig]; } - void setBigSource(const QString &source) - { - q_func()->setPhotoSource(source, Contact::PhotoSizeBig); - } - QString bigSourceRec() { return sources[Contact::PhotoSizeBigRec]; } - void setBigSourceRec(const QString &source) - { - q_func()->setPhotoSource(source, Contact::PhotoSizeBigRec); - } -}; - -class BuddyPrivate : public ContactPrivate -{ - Q_DECLARE_PUBLIC(Buddy) -public: - BuddyPrivate(Contact *q, int id, Client *client) : - ContactPrivate(q, id, client), - status(Buddy::Offline), - isFriend(false) - { - type = Contact::BuddyType; - } - QString firstName; - QString lastName; - Buddy::Status status; - QVariantList tagIdList; - QString activity; - bool isFriend; - - QVariantList lists() const { return QVariantList(); } - void setLists(const QVariantList &list) - { - Q_Q(Buddy); - tagIdList.clear(); - foreach (auto value, list) - tagIdList.append(value); - emit q->tagsChanged(q->tags()); - } - QString getActivity() const { return activity; } - void setActivity(const QString &now) - { - if (activity != now) { - activity = now; - emit q_func()->activityChanged(now); - } - } - - void _q_friends_add_finished(const QVariant &response); - void _q_friends_delete_finished(const QVariant &response); -}; - -class GroupPrivate : public ContactPrivate -{ - Q_DECLARE_PUBLIC(Group) -public: - GroupPrivate(Contact *q, int id, Client *client) : ContactPrivate(q, id, client) {} - QString name; -}; - -} //namespace Vreen - -#endif // USER_P_H - diff --git a/3rdparty/vreen/vreen/src/api/contentdownloader.cpp b/3rdparty/vreen/vreen/src/api/contentdownloader.cpp deleted file mode 100644 index c51d24c1a..000000000 --- a/3rdparty/vreen/vreen/src/api/contentdownloader.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "contentdownloader_p.h" -#include "utils.h" -#include -#include -#include -#include -#include - -namespace Vreen { - -static QPointer networkManager; - -ContentDownloader::ContentDownloader(QObject *parent) : - QObject(parent) -{ - if (!networkManager) { - networkManager = new NetworkAccessManager; - //use another thread for more smooth gui - //auto thread = new QThread; - //networkManager->moveToThread(thread); - //connect(networkManager.data(), SIGNAL(destroyed()), thread, SLOT(quit())); - //connect(thread, SIGNAL(finished()), SLOT(deleteLater())); - //thread->start(QThread::LowPriority); - } -} - -QString ContentDownloader::download(const QUrl &link) -{ - QString path = networkManager->cacheDir() - + networkManager->fileHash(link) - + QLatin1String(".") - + QFileInfo(link.path()).completeSuffix(); - - if (QFileInfo(path).exists()) { - //FIXME it maybe not work in some cases (use event instead emit) - emit downloadFinished(path); - } else { - QNetworkRequest request(link); - request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache); - auto reply = networkManager->get(request); - reply->setProperty("path", path); - connect(reply, SIGNAL(finished()), this, SLOT(replyDone())); - } - return path; -} - -void ContentDownloader::replyDone() -{ - auto reply = sender_cast(sender()); - QString cacheDir = networkManager->cacheDir(); - QDir dir(cacheDir); - if (!dir.exists()) { - if(!dir.mkpath(cacheDir)) { - qWarning("Unable to create cache dir"); - return; - } - } - //TODO move method to manager in other thread - QString path = reply->property("path").toString(); - QFile file(path); - if (!file.open(QIODevice::WriteOnly)) { - qWarning("Unable to write file!"); - return; - } - file.write(reply->readAll()); - file.close(); - - emit downloadFinished(path); -} - -} // namespace Vreen - -#include "moc_contentdownloader.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/contentdownloader.h b/3rdparty/vreen/vreen/src/api/contentdownloader.h deleted file mode 100644 index 480de3899..000000000 --- a/3rdparty/vreen/vreen/src/api/contentdownloader.h +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_CONTENTDOWNLOADER_H -#define VK_CONTENTDOWNLOADER_H - -#include -#include "vk_global.h" - -class QUrl; - -namespace Vreen { - -class VK_SHARED_EXPORT ContentDownloader : public QObject -{ - Q_OBJECT -public: - explicit ContentDownloader(QObject *parent = 0); - Q_INVOKABLE QString download(const QUrl &link); -signals: - void downloadFinished(const QString &fileName); -private slots: - void replyDone(); -}; - -} // namespace Vreen - -#endif // VK_CONTENTDOWNLOADER_H - diff --git a/3rdparty/vreen/vreen/src/api/contentdownloader_p.h b/3rdparty/vreen/vreen/src/api/contentdownloader_p.h deleted file mode 100644 index 797bbbf69..000000000 --- a/3rdparty/vreen/vreen/src/api/contentdownloader_p.h +++ /dev/null @@ -1,60 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef CONTENTDOWNLOADER_P_H -#define CONTENTDOWNLOADER_P_H -#include -#include -#include -#include -#include -#include "contentdownloader.h" - -namespace Vreen { - -class NetworkAccessManager : public QNetworkAccessManager -{ - Q_OBJECT -public: - NetworkAccessManager(QObject *parent = 0) : QNetworkAccessManager(parent) - { - - } - - QString fileHash(const QUrl &url) const - { - QCryptographicHash hash(QCryptographicHash::Md5); - hash.addData(url.toString().toUtf8()); - return hash.result().toHex(); - } - QString cacheDir() const - { - auto dir = QDesktopServices::storageLocation(QDesktopServices::DataLocation); - return dir + QLatin1String("/vk/"); - } -}; - -} //namespace Vreen - -#endif // CONTENTDOWNLOADER_P_H diff --git a/3rdparty/vreen/vreen/src/api/dynamicpropertydata.cpp b/3rdparty/vreen/vreen/src/api/dynamicpropertydata.cpp deleted file mode 100644 index 0a28fff7c..000000000 --- a/3rdparty/vreen/vreen/src/api/dynamicpropertydata.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "dynamicpropertydata_p.h" -#include - -namespace Vreen { - -QVariant DynamicPropertyData::property(const char *name, const QVariant &def, - const QList &gNames, - const QList &gGetters) const -{ - QByteArray prop = QByteArray::fromRawData(name, strlen(name)); - int id = gNames.indexOf(prop); - if (id < 0) { - id = names.indexOf(prop); - if(id < 0) - return def; - return values.at(id); - } - return (this->*gGetters.at(id))(); -} - -void DynamicPropertyData::setProperty(const char *name, const QVariant &value, - const QList &gNames, - const QList &gSetters) -{ - QByteArray prop = QByteArray::fromRawData(name, strlen(name)); - int id = gNames.indexOf(prop); - if (id < 0) { - id = names.indexOf(prop); - if (!value.isValid()) { - if(id < 0) - return; - names.removeAt(id); - values.removeAt(id); - } else { - if (id < 0) { - prop.detach(); - names.append(prop); - values.append(value); - } else { - values[id] = value; - } - } - } else { - (this->*gSetters.at(id))(value); - } -} - -} // namespace Vreen - diff --git a/3rdparty/vreen/vreen/src/api/dynamicpropertydata_p.h b/3rdparty/vreen/vreen/src/api/dynamicpropertydata_p.h deleted file mode 100644 index eb451e03c..000000000 --- a/3rdparty/vreen/vreen/src/api/dynamicpropertydata_p.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_DYNAMICPROPERTYDATA_P_H -#define VK_DYNAMICPROPERTYDATA_P_H - -//from euroelessar code - -#include -#include - -namespace Vreen { - -class DynamicPropertyData; - -namespace CompiledProperty -{ - typedef QVariant (DynamicPropertyData::*Getter)() const; - typedef void (DynamicPropertyData::*Setter)(const QVariant &variant); -} - -class DynamicPropertyData : public QSharedData -{ -public: - typedef CompiledProperty::Getter Getter; - typedef CompiledProperty::Setter Setter; - DynamicPropertyData() {} - DynamicPropertyData(const DynamicPropertyData &o) : - QSharedData(o), names(o.names), values(o.values) {} - QList names; - QList values; - - QVariant property(const char *name, const QVariant &def, const QList &names, - const QList &getters) const; - void setProperty(const char *name, const QVariant &value, const QList &names, - const QList &setters); -}; - -} // namespace Vreen - -#endif // VK_DYNAMICPROPERTYDATA_P_H - diff --git a/3rdparty/vreen/vreen/src/api/friendrequest.cpp b/3rdparty/vreen/vreen/src/api/friendrequest.cpp deleted file mode 100644 index 1e46b509d..000000000 --- a/3rdparty/vreen/vreen/src/api/friendrequest.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "friendrequest.h" -#include - -namespace Vreen { - -class FriendRequestData : public QSharedData { -public: - FriendRequestData(int uid) : QSharedData(), - uid(uid) - {} - FriendRequestData(const FriendRequestData &o) : QSharedData(o), - uid(o.uid), - message(o.message), - mutual(o.mutual) - {} - - int uid; - QString message; - IdList mutual; -}; - -FriendRequest::FriendRequest(int uid) : data(new FriendRequestData(uid)) -{ -} - -FriendRequest::FriendRequest(const FriendRequest &rhs) : data(rhs.data) -{ -} - -FriendRequest &FriendRequest::operator=(const FriendRequest &rhs) -{ - if (this != &rhs) - data.operator=(rhs.data); - return *this; -} - -FriendRequest::~FriendRequest() -{ -} - -int FriendRequest::uid() const -{ - return data->uid; -} - -void FriendRequest::setUid(int uid) -{ - data->uid = uid; -} - -IdList FriendRequest::mutualFriends() const -{ - return data->mutual; -} - -void FriendRequest::setMutualFriends(const IdList &mutual) -{ - data->mutual = mutual; -} - -QString FriendRequest::message() const -{ - return data->message; -} - -void FriendRequest::setMessage(const QString &message) -{ - data->message = message; -} - -} // namespace Vreen diff --git a/3rdparty/vreen/vreen/src/api/friendrequest.h b/3rdparty/vreen/vreen/src/api/friendrequest.h deleted file mode 100644 index c017e23fe..000000000 --- a/3rdparty/vreen/vreen/src/api/friendrequest.h +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VREEN_FRIENDREQUEST_H -#define VREEN_FRIENDREQUEST_H - -#include "vk_global.h" -#include -#include - -namespace Vreen { - -class FriendRequestData; - -class VK_SHARED_EXPORT FriendRequest -{ -public: - explicit FriendRequest(int uid = 0); - FriendRequest(const FriendRequest &); - FriendRequest &operator=(const FriendRequest &); - ~FriendRequest(); - int uid() const; - void setUid(int uid); - QString message() const; - void setMessage(const QString &message); - IdList mutualFriends() const; - void setMutualFriends(const IdList &mutualFriends); -private: - QSharedDataPointer data; -}; -typedef QList FriendRequestList; - -} // namespace Vreen - -Q_DECLARE_METATYPE(Vreen::FriendRequest) -Q_DECLARE_METATYPE(Vreen::FriendRequestList) - -#endif // VREEN_FRIENDREQUEST_H diff --git a/3rdparty/vreen/vreen/src/api/groupchatsession.cpp b/3rdparty/vreen/vreen/src/api/groupchatsession.cpp deleted file mode 100644 index 313b6d998..000000000 --- a/3rdparty/vreen/vreen/src/api/groupchatsession.cpp +++ /dev/null @@ -1,336 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "groupchatsession.h" -#include "messagesession_p.h" -#include "client_p.h" -#include "reply_p.h" -#include "roster.h" -#include - -namespace Vreen { - -class GroupChatSession; -class GroupChatSessionPrivate : public MessageSessionPrivate -{ - Q_DECLARE_PUBLIC(GroupChatSession) -public: - GroupChatSessionPrivate(MessageSession *q, Client *client, int uid) : - MessageSessionPrivate(q, client, uid), - adminId(0) - {} - QString title; - QHash buddies; - int adminId; - - Buddy *addContact(int id); - void removeContact(int id); - - void _q_message_sent(const QVariant &response); - void _q_info_received(const QVariant &response); - void _q_participant_added(const QVariant &response); - void _q_participant_removed(const QVariant &response); - void _q_title_updated(const QVariant &response); - void _q_online_changed(bool set); - void _q_message_added(const Vreen::Message &); - void _q_group_chat_updated(int chatId, bool self); -}; - -/*! - * \brief The GroupChatSession class, based on - * \link http://vk.com/developers.php?oid=-1&p=messages.getChat - * \link http://vk.com/developers.php?o=-1&p=messages.createChat - * etc - */ - -/*! - * \brief GroupChatSession::GroupChatSession - * \param chatId - * \param client - */ - -GroupChatSession::GroupChatSession(int chatId, Client *client) : - MessageSession(new GroupChatSessionPrivate(this, client, chatId)) -{ - connect(client, SIGNAL(onlineStateChanged(bool)), SLOT(_q_online_changed(bool))); - connect(client->longPoll(), SIGNAL(groupChatUpdated(int,bool)), SLOT(_q_group_chat_updated(int,bool))); -} - -BuddyList GroupChatSession::participants() const -{ - return d_func()->buddies.values(); -} - -Buddy *GroupChatSession::admin() const -{ - return static_cast(findParticipant(d_func()->adminId)); -} - -QString GroupChatSession::title() const -{ - return d_func()->title; -} - -Buddy *GroupChatSession::findParticipant(int uid) const -{ - foreach (auto buddy, d_func()->buddies) - if (buddy->id() == uid) - return buddy; - return 0; -} - -bool GroupChatSession::isJoined() const -{ - Q_D(const GroupChatSession); - return d->buddies.contains(d->client->me()->id()) - && d->client->isOnline(); -} - -//Buddy *GroupChatSession::participant(int uid) -//{ -// auto p = findParticipant(uid); -// if (!p) -// p = d_func()->addContact(uid); -// return p; -//} - -Reply *GroupChatSession::create(Client *client, const IdList &uids, const QString &title) -{ - QStringList list; - foreach (auto &uid, uids) - list.append(QString::number(uid)); - QVariantMap args; - args.insert("uids", list.join(",")); - args.insert("title", title); - return client->request("messages.createChat", args); -} - -void GroupChatSession::setTitle(const QString &title) -{ - Q_D(GroupChatSession); - if (d->title != title) { - d->title = title; - emit titleChanged(title); - } -} - -ReplyBase *GroupChatSession::doGetHistory(int count, int offset) -{ - Q_D(GroupChatSession); - QVariantMap args; - args.insert("count", count); - args.insert("offset", offset); - args.insert("chat_id", d->uid); - - auto reply = d->client->request>("messages.getHistory", - args, - MessageListHandler(d->client->id())); - return reply; -} - -SendMessageReply *GroupChatSession::doSendMessage(const Message &message) -{ - Q_D(GroupChatSession); - QVariantMap args; - //TODO move to client - args.insert("chat_id", d->uid); - args.insert("message", message.body()); - args.insert("title", message.subject()); - - return d->client->request("messages.send", args, ReplyPrivate::handleInt); -} - -Reply *GroupChatSession::getInfo() -{ - Q_D(GroupChatSession); - QVariantMap args; - args.insert("chat_id", d->uid); - - auto reply = d->client->request("messages.getChat", args); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_info_received(QVariant))); - return reply; -} - -/*! - * \brief GroupChatSession::inviteParticipant \link http://vk.com/developers.php?oid=-1&p=messages.addChatUser - * \param buddy - * \return - */ -Reply *GroupChatSession::inviteParticipant(Contact *buddy) -{ - Q_D(GroupChatSession); - QVariantMap args; - args.insert("chat_id", d->uid); - args.insert("uid", buddy->id()); - - auto reply = d->client->request("messages.addChatUser", args); - reply->setProperty("uid", buddy->id()); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_participant_added(QVariant))); - return reply; -} - -Reply *GroupChatSession::removeParticipant(Contact *buddy) -{ - Q_D(GroupChatSession); - QVariantMap args; - args.insert("chat_id", d->uid); - args.insert("uid", buddy->id()); - - auto reply = d->client->request("messages.removeChatUser", args); - reply->setProperty("uid", buddy->id()); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_participant_removed(QVariant))); - return reply; -} - -Reply *GroupChatSession::updateTitle(const QString &title) -{ - Q_D(GroupChatSession); - QVariantMap args; - args.insert("chat_id", d->uid); - args.insert("title", title); - - auto reply = d->client->request("messages.editChat", args); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_title_updated(QVariant))); - return reply; -} - -void GroupChatSession::join() -{ - Q_D(GroupChatSession); - if (!isJoined() && d->client->isOnline()) - inviteParticipant(d_func()->client->me()); -} - -void GroupChatSession::leave() -{ - if (isJoined()) - removeParticipant(d_func()->client->me()); -} - -void GroupChatSessionPrivate::_q_info_received(const QVariant &response) -{ - Q_Q(GroupChatSession); - auto map = response.toMap(); - adminId = map.value("admin_id").toInt(); - q->setTitle(map.value("title").toString()); - - QSet uidsToAdd; - foreach (auto item, map.value("users").toList()) - uidsToAdd.insert(item.toInt()); - - QSet uids = buddies.keys().toSet(); - QSet uidsToRemove = uids - uidsToAdd; - uidsToAdd -= uids; - foreach (auto uid, uidsToRemove) - removeContact(uid); - foreach (auto uid, uidsToAdd) - addContact(uid); -} - -void GroupChatSessionPrivate::_q_participant_added(const QVariant &response) -{ - if (response.toInt() == 1) { - int id = q_func()->sender()->property("uid").toInt(); - addContact(id); - } -} - -void GroupChatSessionPrivate::_q_participant_removed(const QVariant &response) -{ - if (response.toInt() == 1) { - int id = q_func()->sender()->property("uid").toInt(); - removeContact(id); - } -} - -void GroupChatSessionPrivate::_q_title_updated(const QVariant &response) -{ - Q_Q(GroupChatSession); - auto map = response.toMap(); - q->setTitle(map.value("title").toString()); -} - -void GroupChatSessionPrivate::_q_online_changed(bool set) -{ - foreach (auto contact, buddies) { - if (auto buddy = qobject_cast(contact)) { - if (set) - buddy->update(); - else - buddy->setOnline(false); - } - } - if (!set) - emit q_func()->isJoinedChanged(false); -} - -void GroupChatSessionPrivate::_q_message_added(const Message &msg) -{ - if (msg.chatId() == uid) { - emit q_func()->messageAdded(msg); - } -} - -void GroupChatSessionPrivate::_q_group_chat_updated(int chatId, bool) -{ - Q_Q(GroupChatSession); - if (chatId == uid) - q->getInfo(); -} - -Buddy *GroupChatSessionPrivate::addContact(int id) -{ - Q_Q(GroupChatSession); - if (id) { - if (!buddies.contains(id)) { - auto contact = client->roster()->buddy(id); - buddies.insert(id, contact); - emit q->participantAdded(contact); - if (contact == client->me()) { - emit q->isJoinedChanged(true); - } - return contact; - } - } - return 0; -} - -void GroupChatSessionPrivate::removeContact(int id) -{ - Q_Q(GroupChatSession); - if (id) { - if (buddies.contains(id)) { - buddies.remove(id); - auto contact = client->roster()->buddy(id); - emit q->participantRemoved(contact); - if (contact == client->me()) - emit q->isJoinedChanged(false); - } - } -} - -} // namespace Vreen - -#include "moc_groupchatsession.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/groupchatsession.h b/3rdparty/vreen/vreen/src/api/groupchatsession.h deleted file mode 100644 index 2f6a5f9a3..000000000 --- a/3rdparty/vreen/vreen/src/api/groupchatsession.h +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_GROUPCHATSESSION_H -#define VK_GROUPCHATSESSION_H -#include "messagesession.h" -#include "contact.h" - -namespace Vreen { - -class GroupChatSessionPrivate; - -class VK_SHARED_EXPORT GroupChatSession : public Vreen::MessageSession -{ - Q_OBJECT - Q_DECLARE_PRIVATE(GroupChatSession) - - Q_PROPERTY(QString title READ title NOTIFY titleChanged) - Q_PROPERTY(bool joined READ isJoined NOTIFY isJoinedChanged) -public: - explicit GroupChatSession(int chatId, Client *parent); - - BuddyList participants() const; - Buddy *admin() const; - QString title() const; - Buddy *findParticipant(int uid) const; - //Buddy *participant(int uid); - bool isJoined() const; - - static Reply *create(Client *client, const IdList &uids, const QString &title = QString()); -public slots: - Reply *getInfo(); - Reply *inviteParticipant(Contact *buddy); - Reply *removeParticipant(Contact *buddy); - Reply *updateTitle(const QString &title); - void join(); - void leave(); -signals: - void participantAdded(Vreen::Buddy*); - void participantRemoved(Vreen::Buddy*); - void titleChanged(QString); - void isJoinedChanged(bool); -protected: - void setTitle(const QString &title); - virtual SendMessageReply *doSendMessage(const Vreen::Message &message); - virtual ReplyBase *doGetHistory(int count = 16, int offset = 0); -private: - Q_PRIVATE_SLOT(d_func(), void _q_info_received(const QVariant &response)) - Q_PRIVATE_SLOT(d_func(), void _q_participant_added(const QVariant &response)) - Q_PRIVATE_SLOT(d_func(), void _q_participant_removed(const QVariant &response)) - Q_PRIVATE_SLOT(d_func(), void _q_title_updated(const QVariant &response)) - Q_PRIVATE_SLOT(d_func(), void _q_online_changed(bool)) - Q_PRIVATE_SLOT(d_func(), void _q_message_added(const Vreen::Message &)) - Q_PRIVATE_SLOT(d_func(), void _q_group_chat_updated(int chatId, bool self)) -}; - -} // namespace Vreen - -#endif // VK_GROUPCHATSESSION_H - diff --git a/3rdparty/vreen/vreen/src/api/groupmanager.cpp b/3rdparty/vreen/vreen/src/api/groupmanager.cpp deleted file mode 100644 index e496b1380..000000000 --- a/3rdparty/vreen/vreen/src/api/groupmanager.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "client.h" -#include "contact.h" -#include "utils_p.h" -#include -#include "groupmanager_p.h" - -namespace Vreen { - -GroupManager::GroupManager(Client *client) : - QObject(client), - d_ptr(new GroupManagerPrivate(this, client)) -{ -} - -GroupManager::~GroupManager() -{ -} - -Client *GroupManager::client() const -{ - return d_func()->client; -} - -Group *GroupManager::group(int gid) -{ - Q_D(GroupManager); - auto group = d->groupHash.value(gid); - if (!group) { - group = new Group(gid, client()); - d->groupHash.insert(gid, group); - } - return group; -} - -Group *GroupManager::group(int gid) const -{ - return d_func()->groupHash.value(gid); -} - -Reply *GroupManager::update(const IdList &ids, const QStringList &fields) -{ - Q_D(GroupManager); - QVariantMap args; - args.insert("gids", join(ids)); - args.insert("fields", fields.join(",")); - auto reply = d->client->request("groups.getById", args); - reply->connect(reply, SIGNAL(resultReady(const QVariant&)), - this, SLOT(_q_update_finished(const QVariant&))); - return reply; -} - -Reply *GroupManager::update(const GroupList &groups, const QStringList &fields) -{ - IdList ids; - foreach (auto group, groups) - ids.append(group->id()); - return update(ids, fields); -} - -void GroupManagerPrivate::_q_update_finished(const QVariant &response) -{ - Q_Q(GroupManager); - auto list = response.toList(); - foreach (auto data, list) { - auto map = data.toMap(); - int id = -map.value("gid").toInt(); - Contact::fill(q->group(id), map); - } -} - -void GroupManagerPrivate::_q_updater_handle() -{ - Q_Q(GroupManager); - q->update(updaterQueue); - updaterQueue.clear(); -} - -void GroupManagerPrivate::appendToUpdaterQueue(Group *contact) -{ - if (!updaterQueue.contains(-contact->id())) - updaterQueue.append(-contact->id()); - if (!updaterTimer.isActive()) - updaterTimer.start(); -} - -} // namespace Vreen - -#include "moc_groupmanager.cpp" diff --git a/3rdparty/vreen/vreen/src/api/groupmanager.h b/3rdparty/vreen/vreen/src/api/groupmanager.h deleted file mode 100644 index 4b855fc29..000000000 --- a/3rdparty/vreen/vreen/src/api/groupmanager.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_GROUPMANAGER_H -#define VK_GROUPMANAGER_H - -#include "contact.h" -#include - -namespace Vreen { - -class Client; -class Group; -class GroupManagerPrivate; - -class VK_SHARED_EXPORT GroupManager : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(GroupManager) -public: - explicit GroupManager(Client *client); - virtual ~GroupManager(); - Client *client() const; - Group *group(int gid) const; - Group *group(int gid); -public slots: - Reply *update(const IdList &ids, const QStringList &fields = QStringList() << VK_GROUP_FIELDS); - Reply *update(const GroupList &groups, const QStringList &fields = QStringList() << VK_GROUP_FIELDS); -signals: - void groupCreated(Group *group); -protected: - QScopedPointer d_ptr; -private: - - Q_PRIVATE_SLOT(d_func(), void _q_update_finished(const QVariant &response)) - Q_PRIVATE_SLOT(d_func(), void _q_updater_handle()) - - friend class Group; - friend class GroupPrivate; -}; - -} // namespace Vreen - -#endif // VK_GROUPMANAGER_H - diff --git a/3rdparty/vreen/vreen/src/api/groupmanager_p.h b/3rdparty/vreen/vreen/src/api/groupmanager_p.h deleted file mode 100644 index 58249f6b0..000000000 --- a/3rdparty/vreen/vreen/src/api/groupmanager_p.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ - -#ifndef GROUPMANAGER_P_H -#define GROUPMANAGER_P_H - -#include "groupmanager.h" -#include "client.h" -#include "contact.h" -#include - -namespace Vreen { - -class GroupManager; -class GroupManagerPrivate -{ - Q_DECLARE_PUBLIC(GroupManager) -public: - GroupManagerPrivate(GroupManager *q, Client *client) : q_ptr(q), client(client) - { - updaterTimer.setInterval(5000); - updaterTimer.setSingleShot(true); - updaterTimer.connect(&updaterTimer, SIGNAL(timeout()), - q, SLOT(_q_updater_handle())); - } - GroupManager *q_ptr; - Client *client; - QHash groupHash; - - //updater - QTimer updaterTimer; - IdList updaterQueue; - - void _q_update_finished(const QVariant &response); - void _q_updater_handle(); - void appendToUpdaterQueue(Group *contact); -}; - -} //namespace Vreen - -#endif // GROUPMANAGER_P_H diff --git a/3rdparty/vreen/vreen/src/api/json.cpp b/3rdparty/vreen/vreen/src/api/json.cpp deleted file mode 100644 index 0acfe755b..000000000 --- a/3rdparty/vreen/vreen/src/api/json.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "json.h" -#include - -namespace Vreen { - -namespace JSON { - -/*! - * \brief Parse JSON data to QVariant - * \param String with JSON data - * \return Result of parsing, QVariant::Null if there was an error - */ -QVariant parse(const QByteArray &data) -{ - QVariant res; - int len = data.size(); - K8JSON::parseRecord(res, reinterpret_cast(data.constData()), &len); - return res; -} - -/*! - * \brief Generate JSON string from QVariant - * \param data QVariant with data - * \param indent Identation of new lines - * \return JSON string with data -*/ -QByteArray generate(const QVariant &data, int indent) -{ - QByteArray res; - K8JSON::generate(res, data, indent); - return res; -} - -} //namespace JSON - -} // namespace Vreen - diff --git a/3rdparty/vreen/vreen/src/api/json.h b/3rdparty/vreen/vreen/src/api/json.h deleted file mode 100644 index 6c76cccb2..000000000 --- a/3rdparty/vreen/vreen/src/api/json.h +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_JSON_H -#define VK_JSON_H -#include "vk_global.h" -#include - -namespace Vreen { - -namespace JSON { - VK_SHARED_EXPORT QVariant parse(const QByteArray &data); - VK_SHARED_EXPORT QByteArray generate(const QVariant &data, int indent = 0); -} //namespace JSON - -} // namespace Vreen - -#endif // VK_JSON_H - diff --git a/3rdparty/vreen/vreen/src/api/localstorage.cpp b/3rdparty/vreen/vreen/src/api/localstorage.cpp deleted file mode 100644 index fd7161e62..000000000 --- a/3rdparty/vreen/vreen/src/api/localstorage.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licees/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "localstorage.h" - -namespace Vreen { - -AbstractLocalStorage::AbstractLocalStorage() -{ -} - -} // namespace Vreen diff --git a/3rdparty/vreen/vreen/src/api/localstorage.h b/3rdparty/vreen/vreen/src/api/localstorage.h deleted file mode 100644 index 910e75dba..000000000 --- a/3rdparty/vreen/vreen/src/api/localstorage.h +++ /dev/null @@ -1,48 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licees/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VREEN_LOCALSTORAGE_H -#define VREEN_LOCALSTORAGE_H -#include "contact.h" - -namespace Vreen { - -class AbstractLocalStorage -{ -public: - AbstractLocalStorage(); - virtual ~AbstractLocalStorage() {} -protected: - virtual void loadBuddies(Roster *roster) = 0; - virtual void storeBuddies(Roster *roster) = 0; - //TODO group managers - //key value storage - virtual void store(const QString &key, const QVariant &value) = 0; - virtual QVariant load(const QString &key) = 0; - //TODO messages history async get and set -}; - -} // namespace Vreen - -#endif // VREEN_LOCALSTORAGE_H diff --git a/3rdparty/vreen/vreen/src/api/longpoll.cpp b/3rdparty/vreen/vreen/src/api/longpoll.cpp deleted file mode 100644 index b83a6bd81..000000000 --- a/3rdparty/vreen/vreen/src/api/longpoll.cpp +++ /dev/null @@ -1,279 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "longpoll_p.h" -#include "connection.h" -#include "message.h" -#include "roster.h" -#include "contact.h" -#include -#include - -namespace Vreen { - -static const int chatMessageOffset = 2000000000; - -/*! - * \brief The LongPoll class - * Api reference: \link http://vk.com/developers.php?oid=-1&p=messages.getLongPollServer - */ - -/*! - * \brief LongPoll::LongPoll - * \param client - */ -LongPoll::LongPoll(Client *client) : - QObject(client), - d_ptr(new LongPollPrivate(this)) -{ - Q_D(LongPoll); - d->client = client; - setRunning(client->isOnline() && client->trackMessages()); - - connect(client, SIGNAL(onlineStateChanged(bool)), SLOT(_q_update_running())); - connect(client, SIGNAL(trackMessagesChanged(bool)), SLOT(_q_update_running())); -} - -LongPoll::~LongPoll() -{ - -} - -void LongPoll::setMode(LongPoll::Mode mode) -{ - d_func()->mode = mode; -} - -LongPoll::Mode LongPoll::mode() const -{ - return d_func()->mode; -} - -int LongPoll::pollInterval() const -{ - return d_func()->pollInterval; -} - -void LongPoll::setRunning(bool set) -{ - Q_D(LongPoll); - if (set != d->isRunning) { - d->isRunning = set; - if (set) - requestServer(); - } -} - -void LongPoll::requestServer() -{ - Q_D(LongPoll); - if (d->isRunning) { - auto reply = d->client->request("messages.getLongPollServer"); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_request_server_finished(QVariant))); - } -} - -void LongPoll::requestData(const QByteArray &timeStamp) -{ - Q_D(LongPoll); - if (d->dataRequestReply) { - d->dataRequestReply->disconnect(this, SLOT(_q_on_data_recieved(QVariant))); - d->dataRequestReply->deleteLater(); - } - if (d->isRunning) { - QUrl url = d->dataUrl; - url.addQueryItem("ts", timeStamp); - auto reply = d->client->request(url); - connect(reply, SIGNAL(resultReady(QVariant)), this, SLOT(_q_on_data_recieved(QVariant))); - d->dataRequestReply = reply; - } -} - -void LongPollPrivate::_q_request_server_finished(const QVariant &response) -{ - Q_Q(LongPoll); - - QVariantMap data = response.toMap(); - if (data.isEmpty()) { - QTimer::singleShot(pollInterval, q, SLOT(requestServer())); - return; - } - - QString url("http://%1?act=a_check&key=%2&wait=%3&mode=%4"); - dataUrl = url.arg(data.value("server").toString(), - data.value("key").toString(), - QString::number(waitInterval), - QString::number(mode)); - q->requestData(data.value("ts").toByteArray()); -} - -void LongPollPrivate::_q_on_data_recieved(const QVariant &response) -{ - Q_Q(LongPoll); - auto data = response.toMap(); - - if (data.contains("failed")) { - q->requestServer(); - return; - } - - QVariantList updates = data.value("updates").toList(); - for (int i = 0; i < updates.size(); i++) { - QVariantList update = updates.at(i).toList(); - int updateType = update.value(0, -1).toInt(); - switch (updateType) { - case LongPoll::MessageDeleted: { - emit q->messageDeleted(update.value(1).toInt()); - break; - } - case LongPoll::MessageAdded: { - QVariantMap additional = update.value(7).toMap(); - - int rid = additional.value("from").toInt(); - auto attachmets = getAttachments(additional); - - Message::Flags flags(update.value(2).toInt()); - Message message(client); - message.setAttachments(attachmets); - int cid = update.value(3).toInt(); - - if ((cid - chatMessageOffset) >= 0) { - //WTF chat flag? - message.setChatId(cid - chatMessageOffset); - } - message.setId(update.value(1).toInt()); - message.setFlags(flags); - if (flags & Message::FlagOutbox) { - message.setToId(message.chatId() ? rid : cid); - message.setFromId(client->me()->id()); - } else { - message.setFromId(message.chatId() ? rid : cid); - message.setToId(client->me()->id()); - } - message.setSubject(update.value(5).toString()); - message.setBody(update.value(6).toString()); - message.setDate(QDateTime::currentDateTime()); - emit q->messageAdded(message); - break; - } - case LongPoll::MessageFlagsReplaced: { - int id = update.value(1).toInt(); - int flags = update.value(2).toInt(); - int userId = update.value(3).toInt(); - emit q->messageFlagsReplaced(id, flags, userId); - break; - } - case LongPoll::MessageFlagsReseted: { //TODO remove copy/paste - int id = update.value(1).toInt(); - int flags = update.value(2).toInt(); - int userId = update.value(3).toInt(); - emit q->messageFlagsReseted(id, flags, userId); - break; - } - case LongPoll::UserOnline: - case LongPoll::UserOffline: { - // WTF? Why VKontakte sends minus as first char of id? - auto id = qAbs(update.value(1).toInt()); - Buddy::Status status; - if (updateType == LongPoll::UserOnline) - status = Buddy::Online; - else - status = update.value(2).toInt() == 1 ? Buddy::Away - : Buddy::Offline; - emit q->contactStatusChanged(id, status); - break; - } - case LongPoll::GroupChatUpdated: { - int chat_id = update.value(1).toInt(); - bool self = update.value(1).toInt(); - emit q->groupChatUpdated(chat_id, self); - break; - } - case LongPoll::ChatTyping: { - int user_id = qAbs(update.value(1).toInt()); - //int flags = update.at(2).toInt(); - emit q->contactTyping(user_id); - break; - } - case LongPoll::GroupChatTyping: { - int user_id = qAbs(update.value(1).toInt()); - int chat_id = update.at(2).toInt(); - emit q->contactTyping(user_id, chat_id); - break; - } - case LongPoll::UserCall: { - int user_id = qAbs(update.value(1).toInt()); - int call_id = update.at(2).toInt(); - emit q->contactCall(user_id, call_id); - break; - } - } - } - - q->requestData(data.value("ts").toByteArray()); -} - -void LongPollPrivate::_q_update_running() -{ - Q_Q(LongPoll); - q->setRunning(client->isOnline() && client->trackMessages()); -} - -Attachment::List LongPollPrivate::getAttachments(const QVariantMap &map) -{ - QHash hash; - hash.reserve(map.keys().size() / 2); - auto it = map.constBegin(); - for (; it != map.constEnd(); it++) { - QString key = it.key(); - if (key.startsWith("attach")) { - key = key.remove(0, 6); - if (key.endsWith("type")) { - key.chop(5); - int i = key.toInt(); - hash[i].setType(it.value().toString()); - } else { - QStringList values = it.value().toString().split('_'); - int i = key.toInt(); - hash[i].setOwnerId(values[0].toInt()); - hash[i].setMediaId(values[1].toInt()); - } - } - } - return hash.values(); -} - -void LongPoll::setPollInterval(int interval) -{ - Q_D(LongPoll); - if (d->pollInterval != interval) { - d->pollInterval = interval; - emit pollIntervalChanged(interval); - } -} - -} // namespace Vreen - -#include "moc_longpoll.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/longpoll.h b/3rdparty/vreen/vreen/src/api/longpoll.h deleted file mode 100644 index bcd5daf80..000000000 --- a/3rdparty/vreen/vreen/src/api/longpoll.h +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_LONGPOLL_H -#define VK_LONGPOLL_H - -#include -#include "contact.h" - -namespace Vreen { - -class Message; -class Client; -class LongPollPrivate; -class VK_SHARED_EXPORT LongPoll : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(LongPoll) - Q_PROPERTY(int pollInterval READ pollInterval WRITE setPollInterval NOTIFY pollIntervalChanged) -public: - - enum ServerAnswer { - MessageDeleted = 0, - MessageFlagsReplaced= 1, - MessageFlagsSet = 2, - MessageFlagsReseted = 3, - MessageAdded = 4, - UserOnline = 8, - UserOffline = 9, - GroupChatUpdated = 51, - ChatTyping = 61, - GroupChatTyping = 62, - UserCall = 70 - - }; - - enum OfflineFlag { - OfflineTimeout = 1 - }; - Q_DECLARE_FLAGS(OfflineFlags, OfflineFlag) - - enum Mode { - NoRecieveAttachments = 0, - RecieveAttachments = 2 - }; - - LongPoll(Client *client); - virtual ~LongPoll(); - void setMode(Mode mode); - Mode mode() const; - int pollInterval() const; - void setPollInterval(int interval); -signals: - void messageAdded(const Vreen::Message &msg); - void messageDeleted(int mid); - void messageFlagsReplaced(int mid, int mask, int userId = 0); - void messageFlagsReseted(int mid, int mask, int userId = 0); - void contactStatusChanged(int userId, Vreen::Contact::Status status); - void contactTyping(int userId, int chatId = 0); - void contactCall(int userId, int callId); - void groupChatUpdated(int chatId, bool self); - void pollIntervalChanged(int); -public slots: - void setRunning(bool set); -protected slots: - void requestServer(); - void requestData(const QByteArray &timeStamp); -protected: - QScopedPointer d_ptr; - - Q_PRIVATE_SLOT(d_func(), void _q_request_server_finished(const QVariant &)) - Q_PRIVATE_SLOT(d_func(), void _q_on_data_recieved(const QVariant &)) - Q_PRIVATE_SLOT(d_func(), void _q_update_running()); -}; - -} // namespace Vreen - -Q_DECLARE_METATYPE(Vreen::LongPoll*) - -#endif // VK_LONGPOLL_H - diff --git a/3rdparty/vreen/vreen/src/api/longpoll_p.h b/3rdparty/vreen/vreen/src/api/longpoll_p.h deleted file mode 100644 index 0c1ce7b0c..000000000 --- a/3rdparty/vreen/vreen/src/api/longpoll_p.h +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef LONGPOLL_P_H -#define LONGPOLL_P_H - -#include "longpoll.h" -#include "client.h" -#include "reply.h" -#include "attachment.h" - -#include -#include -#include -#include -#include - -#include - -namespace Vreen { - -class LongPoll; -class LongPollPrivate -{ - Q_DECLARE_PUBLIC(LongPoll) -public: - LongPollPrivate(LongPoll *q) : q_ptr(q), client(0), - mode(LongPoll::RecieveAttachments), pollInterval(1500), waitInterval(25), isRunning(false) {} - LongPoll *q_ptr; - Client *client; - - LongPoll::Mode mode; - int pollInterval; - int waitInterval; - QUrl dataUrl; - bool isRunning; - QPointer dataRequestReply; - - void _q_request_server_finished(const QVariant &response); - void _q_on_data_recieved(const QVariant &response); - void _q_update_running(); - Attachment::List getAttachments(const QVariantMap &map); -}; - - -} //namespace Vreen - -#endif // LONGPOLL_P_H - diff --git a/3rdparty/vreen/vreen/src/api/message.cpp b/3rdparty/vreen/vreen/src/api/message.cpp deleted file mode 100644 index 9bc067c43..000000000 --- a/3rdparty/vreen/vreen/src/api/message.cpp +++ /dev/null @@ -1,327 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "message.h" -#include "contact.h" -#include "client.h" -#include "roster.h" -#include -#include "dynamicpropertydata_p.h" -#include "utils_p.h" -#include - -namespace Vreen { - -class MessageData : public DynamicPropertyData -{ -public: - MessageData(int clientId) : - clientId(clientId), - messageId(0), - fromId(0), - toId(0), - chatId(0), - userCount(0), - adminId(0), - latitude(-1), - longitude(-1) - {} - MessageData(const MessageData &o) : - DynamicPropertyData(o), - clientId(o.clientId), - messageId(o.messageId), - fromId(o.fromId), - toId(o.toId), - date(o.date), - flags(o.flags), - subject(o.subject), - body(o.body), - forwardMsgIds(o.forwardMsgIds), - chatId(o.chatId), - chatActive(o.chatActive), - userCount(o.userCount), - adminId(o.adminId), - latitude(o.latitude), - longitude(o.longitude), - attachmentHash(o.attachmentHash) - {} - ~MessageData() {} - - int clientId; - int messageId; - int fromId; - int toId; - QDateTime date; - Message::Flags flags; - QString subject; - QString body; - QList forwardMsgIds; - int chatId; - QList chatActive; - int userCount; - int adminId; - qreal latitude; - qreal longitude; - Attachment::Hash attachmentHash; - - void fill(const QVariantMap &data) - { - messageId = data.value("mid").toInt(); - - int contactId = data.value("from_id").toInt(); - if (contactId) { - bool isIncoming = (contactId == clientId); - setFlag(Message::FlagOutbox, !isIncoming); - if (isIncoming) { - fromId = clientId; - toId = 0; - } else { - fromId = contactId; - toId = clientId; - } - } else { - setFlag(Message::FlagOutbox, data.value("out").toBool()); - contactId = data.value("uid").toInt(); - if (!flags.testFlag(Message::FlagOutbox)) { - fromId = contactId; - toId = clientId; - } else { - toId = contactId; - fromId = clientId; - } - } - - date = QDateTime::fromTime_t(data.value("date").toInt()); - setFlag(Message::FlagUnread, !data.value("read_state").toBool()); - subject = fromHtmlEntities(data.value("title").toString()); - body = fromHtmlEntities(data.value("body").toString()); - attachmentHash = Attachment::toHash(Attachment::fromVariantList(data.value("attachments").toList())); - //TODO forward messages - chatId = data.value("chat_id").toInt(); - } - - void setFlag(Message::Flag flag, bool set = true) - { - if (set) - flags |= flag; - else - flags &= ~flag; - } - - int getId(Contact *contact) const - { - return contact ? contact->id() : 0; - } -}; - - -/*! - * \brief The Message class - * Api reference: \link http://vk.com/developers.php?oid=-1&p=Формат_описания_личных_сообщений */ - -Message::Message(Client *client) : - d(new MessageData(client->id())) -{ -} - -Message::Message(int clientId) : - d(new MessageData(clientId)) -{ -} - -Message::Message(const QVariantMap &data, int clientId) : - d(new MessageData(clientId)) -{ - d->fill(data); -} - -Message::Message(const QVariantMap &data, Client *client) : - d(new MessageData(client->id())) -{ - d->fill(data); -} - -Message::Message(const Message &other) : d(other.d) -{ -} - -Message &Message::operator =(const Message &other) -{ - if (this != &other) - d.operator=(other.d); - return *this; -} - -bool Message::operator ==(const Message &other) -{ - return id() == other.id(); -} - -Message::~Message() -{ -} - -int Message::id() const -{ - return d->messageId; -} - -void Message::setId(int id) -{ - d->messageId = id; -} - -QDateTime Message::date() const -{ - return d->date; -} - -void Message::setDate(const QDateTime &date) -{ - d->date = date; -} - -int Message::fromId() const -{ - return d->fromId; -} - -void Message::setFromId(int id) -{ - d->fromId = id; -} - -int Message::toId() const -{ - return d->toId; -} - -void Message::setToId(int id) -{ - d->toId = id; -} - -int Message::chatId() const -{ - return d->chatId; -} - -void Message::setChatId(int chatId) -{ - d->chatId = chatId; -} - -QString Message::subject() const -{ - return d->subject; -} - -void Message::setSubject(const QString &title) -{ - d->subject = title; -} - -QString Message::body() const -{ - return d->body; -} - -void Message::setBody(const QString &body) -{ - d->body = body; -} - -bool Message::isUnread() const -{ - return testFlag(FlagUnread); -} - -void Message::setUnread(bool set) -{ - setFlag(FlagUnread, set); -} - -bool Message::isIncoming() const -{ - return !testFlag(FlagOutbox); -} - -void Message::setIncoming(bool set) -{ - setFlag(FlagOutbox, !set); -} - -void Message::setFlags(Message::Flags flags) -{ - d->flags = flags; -} - -Message::Flags Message::flags() const -{ - return d->flags; -} - -void Message::setFlag(Flag flag, bool set) -{ - d->setFlag(flag, set); -} - -bool Message::testFlag(Flag flag) const -{ - return d->flags.testFlag(flag); -} - -Attachment::Hash Message::attachments() const -{ - return d->attachmentHash; -} - -Attachment::List Message::attachments(Attachment::Type type) const -{ - return d->attachmentHash.values(type); -} - -void Message::setAttachments(const Attachment::List &attachmentList) -{ - d->attachmentHash = Attachment::toHash(attachmentList); -} - -MessageList Message::fromVariantList(const QVariantList &list, Vreen::Client *client) -{ - return fromVariantList(list, client->id()); -} - -MessageList Message::fromVariantList(const QVariantList &list, int clientId) -{ - MessageList messageList; - foreach (auto item, list) { - Vreen::Message message(item.toMap(), clientId); - messageList.append(message); - } - return messageList; -} - -} // namespace Vreen - -#include "moc_message.cpp" diff --git a/3rdparty/vreen/vreen/src/api/message.h b/3rdparty/vreen/vreen/src/api/message.h deleted file mode 100644 index 8b4f4662d..000000000 --- a/3rdparty/vreen/vreen/src/api/message.h +++ /dev/null @@ -1,117 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_MESSAGE_H -#define VK_MESSAGE_H -#include -#include -#include "attachment.h" - -namespace Vreen { - -class Contact; -class Message; -typedef QList MessageList; - -class Client; -class MessageData; -class VK_SHARED_EXPORT Message -{ - Q_GADGET - Q_ENUMS(ReadState) - Q_ENUMS(Direction) - Q_ENUMS(Flags) -public: - enum Flag { - FlagUnread = 1, - FlagOutbox = 2, - FlagReplied = 4, - FlagImportant= 8, - FlagChat = 16, - FlagFriends = 32, - FlagSpam = 64, - FlagDeleted = 128, - FlagFixed = 256, - FlagMedia = 512 - }; - Q_DECLARE_FLAGS(Flags, Flag) - enum Filter { - FilterNone = 0, - FilterUnread = 1, - FilterNotFromChat = 2, - FilterFromFriends = 4 - }; - - Message(int clientId); - Message(const QVariantMap &data, int clientId); - Message(Client *client = 0); - Message(const QVariantMap &data, Client *client); - Message(const Message &other); - Message &operator =(const Message &other); - bool operator ==(const Message &other); - virtual ~Message(); - - int id() const; - void setId(int id); - QDateTime date() const; - void setDate(const QDateTime &date); - int fromId() const; - void setFromId(int id); - int toId() const; - void setToId(int id); - int chatId() const; - void setChatId(int chatId); - QString subject() const; - void setSubject(const QString &subject); - QString body() const; - void setBody(const QString &body); - bool isUnread() const; - void setUnread(bool set); - bool isIncoming() const; - void setIncoming(bool set); - void setFlags(Flags flags); - Flags flags() const; - void setFlag(Flag flag, bool set = true); - bool testFlag(Flag flag) const; - Attachment::Hash attachments() const; - Attachment::List attachments(Attachment::Type type) const; - void setAttachments(const Attachment::List &attachmentList); - - static MessageList fromVariantList(const QVariantList &list, Client *client); - static MessageList fromVariantList(const QVariantList &list, int clientId); -private: - QSharedDataPointer d; -}; - -typedef QList IdList; - -} // namespace Vreen - -Q_DECLARE_METATYPE(Vreen::Message) -Q_DECLARE_METATYPE(Vreen::MessageList) -Q_DECLARE_METATYPE(Vreen::IdList) -Q_DECLARE_OPERATORS_FOR_FLAGS(Vreen::Message::Flags) - -#endif // VK_MESSAGE_H - diff --git a/3rdparty/vreen/vreen/src/api/messagemodel.cpp b/3rdparty/vreen/vreen/src/api/messagemodel.cpp deleted file mode 100644 index a87c2d418..000000000 --- a/3rdparty/vreen/vreen/src/api/messagemodel.cpp +++ /dev/null @@ -1,286 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "messagemodel.h" -#include "contact.h" -#include "longpoll.h" -#include "utils.h" -#include "utils_p.h" -#include "client.h" -#include -#include -#include - -namespace Vreen { - -class MessageListModel; -class MessageListModelPrivate -{ - Q_DECLARE_PUBLIC(MessageListModel) -public: - MessageListModelPrivate(MessageListModel *q) : q_ptr(q), - messageComparator(Qt::DescendingOrder) {} - MessageListModel *q_ptr; - QPointer client; - - MessageList messageList; - IdComparator messageComparator; -}; - - -MessageListModel::MessageListModel(QObject *parent) : - QAbstractListModel(parent), - d_ptr(new MessageListModelPrivate(this)) -{ - auto roles = roleNames(); - roles[SubjectRole] = "subject"; - roles[BodyRole] = "body"; - roles[FromRole] = "from"; - roles[ToRole] = "to"; - roles[ReadStateRole] = "unread"; - roles[DirectionRole] = "incoming"; - roles[DateRole] = "date"; - roles[IdRole] = "mid"; - roles[AttachmentRole] = "attachments"; - roles[ChatIdRole] = "chatId"; - setRoleNames(roles); -} - -MessageListModel::~MessageListModel() -{ - -} - -int MessageListModel::count() const -{ - return d_func()->messageList.count(); -} - -Message MessageListModel::at(int index) const -{ - return d_func()->messageList.at(index); -} - -int MessageListModel::findMessage(int id) -{ - Q_D(MessageListModel); - for (int index = 0; index != d->messageList.count(); index++) - if (d->messageList.at(index).id() == id) - return index; - return -1; -} - - -QVariant MessageListModel::data(const QModelIndex &index, int role) const -{ - Q_D(const MessageListModel); - - int row = index.row(); - auto message = d->messageList.at(row); - switch (role) { - case SubjectRole: - return message.subject(); - break; - case BodyRole: - return fromHtmlEntities(message.body()); - case FromRole: - return QVariant::fromValue(d->client->contact(message.fromId())); - case ToRole: - return QVariant::fromValue(d->client->contact(message.toId())); - case ReadStateRole: - return message.isUnread(); - case DirectionRole: - return message.isIncoming(); - case DateRole: - return message.date(); - case IdRole: - return message.id(); - case AttachmentRole: - return Attachment::toVariantMap(message.attachments()); - case ChatIdRole: - return message.chatId(); - default: - break; - } - return QVariant::Invalid; -} - -int MessageListModel::rowCount(const QModelIndex &) const -{ - return count(); -} - -void MessageListModel::setSortOrder(Qt::SortOrder order) -{ - Q_D(MessageListModel); - if (d->messageComparator.sortOrder != order) { - sort(0, order); - emit sortOrderChanged(order); - } -} - -Qt::SortOrder MessageListModel::sortOrder() const -{ - return d_func()->messageComparator.sortOrder; -} - -void MessageListModel::setClient(Client *client) -{ - Q_D(MessageListModel); - if (d->client != client) { - d->client = client; - emit clientChanged(client); - - if (d->client) { - auto longPoll = d->client.data()->longPoll(); - connect(longPoll, SIGNAL(messageFlagsReplaced(int, int, int)), SLOT(replaceMessageFlags(int, int, int))); - connect(longPoll, SIGNAL(messageFlagsReseted(int,int,int)), SLOT(resetMessageFlags(int,int))); - } - if (client) - client->disconnect(this); - } -} - -Client *MessageListModel::client() const -{ - return d_func()->client.data(); -} - -void MessageListModel::addMessage(const Message &message) -{ - Q_D(MessageListModel); - int index = findMessage(message.id()); - if (index != -1) - return; - - index = lowerBound(d->messageList, message, d->messageComparator); - doInsertMessage(index, message); -} - -void MessageListModel::removeMessage(const Message &message) -{ - Q_D(MessageListModel); - int index = d->messageList.indexOf(message); - if (index == -1) - return; - doRemoveMessage(index); -} - -void MessageListModel::removeMessage(int id) -{ - int index = findMessage(id); - if (index != -1) - doRemoveMessage(index); -} - -void MessageListModel::setMessages(const MessageList &messages) -{ - clear(); - foreach (auto message, messages) { - addMessage(message); - qApp->processEvents(QEventLoop::ExcludeUserInputEvents); - } -} - -void MessageListModel::clear() -{ - Q_D(MessageListModel); - beginRemoveRows(QModelIndex(), 0, d->messageList.count()); - d->messageList.clear(); - endRemoveRows(); -} - -void MessageListModel::doReplaceMessage(int i, const Message &message) -{ - auto index = createIndex(i, 0); - d_func()->messageList[i] = message; - emit dataChanged(index, index); -} - -void MessageListModel::doInsertMessage(int index, const Message &message) -{ - Q_D(MessageListModel); - beginInsertRows(QModelIndex(), index, index); - d->messageList.insert(index, message); - endInsertRows(); -} - -void MessageListModel::doRemoveMessage(int index) -{ - Q_D(MessageListModel); - beginRemoveRows(QModelIndex(), index, index); - d->messageList.removeAt(index); - endRemoveRows(); -} - -void MessageListModel::moveMessage(int sourceIndex, int destinationIndex) -{ - Q_D(MessageListModel); - beginMoveRows(QModelIndex(), sourceIndex, sourceIndex, - QModelIndex(), destinationIndex); - d->messageList.move(sourceIndex, destinationIndex); - endMoveRows(); -} - -void MessageListModel::sort(int column, Qt::SortOrder order) -{ - Q_D(MessageListModel); - Q_UNUSED(column); - d->messageComparator.sortOrder = order; - qStableSort(d->messageList.begin(), d->messageList.end(), d->messageComparator); - emit dataChanged(createIndex(0, 0), createIndex(d->messageList.count(), 0)); -} - -void MessageListModel::replaceMessageFlags(int id, int mask, int userId) -{ - Q_UNUSED(userId); - int index = findMessage(id); - if (index == -1) - return; - - auto message = at(index); - Message::Flags flags = message.flags(); - flags |= static_cast(mask); - message.setFlags(flags); - doReplaceMessage(index, message); -} - -void MessageListModel::resetMessageFlags(int id, int mask, int userId) -{ - Q_UNUSED(userId); - int index = findMessage(id); - if (index == -1) - return; - - auto message = at(index); - auto flags = message.flags(); - flags &= ~mask; - message.setFlags(flags); - doReplaceMessage(index, message); -} - -} //namespace Vreen - -#include "moc_messagemodel.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/messagemodel.h b/3rdparty/vreen/vreen/src/api/messagemodel.h deleted file mode 100644 index 21e61a558..000000000 --- a/3rdparty/vreen/vreen/src/api/messagemodel.h +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef MESSAGEMODEL_H -#define MESSAGEMODEL_H - -#include -#include "message.h" - -namespace Vreen { - -class MessageListModelPrivate; -class VK_SHARED_EXPORT MessageListModel : public QAbstractListModel -{ - Q_OBJECT - Q_DECLARE_PRIVATE(MessageListModel) - Q_PROPERTY(Qt::SortOrder sortOrder READ sortOrder WRITE setSortOrder NOTIFY sortOrderChanged) - Q_PROPERTY(Vreen::Client* client READ client WRITE setClient NOTIFY clientChanged) -public: - - enum Roles { - SubjectRole = Qt::UserRole + 1, - BodyRole, - FromRole, - ToRole, - ReadStateRole, - DirectionRole, - DateRole, - IdRole, - ChatIdRole, - AttachmentRole - }; - - MessageListModel(QObject *parent = 0); - virtual ~MessageListModel(); - int count() const; - Message at(int index) const; - int findMessage(int id); - virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - virtual int rowCount(const QModelIndex &parent) const; - void setSortOrder(Qt::SortOrder order); - Qt::SortOrder sortOrder() const; - void setClient(Client *client); - Client *client() const; -signals: - void sortOrderChanged(Qt::SortOrder order); - void clientChanged(Vreen::Client*); -public slots: - void addMessage(const Vreen::Message &message); - void removeMessage(const Vreen::Message &message); - void removeMessage(int id); - void setMessages(const Vreen::MessageList &messages); - void clear(); -protected: - virtual void doReplaceMessage(int index, const::Vreen::Message &message); - virtual void doInsertMessage(int index, const::Vreen::Message &message); - virtual void doRemoveMessage(int index); - void moveMessage(int sourceIndex, int destinationIndex); - virtual void sort(int column, Qt::SortOrder order); -protected slots: - void replaceMessageFlags(int id, int mask, int userId = 0); - void resetMessageFlags(int id, int mask, int userId = 0); -private: - QScopedPointer d_ptr; -}; - -} //namespace Vreen - -#endif // MESSAGEMODEL_H - diff --git a/3rdparty/vreen/vreen/src/api/messagesession.cpp b/3rdparty/vreen/vreen/src/api/messagesession.cpp deleted file mode 100644 index 44bb5a2ef..000000000 --- a/3rdparty/vreen/vreen/src/api/messagesession.cpp +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "messagesession_p.h" -#include "client.h" -#include "utils_p.h" - -namespace Vreen { - -MessageSession::MessageSession(MessageSessionPrivate *data) : - QObject(data->client), - d_ptr(data) -{ -} -MessageSession::~MessageSession() -{ -} - -Client *MessageSession::client() const -{ - return d_func()->client; -} - -int MessageSession::uid() const -{ - return d_func()->uid; -} - -QString MessageSession::title() const -{ - return d_func()->title; -} - -void MessageSession::setTitle(const QString &title) -{ - Q_D(MessageSession); - if (d->title != title) { - d->title = title; - emit titleChanged(title); - } -} - -ReplyBase *MessageSession::getHistory(int count, int offset) -{ - auto reply = doGetHistory(count, offset); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_history_received(QVariant))); - return reply; -} - -SendMessageReply *MessageSession::sendMessage(const QString &body, const QString &subject) -{ - Q_D(MessageSession); - Message msg(d->client); - msg.setToId(d->uid); - msg.setBody(body); - msg.setSubject(subject); - return sendMessage(msg); -} - -SendMessageReply *MessageSession::sendMessage(const Message &message) -{ - return doSendMessage(message); -} - -Reply *MessageSession::markMessagesAsRead(IdList ids, bool set) -{ - Q_D(MessageSession); - QString request = set ? "messages.markAsRead" - : "messages.markAsNew"; - QVariantMap args; - args.insert("mids", join(ids)); - auto reply = d->client->request(request, args); - reply->setProperty("mids", qVariantFromValue(ids)); - reply->setProperty("set", set); - return reply; -} - -void MessageSessionPrivate::_q_history_received(const QVariant &) -{ - Q_Q(MessageSession); - auto reply = static_cast*>(q->sender()); - foreach (auto message, reply->result()) - emit q->messageAdded(message); -} - -} // namespace Vreen - -#include "moc_messagesession.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/messagesession.h b/3rdparty/vreen/vreen/src/api/messagesession.h deleted file mode 100644 index 81428f8da..000000000 --- a/3rdparty/vreen/vreen/src/api/messagesession.h +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_MESSAGESESSION_H -#define VK_MESSAGESESSION_H - -#include -#include "message.h" -#include "client.h" - -namespace Vreen { - -class Message; -class Client; -class MessageSessionPrivate; - -class VK_SHARED_EXPORT MessageSession : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(MessageSession) - - Q_PROPERTY(int uid READ uid CONSTANT) - Q_PROPERTY(Client* client READ client CONSTANT) - Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged) -public: - explicit MessageSession(MessageSessionPrivate *data); - virtual ~MessageSession(); - Client *client() const; - int uid() const; - QString title() const; -public slots: - ReplyBase *getHistory(int count = 16, int offset = 0); - SendMessageReply *sendMessage(const QString &body, const QString &subject = QString()); - SendMessageReply *sendMessage(const Message &message); - Reply *markMessagesAsRead(IdList ids, bool set = true); - void setTitle(const QString &title); -signals: - void messageAdded(const Vreen::Message &message); - void messageDeleted(int id); - void messageReadStateChanged(int mid, bool isRead); - void titleChanged(const QString &title); -protected: - virtual SendMessageReply *doSendMessage(const Vreen::Message &message) = 0; - virtual ReplyBase *doGetHistory(int count, int offset) = 0; - QScopedPointer d_ptr; -private: - Q_PRIVATE_SLOT(d_func(), void _q_history_received(const QVariant &)) -}; - -} // namespace Vreen - -#endif // VK_MESSAGESESSION_H - diff --git a/3rdparty/vreen/vreen/src/api/messagesession_p.h b/3rdparty/vreen/vreen/src/api/messagesession_p.h deleted file mode 100644 index f48d57565..000000000 --- a/3rdparty/vreen/vreen/src/api/messagesession_p.h +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef MESSAGESESSION_P_H -#define MESSAGESESSION_P_H -#include "messagesession.h" -#include "longpoll.h" - -namespace Vreen { - -class MessageSession; -class MessageSessionPrivate -{ - Q_DECLARE_PUBLIC(MessageSession) -public: - MessageSessionPrivate(MessageSession *q, Client *client, int uid) : - q_ptr(q), client(client), uid(uid) {} - MessageSession *q_ptr; - Client *client; - int uid; - QString title; - - void _q_history_received(const QVariant &); -}; - -} //namespace Vreen - -#endif // MESSAGESESSION_P_H - diff --git a/3rdparty/vreen/vreen/src/api/newsfeed.cpp b/3rdparty/vreen/vreen/src/api/newsfeed.cpp deleted file mode 100644 index 6b893d774..000000000 --- a/3rdparty/vreen/vreen/src/api/newsfeed.cpp +++ /dev/null @@ -1,148 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "newsfeed.h" -#include "utils.h" -#include "client.h" -#include "roster.h" -#include "groupmanager.h" -#include - -namespace Vreen { - -static const char *filters_str[] = { - "post", - "photo", - "photo_tag", - "friend", - "note" -}; - -class NewsFeed; -class NewsFeedPrivate -{ - Q_DECLARE_PUBLIC(NewsFeed) -public: - NewsFeedPrivate(NewsFeed *q, Client *client) : q_ptr(q), client(client) {} - NewsFeed *q_ptr; - Client *client; - - void updateProfiles(const QVariantList &profiles) - { - foreach (auto item, profiles) { - auto map = item.toMap(); - int uid = map.value("uid").toInt(); - - if (uid > 0) { - auto roster = client->roster(); - auto buddy = roster->buddy(uid); - Contact::fill(buddy, map); - } else { - auto manager = client->groupManager(); - auto group = manager->group(-uid); - Contact::fill(group, map); - } - } - } - - void updateGroups(const QVariantList &groups) - { - foreach (auto item, groups) { - auto map = item.toMap(); - auto manager = client->groupManager(); - int gid = -map.value("gid").toInt(); - auto contact = manager->group(gid); - Contact::fill(contact, map); - } - } - - void _q_news_received(const QVariant &response) - { - Q_Q(NewsFeed); - auto map = response.toMap(); - updateProfiles(map.value("profiles").toList()); - updateGroups(map.value("groups").toList()); - - auto items = map.value("items").toList(); - NewsItemList news; - foreach (auto item, items) { - auto newsItem = NewsItem::fromData(item); - auto map = item.toMap(); - auto itemCount = strCount(filters_str); - for (size_t i = 0; i != itemCount; i++) { - auto list = map.value(filters_str[i]).toList(); - if (list.count()) { - auto count = list.takeFirst().toInt(); - Q_UNUSED(count); - newsItem.setAttachments(Attachment::fromVariantList(list)); - break; - } - } - news.append(newsItem); - } - emit q->newsReceived(news); - } -}; - -/*! - * \brief The NewsFeed class - * Api reference: \link http://vk.com/developers.php?oid=-1&p=Расширенные_методы_API - */ - -/*! - * \brief NewsFeed::NewsFeed - * \param client - */ -NewsFeed::NewsFeed(Client *client) : - QObject(client), - d_ptr(new NewsFeedPrivate(this, client)) -{ - -} - -NewsFeed::~NewsFeed() -{ - -} - -/*! - * \brief NewsFeed::getNews API reference is \link http://vk.com/developers.php?oid=-1&p=newsfeed.get - * \return - */ -Reply *NewsFeed::getNews(Filters filters, quint8 count, int offset) -{ - QVariantMap args; - args.insert("count", count); - args.insert("filters", flagsToStrList(filters, filters_str).join(",")); - args.insert("offset", offset); - - auto reply = d_func()->client->request("newsfeed.get", args); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_news_received(QVariant))); - return reply; -} - -} //namespace Vreen - -#include "moc_newsfeed.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/newsfeed.h b/3rdparty/vreen/vreen/src/api/newsfeed.h deleted file mode 100644 index 008b0e4ab..000000000 --- a/3rdparty/vreen/vreen/src/api/newsfeed.h +++ /dev/null @@ -1,71 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef NEWSFEED_H -#define NEWSFEED_H -#include -#include "newsitem.h" -#include - -namespace Vreen { - -class NewsFeedPrivate; -class Client; -class Reply; - -class VK_SHARED_EXPORT NewsFeed : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(NewsFeed) - Q_ENUMS(Filter) -public: - - enum Filter { - FilterNone = 0, - FilterPost = 0x01, - FilterPhoto = 0x02, - FilterPhotoTag = 0x04, - FilterFriend = 0x08, - FilterNote = 0x10 - }; - Q_DECLARE_FLAGS(Filters, Filter) - - NewsFeed(Client *client); - virtual ~NewsFeed(); -public slots: - Reply *getNews(Filters filters = FilterNone, quint8 count = 25, int offset = 0); -signals: - void newsReceived(const Vreen::NewsItemList &list); -private: - QScopedPointer d_ptr; - - Q_PRIVATE_SLOT(d_func(), void _q_news_received(QVariant)) -}; - -} //namespace Vreen - -Q_DECLARE_OPERATORS_FOR_FLAGS(Vreen::NewsFeed::Filters) - -#endif // NEWSFEED_H - diff --git a/3rdparty/vreen/vreen/src/api/newsitem.cpp b/3rdparty/vreen/vreen/src/api/newsitem.cpp deleted file mode 100644 index cca110233..000000000 --- a/3rdparty/vreen/vreen/src/api/newsitem.cpp +++ /dev/null @@ -1,234 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licees/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "newsitem.h" -#include "utils.h" -#include "utils_p.h" -#include -#include -#include - -namespace Vreen { - -class NewsItemData : public QSharedData { -public: - NewsItemData() : QSharedData() {} - NewsItemData(const NewsItemData &o) : QSharedData(o), - body(o.body), - data(o.data), - likes(o.likes), - reposts(o.reposts), - attachmentHash(o.attachmentHash) - {} - - QString body; - - QVariantMap data; - QVariantMap likes; - QVariantMap reposts; - Attachment::Hash attachmentHash; -}; - -QDataStream &operator <<(QDataStream &out, const NewsItem &item) -{ - auto &d = item.d; - return out << d->body - << d->data - << d->likes - << d->reposts - << d->attachmentHash.values(); -} - -QDataStream &operator >>(QDataStream &out, NewsItem &item) -{ - auto &d = item.d; - Attachment::List list; - out >> d->body - >> d->data - >> d->likes - >> d->reposts - >> list; - d->attachmentHash = Attachment::toHash(list); - return out; -} - -const static QStringList types = QStringList() - << "post" - << "photo" - << "photo_tag" - << "friend" - << "note"; - -/*! - * \brief The NewsItem class - * Api reference: \link http://vk.com/developers.php?oid=-1&p=newsfeed.get - */ - -/*! - * \brief NewsItem::NewsItem - */ - -NewsItem::NewsItem() : d(new NewsItemData) -{ -} - -NewsItem::NewsItem(const QVariantMap &data) : d(new NewsItemData) -{ - setData(data); -} - -NewsItem::NewsItem(const NewsItem &rhs) : d(rhs.d) -{ -} - -NewsItem &NewsItem::operator=(const NewsItem &rhs) -{ - if (this != &rhs) - d.operator=(rhs.d); - return *this; -} - -NewsItem::~NewsItem() -{ -} - -NewsItem NewsItem::fromData(const QVariant &data) -{ - return NewsItem(data.toMap()); -} - -void NewsItem::setData(const QVariantMap &data) -{ - d->data = data; - d->body = fromHtmlEntities(d->data.take("text").toString()); - d->likes = d->data.take("likes").toMap(); - d->reposts = d->data.take("reposts").toMap(); - auto attachmentList = Attachment::fromVariantList(d->data.take("attachments").toList()); - setAttachments(attachmentList); - -} - -Attachment::Hash NewsItem::attachments() const -{ - return d->attachmentHash; -} - -Attachment::List NewsItem::attachments(Attachment::Type type) const -{ - return d->attachmentHash.values(type); -} - -void NewsItem::setAttachments(const Attachment::List &attachmentList) -{ - d->attachmentHash = Attachment::toHash(attachmentList); -} - -NewsItem::Type NewsItem::type() const -{ - return static_cast(types.indexOf(d->data.value("type").toString())); -} - -void NewsItem::setType(NewsItem::Type type) -{ - d->data.insert("type", types.value(type)); -} - -int NewsItem::postId() const -{ - return d->data.value("post_id").toInt(); -} - -void NewsItem::setPostId(int postId) -{ - d->data.insert("post_id", postId); -} - -int NewsItem::sourceId() const -{ - return d->data.value("source_id").toInt(); -} - -void NewsItem::setSourceId(int sourceId) -{ - d->data.insert("source_id", sourceId); -} - -QString NewsItem::body() const -{ - return d->body; -} - -void NewsItem::setBody(const QString &body) -{ - d->body = body; -} - -QDateTime NewsItem::date() const -{ - return QDateTime::fromTime_t(d->data.value("date").toInt()); -} - -void NewsItem::setDate(const QDateTime &date) -{ - d->data.insert("date", date.toTime_t()); -} - -QVariant NewsItem::property(const QString &name, const QVariant &def) const -{ - return d->data.value(name, def); -} - -QStringList NewsItem::dynamicPropertyNames() const -{ - return d->data.keys(); -} - -void NewsItem::setProperty(const QString &name, const QVariant &value) -{ - d->data.insert(name, value); -} - -QVariantMap NewsItem::likes() const -{ - return d->likes; -} - -void NewsItem::setLikes(const QVariantMap &likes) -{ - d->likes = likes; -} - -QVariantMap NewsItem::reposts() const -{ - return d->reposts; -} - -void NewsItem::setReposts(const QVariantMap &reposts) -{ - d->reposts = reposts; -} - -} // namespace Vreen - -#include "moc_newsitem.cpp" diff --git a/3rdparty/vreen/vreen/src/api/newsitem.h b/3rdparty/vreen/vreen/src/api/newsitem.h deleted file mode 100644 index ac027774f..000000000 --- a/3rdparty/vreen/vreen/src/api/newsitem.h +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_NEWSITEM_H -#define VK_NEWSITEM_H - -#include -#include -#include "attachment.h" - -namespace Vreen { - -class NewsItemData; - -class VK_SHARED_EXPORT NewsItem -{ - Q_GADGET - Q_ENUMS(Type) -public: - - enum Type { - Post, - Photo, - PhotoTag, - Note, - Invalid = -1 - }; - - NewsItem(); - NewsItem(const NewsItem &); - NewsItem &operator=(const NewsItem &); - ~NewsItem(); - - static NewsItem fromData(const QVariant &data); - - Attachment::Hash attachments() const; - Attachment::List attachments(Attachment::Type type) const; - void setAttachments(const Attachment::List &attachmentList); - Type type() const; - void setType(Type type); - int postId() const; - void setPostId(int postId); - int sourceId() const; - void setSourceId(int sourceId); - QString body() const; - void setBody(const QString &body); - QDateTime date() const; - void setDate(const QDateTime &date); - QVariantMap likes() const; - void setLikes(const QVariantMap &likes); - QVariantMap reposts() const; - void setReposts(const QVariantMap &reposts); - - QVariant property(const QString &name, const QVariant &def = QVariant()) const; - template - T property(const char *name, const T &def) const - { return QVariant::fromValue(property(name, QVariant::fromValue(def))); } - void setProperty(const QString &name, const QVariant &value); - QStringList dynamicPropertyNames() const; - - VK_SHARED_EXPORT friend QDataStream &operator <<(QDataStream &out, const Vreen::NewsItem &item); - VK_SHARED_EXPORT friend QDataStream &operator >>(QDataStream &out, Vreen::NewsItem &item); -protected: - NewsItem(const QVariantMap &data); - void setData(const QVariantMap &data); -private: - QSharedDataPointer d; -}; -typedef QList NewsItemList; - -} // namespace Vreen - -Q_DECLARE_METATYPE(Vreen::NewsItem) -Q_DECLARE_METATYPE(Vreen::NewsItemList) - -#endif // VK_NEWSITEM_H - diff --git a/3rdparty/vreen/vreen/src/api/pollitem.cpp b/3rdparty/vreen/vreen/src/api/pollitem.cpp deleted file mode 100644 index 4fc0d8bf9..000000000 --- a/3rdparty/vreen/vreen/src/api/pollitem.cpp +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licees/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "pollitem.h" -#include -#include - -namespace Vreen { - -template<> -PollItem Attachment::to(const Attachment &data) -{ - PollItem item; - item.setPollId(data.property("poll_id").toInt()); - item.setQuestion(data.property("question").toString()); - return item; -} - -class PollItemData : public QSharedData { -public: - PollItemData() : - ownerId(0), pollId(0), votes(0), answerId(0) {} - PollItemData(const PollItemData &o) : QSharedData(o), - ownerId(o.ownerId), pollId(o.pollId), created(o.created), - question(o.question), votes(o.votes), answerId(o.answerId), - answers(o.answers) - {} - - int ownerId; - int pollId; - QDateTime created; - QString question; - int votes; - int answerId; - PollItem::AnswerList answers; -}; - -PollItem::PollItem(int pollId) : data(new PollItemData) -{ - data->pollId = pollId; -} - -PollItem::PollItem(const PollItem &rhs) : data(rhs.data) -{ -} - -PollItem &PollItem::operator=(const PollItem &rhs) -{ - if (this != &rhs) - data.operator=(rhs.data); - return *this; -} - -PollItem::~PollItem() -{ -} - -int PollItem::ownerId() const -{ - return data->ownerId; -} - -void PollItem::setOwnerId(int ownerId) -{ - data->ownerId = ownerId; -} - -int PollItem::pollId() const -{ - return data->pollId; -} - -void PollItem::setPollId(int pollId) -{ - data->pollId = pollId; -} - -QDateTime PollItem::created() const -{ - return data->created; -} - -void PollItem::setCreated(const QDateTime &created) -{ - data->created = created; -} - -QString PollItem::question() const -{ - return data->question; -} - -void PollItem::setQuestion(const QString &question) -{ - data->question = question; -} - -int PollItem::votes() const -{ - return data->votes; -} - -void PollItem::setVotes(int votes) -{ - data->votes = votes; -} - -int PollItem::answerId() const -{ - return data->answerId; -} - -void PollItem::setAnswerId(int answerId) -{ - data->answerId = answerId; -} - -PollItem::AnswerList PollItem::answers() const -{ - return data->answers; -} - -void PollItem::setAnswers(const PollItem::AnswerList &answers) -{ - data->answers = answers; -} - -} //namespace Vreen diff --git a/3rdparty/vreen/vreen/src/api/pollitem.h b/3rdparty/vreen/vreen/src/api/pollitem.h deleted file mode 100644 index 0317ad065..000000000 --- a/3rdparty/vreen/vreen/src/api/pollitem.h +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licees/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef POLLITEM_H -#define POLLITEM_H - -#include -#include -#include "attachment.h" - -namespace Vreen { - -class PollItemData; - -class VK_SHARED_EXPORT PollItem -{ -public: - struct Answer { - int id; - QString text; - int votes; - qreal rate; - }; - typedef QList AnswerList; - - PollItem(int pollId = 0); - PollItem(const PollItem &); - PollItem &operator=(const PollItem &); - ~PollItem(); - - int ownerId() const; - void setOwnerId(int ownerId); - int pollId() const; - void setPollId(int pollId); - QDateTime created() const; - void setCreated(const QDateTime &created); - QString question() const; - void setQuestion(const QString &question); - int votes() const; - void setVotes(int votes); - int answerId() const; - void setAnswerId(int answerId); - AnswerList answers() const; - void setAnswers(const AnswerList &answers); -private: - QSharedDataPointer data; -}; - -template<> -PollItem Attachment::to(const Attachment &data); - -} //namespace Vreen - -Q_DECLARE_METATYPE(Vreen::PollItem) - -#endif // POLLITEM_H diff --git a/3rdparty/vreen/vreen/src/api/pollprovider.cpp b/3rdparty/vreen/vreen/src/api/pollprovider.cpp deleted file mode 100644 index c0f7ccf32..000000000 --- a/3rdparty/vreen/vreen/src/api/pollprovider.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licees/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include -#include "client.h" -#include "pollprovider.h" -#include "pollitem.h" - -namespace Vreen { - -class PollProvider; -class PollProviderPrivate -{ - Q_DECLARE_PUBLIC(PollProvider) -public: - PollProviderPrivate(PollProvider *q, Client *client) : q_ptr(q), client(client) {} - PollProvider *q_ptr; - Client *client; - - static QVariant handlePoll(const QVariant& response) { - auto map = response.toMap(); - PollItem poll; - poll.setOwnerId(map.value("owner_id").toInt()); - poll.setPollId(map.value("poll_id").toInt()); - poll.setCreated(map.value("created").toDateTime()); - poll.setQuestion(map.value("question").toString()); - poll.setVotes(map.value("votes").toInt()); - poll.setAnswerId(map.value("answer_id").toInt()); - - PollItem::AnswerList answerList; - auto answers = map.value("answers").toList(); - foreach (auto item, answers) { - auto map = item.toMap(); - PollItem::Answer answer; - answer.id = map.value("id").toInt(); - answer.text = map.value("text").toString(); - answer.votes = map.value("votes").toInt(); - answer.rate = map.value("rate").toReal(); - answerList.append(answer); - } - poll.setAnswers(answerList); - - return QVariant::fromValue(poll); - } - -}; - -PollProvider::PollProvider(Client *client) : - QObject(client), - d_ptr(new PollProviderPrivate(this, client)) -{ -} - -PollProvider::~PollProvider() -{ -} - -PollItemReply *PollProvider::getPollById(int ownerId, int pollId) -{ - Q_D(PollProvider); - QVariantMap args; - args.insert("owner_id", ownerId); - args.insert("poll_id", pollId); - - auto reply = d->client->request("polls.getById", args, PollProviderPrivate::handlePoll); - return reply; -} - -Reply *PollProvider::addVote(int pollId, int answerId, int ownerId) -{ - Q_D(PollProvider); - QVariantMap args; - args.insert("poll_id", pollId); - args.insert("answer_id", answerId); - if (ownerId) - args.insert("owner_id", ownerId); - - auto reply = d->client->request("polls.addVote", args); - return reply; -} - -Reply *PollProvider::deleteVote(int pollId, int answerId, int ownerId) -{ - Q_D(PollProvider); - QVariantMap args; - args.insert("poll_id", pollId); - args.insert("answer_id", answerId); - if (ownerId) - args.insert("owner_id", ownerId); - - auto reply = d->client->request("polls.deleteVote", args); - return reply; -} - -} // namespace Vreen diff --git a/3rdparty/vreen/vreen/src/api/pollprovider.h b/3rdparty/vreen/vreen/src/api/pollprovider.h deleted file mode 100644 index 8296ac62f..000000000 --- a/3rdparty/vreen/vreen/src/api/pollprovider.h +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licees/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VREEN_POLLPROVIDER_H -#define VREEN_POLLPROVIDER_H - -#include "pollitem.h" -#include "reply.h" - -namespace Vreen { - -class Client; -typedef ReplyBase PollItemReply; - -class PollProviderPrivate; -class VK_SHARED_EXPORT PollProvider : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(PollProvider) -public: - explicit PollProvider(Client *client); - ~PollProvider(); - - PollItemReply *getPollById(int ownerId, int pollId); - Reply *addVote(int pollId, int answerId, int ownerId = 0); - Reply *deleteVote(int pollId, int answerId, int ownerId = 0); -protected: - QScopedPointer d_ptr; -}; - -} // namespace Vreen - -#endif // VREEN_POLLPROVIDER_H diff --git a/3rdparty/vreen/vreen/src/api/reply.cpp b/3rdparty/vreen/vreen/src/api/reply.cpp deleted file mode 100644 index b3683df73..000000000 --- a/3rdparty/vreen/vreen/src/api/reply.cpp +++ /dev/null @@ -1,150 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "reply_p.h" -#include -#include "client.h" -#include "message.h" - -namespace Vreen { - -Reply::Reply(QNetworkReply *reply) : - QObject(reply), - d_ptr(new ReplyPrivate(this)) -{ - setReply(reply); - - //qDebug() << "--Send reply:" << reply->url(); -} - -Reply::~Reply() -{ - //FIXME maybee it's never been used - if (auto networkReply = d_func()->networkReply.data()) - networkReply->deleteLater(); -} - -QNetworkReply *Reply::networkReply() const -{ - return d_func()->networkReply.data(); -} - -QVariant Reply::response() const -{ - return d_func()->response; -} - -QVariant Reply::error() const -{ - return d_func()->error; -} - -QVariant Reply::result() const -{ - Q_D(const Reply); - return d->result; -} - -void Reply::setReply(QNetworkReply *reply) -{ - Q_D(Reply); - if (!d->networkReply.isNull()) - d->networkReply.data()->deleteLater(); - d->networkReply = reply; - setParent(reply); - - connect(reply, SIGNAL(finished()), SLOT(_q_reply_finished())); - connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(_q_network_reply_error(QNetworkReply::NetworkError))); -} - -void Reply::setHandlerImpl(Reply::ResultHandlerBase *handler) -{ - Q_D(Reply); - d->resultHandler.reset(handler); -} - -void ReplyPrivate::_q_reply_finished() -{ - Q_Q(Reply); - auto reply = static_cast(q->sender()); - QVariantMap map = JSON::parse(reply->readAll()).toMap(); - //TODO error and captcha handler - - //qDebug() << "--Reply finished: " << reply->url().encodedPath(); - - response = map.value("response"); - if (!response.isNull()) { - if (resultHandler) - result = resultHandler->handle(response); - emit q->resultReady(response); - return; - } else { - error = map.value("error"); - int errorCode = error.toMap().value("error_code").toInt(); - if (errorCode) { - emit q->error(errorCode); - emit q->resultReady(response); //emit blank response to mark reply as finished - return; - } - } - if (!map.isEmpty()) { - response = map; - emit q->resultReady(response); - } -} - -void ReplyPrivate::_q_network_reply_error(QNetworkReply::NetworkError code) -{ - Q_Q(Reply); - error = code; - emit q->error(Client::ErrorNetworkReply); - emit q->resultReady(response); -} - -QVariant ReplyPrivate::handleIdList(const QVariant &response) -{ - IdList ids; - auto list = response.toList(); - foreach (auto item, list) { - ids.append(item.toInt()); - } - return QVariant::fromValue(ids); -} - - -QVariant MessageListHandler::operator()(const QVariant &response) -{ - MessageList msgList; - auto list = response.toList(); - if (list.count()) { - list.removeFirst(); //remove count - msgList = Message::fromVariantList(list, clientId); - } - return QVariant::fromValue(msgList); -} - -} // namespace Vreen - -#include "moc_reply.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/reply.h b/3rdparty/vreen/vreen/src/api/reply.h deleted file mode 100644 index 09b75c8dd..000000000 --- a/3rdparty/vreen/vreen/src/api/reply.h +++ /dev/null @@ -1,118 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_REPLY_H -#define VK_REPLY_H - -#include -#include -#include "vk_global.h" -#include - -class QNetworkReply; -namespace Vreen { - -class ReplyPrivate; -class VK_SHARED_EXPORT Reply : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(Reply) -public: - - class ResultHandlerBase - { - public: - virtual ~ResultHandlerBase() {} - virtual QVariant handle(const QVariant &data) = 0; - }; - - template - class ResultHandlerImpl : public ResultHandlerBase - { - public: - ResultHandlerImpl(Method method) : m_method(method) {} - QVariant handle(const QVariant &data) - { - return m_method(data); - } - private: - Method m_method; - }; - - virtual ~Reply(); - QNetworkReply *networkReply() const; - QVariant response() const; - Q_INVOKABLE QVariant error() const; - QVariant result() const; - - template - void setResultHandler(const Method &handler); -signals: - void resultReady(const QVariant &variables); - void error(int code); -protected: - explicit Reply(QNetworkReply *networkReply = 0); - void setReply(QNetworkReply *networkReply); - - QScopedPointer d_ptr; - - friend class Client; -private: - void setHandlerImpl(ResultHandlerBase *handler); - - Q_PRIVATE_SLOT(d_func(), void _q_reply_finished()) - Q_PRIVATE_SLOT(d_func(), void _q_network_reply_error(QNetworkReply::NetworkError)) -}; - - -template -void Reply::setResultHandler(const Method &handler) -{ - setHandlerImpl(new ResultHandlerImpl(handler)); -} - -template -class ReplyBase : public Reply -{ -public: - T result() const { return qvariant_cast(Reply::result()); } -protected: - template - explicit ReplyBase(Method handler, QNetworkReply *networkReply = 0) : - Reply(networkReply) - { - setResultHandler(handler); - } - friend class Client; -}; - -//some useful typedefs -typedef ReplyBase IntReply; - -} // namespace Vreen - -Q_DECLARE_METATYPE(Vreen::Reply*) - -#endif // VK_REPLY_H - diff --git a/3rdparty/vreen/vreen/src/api/reply_p.h b/3rdparty/vreen/vreen/src/api/reply_p.h deleted file mode 100644 index 8b3949d6f..000000000 --- a/3rdparty/vreen/vreen/src/api/reply_p.h +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef REPLY_P_H -#define REPLY_P_H -#include "reply.h" -#include "json.h" -#include "reply.h" -#include "QNetworkReply" -#include -#include -#include - -namespace Vreen { - -class ReplyPrivate -{ - Q_DECLARE_PUBLIC(Reply) -public: - ReplyPrivate(Reply *q) : q_ptr(q), resultHandler(0) {} - Reply *q_ptr; - - QPointer networkReply; - QVariant response; - QVariant error; - QScopedPointer resultHandler; - QVariant result; - - void _q_reply_finished(); - void _q_network_reply_error(QNetworkReply::NetworkError); - - static QVariant handleInt(const QVariant &response) { return response.toInt(); } - static QVariant handleIdList(const QVariant& response); -}; - - -struct MessageListHandler { - MessageListHandler(int clientId) : clientId(clientId) {} - QVariant operator()(const QVariant &response); - - int clientId; -}; - -} //namespace Vreen - -#endif // REPLY_P_H - diff --git a/3rdparty/vreen/vreen/src/api/roster.cpp b/3rdparty/vreen/vreen/src/api/roster.cpp deleted file mode 100644 index c355d95b1..000000000 --- a/3rdparty/vreen/vreen/src/api/roster.cpp +++ /dev/null @@ -1,346 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "roster_p.h" -#include "longpoll.h" -#include "utils_p.h" - -#include -#include - -namespace Vreen { - -/*! - * \brief The Roster class - * Api reference: \link http://vk.com/developers.php?oid=-1&p=friends.get - */ - -/*! - * \brief Roster::Roster - * \param client - */ -Roster::Roster(Client *client, int uid) : - QObject(client), - d_ptr(new RosterPrivate(this, client)) -{ - Q_D(Roster); - connect(d->client->longPoll(), SIGNAL(contactStatusChanged(int, Vreen::Contact::Status)), - this, SLOT(_q_status_changed(int, Vreen::Contact::Status))); - connect(d->client, SIGNAL(onlineStateChanged(bool)), SLOT(_q_online_changed(bool))); - if (uid) - setUid(uid); -} - -Roster::~Roster() -{ - -} - -void Roster::setUid(int uid) -{ - Q_D(Roster); - if (uid) { - if (d->owner) { - if (uid == d->owner->id()) - return; - else - qDeleteAll(d->buddyHash); - } - d->owner = buddy(uid); - emit uidChanged(uid); - } else { - qDeleteAll(d->buddyHash); - emit uidChanged(uid); - } -} - -int Roster::uid() const -{ - Q_D(const Roster); - if (d->owner) - return d->owner->id(); - return 0; -} - -Buddy *Roster::owner() const -{ - return d_func()->owner; -} - -Buddy *Roster::buddy(int id) -{ - Q_D(Roster); - if (!id) { - qWarning("Contact id cannot be null!"); - return 0; - } - if (id < 0) { - id = qAbs(id); - qWarning("For groups use class GroupManager"); - } - - - auto buddy = d->buddyHash.value(id); - if (!buddy) { - if (d->owner && d->owner->id() == id) - return d->owner; - buddy = new Buddy(id, d->client); - d->addBuddy(buddy); - } - return buddy; -} - -Buddy *Roster::buddy(int id) const -{ - return d_func()->buddyHash.value(id); -} - -BuddyList Roster::buddies() const -{ - return d_func()->buddyHash.values(); -} - -QMap Roster::tags() const -{ - return d_func()->tags; -} - -void Roster::setTags(const QMap &tags) -{ - d_func()->tags = tags; - emit tagsChanged(tags); -} - -/*! - * \brief Roster::getDialogs - * \param offset - * \param count - * \param previewLength - * \return - */ -Reply *Roster::getDialogs(int offset, int count, int previewLength) -{ - QVariantMap args; - args.insert("count", count); - args.insert("offset", offset); - if (previewLength != -1) - args.insert("preview_length", previewLength); - return d_func()->client->request("messages.getDialogs", args); -} - -/*! - * \brief Roster::getMessages - * \param offset - * \param count - * \param filter - * \return - */ -Reply *Roster::getMessages(int offset, int count, Message::Filter filter) -{ - QVariantMap args; - args.insert("count", count); - args.insert("offset", offset); - args.insert("filter", filter); - return d_func()->client->request("messages.get", args); -} - -void Roster::sync(const QStringList &fields) -{ - Q_D(Roster); - //TODO rewrite with method chains with lambdas in Qt5 - QVariantMap args; - args.insert("fields", fields.join(",")); - args.insert("order", "hints"); - - d->getTags(); - d->getFriends(args); -} - -/*! - * \brief Roster::update - * \param ids - * \param fields from \link http://vk.com/developers.php?oid=-1&p=Описание_полей_параметра_fields - */ -Reply *Roster::update(const IdList &ids, const QStringList &fields) -{ - Q_D(Roster); - QVariantMap args; - args.insert("uids", join(ids)); - args.insert("fields", fields.join(",")); - auto reply = d->client->request("users.get", args); - reply->connect(reply, SIGNAL(resultReady(const QVariant&)), - this, SLOT(_q_friends_received(const QVariant&))); - return reply; -} - -Reply *Roster::update(const BuddyList &buddies, const QStringList &fields) -{ - IdList ids; - foreach (auto buddy, buddies) - ids.append(buddy->id()); - return update(ids, fields); -} - -ReplyBase *Roster::getFriendRequests(int count, int offset, FriendRequestFlags flags) -{ - Q_D(Roster); - QVariantMap args; - args.insert("count", count); - args.insert("offset", offset); - if (flags & NeedMutualFriends) - args.insert("need_mutual", true); - if (flags & NeedMessages) - args.insert("need_messages", true); - if (flags & GetOutRequests) - args.insert("out", 1); - auto reply = d->client->request>("friends.getRequests", - args, - RosterPrivate::handleGetRequests); - return reply; -} - -void RosterPrivate::getTags() -{ - Q_Q(Roster); - auto reply = client->request("friends.getLists"); - reply->connect(reply, SIGNAL(resultReady(const QVariant&)), - q, SLOT(_q_tags_received(const QVariant&))); -} - -void RosterPrivate::getOnline() -{ -} - -void RosterPrivate::getFriends(const QVariantMap &args) -{ - Q_Q(Roster); - auto reply = client->request("friends.get", args); - reply->setProperty("friend", true); - reply->setProperty("sync", true); - reply->connect(reply, SIGNAL(resultReady(const QVariant&)), - q, SLOT(_q_friends_received(const QVariant&))); -} - -void RosterPrivate::addBuddy(Buddy *buddy) -{ - Q_Q(Roster); - if (!buddy->isFriend()) { - IdList ids; - ids.append(buddy->id()); - //q->update(ids, QStringList() << VK_COMMON_FIELDS); //TODO move! - } - buddyHash.insert(buddy->id(), buddy); - emit q->buddyAdded(buddy); -} - -void RosterPrivate::appendToUpdaterQueue(Buddy *contact) -{ - if (!updaterQueue.contains(contact->id())) - updaterQueue.append(contact->id()); - if (!updaterTimer.isActive()) - updaterTimer.start(); -} - -QVariant RosterPrivate::handleGetRequests(const QVariant &response) -{ - FriendRequestList list; - foreach (auto item, response.toList()) { - QVariantMap map = item.toMap(); - FriendRequest request(map.value("uid").toInt()); - - request.setMessage(map.value("message").toString()); - IdList ids; - QVariantMap mutuals = map.value("mutual").toMap(); - foreach (auto user, mutuals.value("users").toList()) - ids.append(user.toInt()); - request.setMutualFriends(ids); - list.append(request); - } - return QVariant::fromValue(list); -} - -void RosterPrivate::_q_tags_received(const QVariant &response) -{ - Q_Q(Roster); - auto list = response.toList(); - QMap tags; - foreach (auto item, list) { - tags.insert(item.toMap().value("lid").toInt(),item.toMap().value("name").toString()); - } - q->setTags(tags); -} - -void RosterPrivate::_q_friends_received(const QVariant &response) -{ - Q_Q(Roster); - bool isFriend = q->sender()->property("friend").toBool(); - bool isSync = q->sender()->property("sync").toBool(); - auto list = response.toList(); - foreach (auto data, list) { - auto map = data.toMap(); - int id = map.value("uid").toInt(); - auto buddy = buddyHash.value(id); - if (!buddy) { - buddy = new Buddy(id, client); - Contact::fill(buddy, map); - buddy->setIsFriend(isFriend); - buddyHash[id] = buddy; - if (!isSync) - emit q->buddyAdded(buddy); - } else { - buddy->setIsFriend(isFriend); - Contact::fill(buddy, map); - if (!isSync) - emit q->buddyUpdated(buddy); - } - } - emit q->syncFinished(true); -} - -void RosterPrivate::_q_status_changed(int userId, Buddy::Status status) -{ - Q_Q(Roster); - auto buddy = q->buddy(userId); - buddy->setStatus(status); -} - -void RosterPrivate::_q_online_changed(bool set) -{ - if (!set) - foreach(auto buddy, buddyHash) - buddy->setOnline(false); -} - -void RosterPrivate::_q_updater_handle() -{ - Q_Q(Roster); - q->update(updaterQueue); - updaterQueue.clear(); -} - - -} // namespace Vreen - -#include "moc_roster.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/roster.h b/3rdparty/vreen/vreen/src/api/roster.h deleted file mode 100644 index b7bf886cb..000000000 --- a/3rdparty/vreen/vreen/src/api/roster.h +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_ROSTER_H -#define VK_ROSTER_H - -#include "contact.h" -#include "message.h" -#include "reply.h" -#include "friendrequest.h" -#include -#include - -namespace Vreen { -class Client; - -class RosterPrivate; -class VK_SHARED_EXPORT Roster : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(Roster) - Q_FLAGS(FriendRequestFlags) -public: - - enum NameCase { - NomCase, - GenCase, - DatCase, - AccCase, - InsCase, - AblCase - }; - - enum FriendRequestFlag { - NeedMutualFriends, - NeedMessages, - GetOutRequests - }; - Q_DECLARE_FLAGS(FriendRequestFlags, FriendRequestFlag) - - Roster(Client *client, int uid = 0); - virtual ~Roster(); - void setUid(int uid); - int uid() const; - - Buddy *owner() const; - Buddy *buddy(int id); - Buddy *buddy(int id) const; - BuddyList buddies() const; - - QMap tags() const; - void setTags(const QMap &list); - Reply *getDialogs(int offset = 0, int count = 16, int previewLength = -1); - Reply *getMessages(int offset = 0, int count = 50, Message::Filter filter = Message::FilterNone); -public slots: - void sync(const QStringList &fields = QStringList() - << VK_COMMON_FIELDS - ); - Reply *update(const IdList &ids, const QStringList &fields = QStringList() - << VK_ALL_FIELDS - ); - Reply *update(const BuddyList &buddies, const QStringList &fields = QStringList() - << VK_ALL_FIELDS - ); - ReplyBase *getFriendRequests(int count = 100, int offset = 0, FriendRequestFlags flags = NeedMessages); -signals: - void buddyAdded(Vreen::Buddy *buddy); - void buddyUpdated(Vreen::Buddy *buddy); - void buddyRemoved(int id); - void tagsChanged(const QMap &); - void syncFinished(bool success); - void uidChanged(int uid); -protected: - QScopedPointer d_ptr; - - //friend class Contact; - friend class Buddy; - //friend class Group; - - Q_PRIVATE_SLOT(d_func(), void _q_tags_received(const QVariant &response)) - Q_PRIVATE_SLOT(d_func(), void _q_friends_received(const QVariant &response)) - Q_PRIVATE_SLOT(d_func(), void _q_status_changed(int userId, Vreen::Contact::Status status)) - Q_PRIVATE_SLOT(d_func(), void _q_online_changed(bool)) - Q_PRIVATE_SLOT(d_func(), void _q_updater_handle()) -}; - -} // namespace Vreen - -Q_DECLARE_METATYPE(Vreen::Roster*) -Q_DECLARE_OPERATORS_FOR_FLAGS(Vreen::Roster::FriendRequestFlags) - -#endif // VK_ROSTER_H - diff --git a/3rdparty/vreen/vreen/src/api/roster_p.h b/3rdparty/vreen/vreen/src/api/roster_p.h deleted file mode 100644 index 8237269d9..000000000 --- a/3rdparty/vreen/vreen/src/api/roster_p.h +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef ROSTER_P_H -#define ROSTER_P_H -#include "roster.h" -#include "client_p.h" -#include "contact_p.h" - -namespace Vreen { - -typedef QHash BuddyHash; - -class Roster; -class RosterPrivate -{ - Q_DECLARE_PUBLIC(Roster) -public: - RosterPrivate(Roster *q, Client *client) : - q_ptr(q), client(client), owner(0) - { - updaterTimer.setInterval(5000); - updaterTimer.setSingleShot(true); - updaterTimer.connect(&updaterTimer, SIGNAL(timeout()), - q, SLOT(_q_updater_handle())); - } - - Roster *q_ptr; - Client *client; - BuddyHash buddyHash; - Buddy *owner; - QMap tags; - - //TODO i want to use Qt5 slots - //class Updater { - //public: - // typedef std::function Handler; - - // Updater(Client *client, const QVariantMap &query, const Handler &handler) : - // client(client), - // query(query), - // handler(handler) - // { - // timer.setInterval(5000); - // timer.setSingleShot(true); - // QObject::connect(&timer, &timeout, this, &handle); - // } - // inline void handle() { - // if (queue.count()) { - // handler(client.data(), queue, query); - // queue.clear(); - // } - // } - // inline void append(const IdList &items) { - // queue.append(items); - // if (!timer.isActive()) { - // timer.start(); - // } - // } - //protected: - // QPointer client; - // QVariantMap query; - // IdList queue; - // QTimer timer; - // Handler handler; - //} updater; - - //updater - QTimer updaterTimer; - IdList updaterQueue; - - void getTags(); - void getOnline(); - void getFriends(const QVariantMap &args = QVariantMap()); - void addBuddy(Buddy *contact); - void appendToUpdaterQueue(Buddy *contact); - - static QVariant handleGetRequests(const QVariant &response); - - void _q_tags_received(const QVariant &response); - void _q_friends_received(const QVariant &response); - void _q_status_changed(int userId, Vreen::Contact::Status status); - void _q_online_changed(bool); - void _q_updater_handle(); -}; - -} //namespace Vreen - -#endif // ROSTER_P_H - diff --git a/3rdparty/vreen/vreen/src/api/utils.cpp b/3rdparty/vreen/vreen/src/api/utils.cpp deleted file mode 100644 index 2000cc8c8..000000000 --- a/3rdparty/vreen/vreen/src/api/utils.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "utils.h" -#include -#include -#include - -//#define MAX_ENTITY 258 -//extern const struct QTextHtmlEntity { const char *name; quint16 code; } entities[MAX_ENTITY]; - -namespace Vreen { - -QString join(IdList ids) -{ - QString result; - if (ids.isEmpty()) - return result; - - result = QString::number(ids.takeFirst()); - foreach (auto id, ids) - result += QLatin1Literal(",") % QString::number(id); - return result; -} - -QString toCamelCase(QString string) -{ - int from = 0; - while ((from = string.indexOf("_", from)) != -1) { - auto index = from + 1; - string.remove(from, 1); - auto letter = string.at(index); - string.replace(index, 1, letter.toUpper()); - } - return string; -} - -QString fromHtmlEntities(const QString &source) -{ - //Simple hack from slashdot - QTextDocument text; - text.setHtml(source); - return text.toPlainText(); -} - -QString toHtmlEntities(const QString &source) -{ - return Qt::escape(source); -} - -} //namespace Vreen - diff --git a/3rdparty/vreen/vreen/src/api/utils.h b/3rdparty/vreen/vreen/src/api/utils.h deleted file mode 100644 index bb6afdf45..000000000 --- a/3rdparty/vreen/vreen/src/api/utils.h +++ /dev/null @@ -1,151 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef UTILS_H -#define UTILS_H -#include "vk_global.h" -#include - -#include - -namespace Vreen { - -typedef QList IdList; - -template -Q_INLINE_TEMPLATE T sender_cast(QObject *sender) -{ -#ifndef QT_NO_DEBUG - Q_ASSERT(qobject_cast(sender)); -#endif - return static_cast(sender); -} - -template -Q_INLINE_TEMPLATE int strToEnum(const T &str, const char *(&strings)[N]) -{ - for(int i=0; i < N; i++) { - if(QLatin1String(strings[i]) == str) - return i; - } - return -1; -} - -template -Q_INLINE_TEMPLATE X strToEnum(const T &str, const char *(&strings)[N]) -{ - return static_cast(strToEnum(str,strings)); -} - -template -Q_INLINE_TEMPLATE QLatin1String enumToStr(int i, const char *(&strings)[N]) -{ - return QLatin1String((i < 0 || i >= N) ? 0 : strings[i]); -} - -template -Q_INLINE_TEMPLATE QStringList flagsToStrList(int i, const char *(&strings)[N]) -{ - QStringList list; - for (int pos = 0; pos < N; pos++) { - int flag = 1 << pos; - if ((flag) & i) - list.append(strings[pos]); - } - return list; -} - -template -int lowerBound(Container container, const T &value, LessThan lessThan) -{ - auto it = qLowerBound(container.constBegin(), container.constEnd(), value, lessThan); - int index = it - container.constBegin(); - return index; -} - -template -Q_INLINE_TEMPLATE size_t strCount(const char *(&)[N]) -{ - return N; -} - -template -struct ComparatorBase -{ - ComparatorBase(Method method, Qt::SortOrder order = Qt::AscendingOrder) : - method(method), - sortOrder(order) - { - - } - inline bool operator()(const Item &a, const Item &b) const - { - return operator()(method(a), method(b)); - } - inline bool operator()(const Item &a, int id) const - { - return operator()(method(a), id); - } - inline bool operator()(Value id, const Item &b) const - { - return operator()(id, method(b)); - } - inline bool operator()(Value a, Value b) const - { - return sortOrder == Qt::AscendingOrder ? a < b - : b < a; - } - - const Method method; - Qt::SortOrder sortOrder; -}; - -template -struct Comparator : public ComparatorBase -{ - typedef Value (*Method)(const Item &); - Comparator(Method method, Qt::SortOrder order = Qt::AscendingOrder) : - ComparatorBase(method, order) - { - - } -}; - -template -struct IdComparator : public Comparator -{ - IdComparator(Qt::SortOrder order = Qt::AscendingOrder) : - Comparator(id_, order) - { - - } -private: - inline static int id_(const Container &a) { return a.id(); } -}; - - -} //namespace Vreen - -#endif // UTILS_H - diff --git a/3rdparty/vreen/vreen/src/api/utils_p.h b/3rdparty/vreen/vreen/src/api/utils_p.h deleted file mode 100644 index f868e001f..000000000 --- a/3rdparty/vreen/vreen/src/api/utils_p.h +++ /dev/null @@ -1,37 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2013 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef UTILS_P_H -#define UTILS_P_H -#include "utils.h" - -namespace Vreen { - -QString VK_SHARED_EXPORT join(IdList ids); -QString VK_SHARED_EXPORT toCamelCase(QString string); -QString VK_SHARED_EXPORT fromHtmlEntities(const QString &source); - -} //namespace Vreen - -#endif // UTILS_P_H diff --git a/3rdparty/vreen/vreen/src/api/vk_global.h b/3rdparty/vreen/vreen/src/api/vk_global.h deleted file mode 100644 index fa1f5e91d..000000000 --- a/3rdparty/vreen/vreen/src/api/vk_global.h +++ /dev/null @@ -1,34 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef API_GLOBAL_H -#define API_GLOBAL_H - -#include - -#define VK_SHARED_EXPORT -typedef QList IdList; - -#endif // API_GLOBAL_H - diff --git a/3rdparty/vreen/vreen/src/api/vreen.pc.cmake b/3rdparty/vreen/vreen/src/api/vreen.pc.cmake deleted file mode 100644 index 595bba66b..000000000 --- a/3rdparty/vreen/vreen/src/api/vreen.pc.cmake +++ /dev/null @@ -1,12 +0,0 @@ -prefix=${CMAKE_INSTALL_PREFIX} -exec_prefix=${CMAKE_INSTALL_PREFIX}/bin -libdir=${LIB_DESTINATION} -includedir=${VREEN_PKG_INCDIR} - -Name: vreen -Description: Simple and fast Qt Binding for vk.com API -Requires: QtCore QtNetwork -Version: ${LIBRARY_VERSION} -Libs: ${VREEN_PKG_LIBS} -Cflags: -I${VREEN_PKG_INCDIR} - diff --git a/3rdparty/vreen/vreen/src/api/wallpost.cpp b/3rdparty/vreen/vreen/src/api/wallpost.cpp deleted file mode 100644 index ccfd280c4..000000000 --- a/3rdparty/vreen/vreen/src/api/wallpost.cpp +++ /dev/null @@ -1,247 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "wallpost.h" -#include "dynamicpropertydata_p.h" -#include -#include "roster.h" -#include "client.h" -#include "utils_p.h" - -namespace Vreen { - -class WallPostData : public QSharedData -{ -public: - WallPostData() : QSharedData(), - id(0), - fromId(0), - toId(0), - ownerId(0), - signerId(0) - {} - WallPostData(const WallPostData &o) : QSharedData(o), - id(o.id), - body(o.body), - date(o.date), - fromId(o.fromId), - toId(o.toId), - ownerId(o.ownerId), - signerId(o.signerId), - copyText(o.copyText), - likes(o.likes), - reposts(o.reposts), - attachmentHash(o.attachmentHash), - data(o.data) - {} - - int id; - QString body; - QDateTime date; - int fromId; - int toId; - int ownerId; - int signerId; - QString copyText; - QVariantMap likes; - QVariantMap reposts; - Attachment::Hash attachmentHash; - QVariantMap data; -}; - -WallPost::WallPost() : - d(new WallPostData()) -{ -} - -WallPost::WallPost(QVariantMap data) : - d(new WallPostData()) -{ - d->id = data.take("id").toInt(); - d->body = fromHtmlEntities(data.take("text").toString()); - d->fromId = data.take("from_id").toInt(); - d->toId = data.take("to_id").toInt(); - d->ownerId = data.take("copy_owner_id").toInt(); - d->signerId = data.take("signer_id").toInt(); - d->copyText = fromHtmlEntities(data.take("copy_text").toString()); - d->date = QDateTime::fromTime_t(data.take("date").toUInt()); - d->likes = data.take("likes").toMap(); - d->reposts = data.take("reposts").toMap(); - setAttachments(Attachment::fromVariantList(data.take("attachments").toList())); - d->data = data; -} - -WallPost::WallPost(const WallPost &other) : d(other.d) -{ -} - -WallPost &WallPost::operator=(const WallPost &other) -{ - if (this != &other) - d.operator=(other.d); - return *this; -} - -WallPost::~WallPost() -{ -} - -void WallPost::setId(int id) -{ - d->id = id; -} - -int WallPost::id() const -{ - return d->id; -} - -void WallPost::setBody(const QString &body) -{ - d->body = body; -} - -QString WallPost::body() const -{ - return d->body; -} - -void WallPost::setFromId(int id) -{ - d->fromId = id; -} - -int WallPost::fromId() const -{ - return d->fromId; -} - -void WallPost::setToId(int id) -{ - d->toId = id; -} - -int WallPost::toId() const -{ - return d->toId; -} - -int WallPost::ownerId() const -{ - return d->ownerId; -} - -void WallPost::setOwnerId(int ownerId) -{ - d->ownerId = ownerId; -} - -void WallPost::setDate(const QDateTime &date) -{ - d->date = date; -} - -QDateTime WallPost::date() const -{ - return d->date; -} - -int WallPost::signerId() const -{ - return d->signerId; -} - -void WallPost::setSignerId(int signerId) -{ - d->signerId = signerId; -} - -QString WallPost::copyText() const -{ - return d->copyText; -} - -void WallPost::setCopyText(const QString ©Text) -{ - d->copyText = copyText; -} - -Attachment::Hash WallPost::attachments() const -{ - return d->attachmentHash; -} - -Attachment::List WallPost::attachments(Attachment::Type type) const -{ - return d->attachmentHash.values(type); -} - -void WallPost::setAttachments(const Attachment::List &list) -{ - d->attachmentHash = Attachment::toHash(list); -} - -QVariantMap WallPost::likes() const -{ - return d->likes; -} - -void WallPost::setLikes(const QVariantMap &likes) -{ - d->likes = likes; -} - -WallPost WallPost::fromData(const QVariant data) -{ - return WallPost(data.toMap()); -} - -QVariant WallPost::property(const QString &name, const QVariant &def) const -{ - return d->data.value(name, def); -} - -void WallPost::setProperty(const QString &name, const QVariant &value) -{ - d->data.insert(name, value); -} - -QStringList WallPost::dynamicPropertyNames() const -{ - return d->data.keys(); -} - -QVariantMap WallPost::reposts() const -{ - return d->reposts; -} - -void WallPost::setReposts(const QVariantMap &reposts) -{ - d->reposts = reposts; -} - - -} //namespace Vreen - diff --git a/3rdparty/vreen/vreen/src/api/wallpost.h b/3rdparty/vreen/vreen/src/api/wallpost.h deleted file mode 100644 index 6643aeac6..000000000 --- a/3rdparty/vreen/vreen/src/api/wallpost.h +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef WALLPOST_H -#define WALLPOST_H - -#include -#include -#include "vk_global.h" -#include "attachment.h" - -namespace Vreen { - -class WallPostData; -class Client; -class Contact; - -class VK_SHARED_EXPORT WallPost -{ -public: - WallPost(); - WallPost(const WallPost &); - WallPost &operator=(const WallPost &); - ~WallPost(); - - void setId(int id); - int id() const; - void setBody(const QString &body); - QString body() const; - void setFromId(int id); - int fromId() const; - void setToId(int id); - int toId() const; - int ownerId() const; - void setOwnerId(int ownerId); - void setDate(const QDateTime &date); - QDateTime date() const; - int signerId() const; - void setSignerId(int signerId); - QString copyText() const; - void setCopyText(const QString ©Text); - Attachment::Hash attachments() const; - Attachment::List attachments(Attachment::Type type) const; - void setAttachments(const Attachment::List &attachmentList); - QVariantMap likes() const; - void setLikes(const QVariantMap &likes); - QVariantMap reposts() const; - void setReposts(const QVariantMap &reposts); - - static WallPost fromData(const QVariant data); - - QVariant property(const QString &name, const QVariant &def = QVariant()) const; - template - T property(const char *name, const T &def) const - { return QVariant::fromValue(property(name, QVariant::fromValue(def))); } - - void setProperty(const QString &name, const QVariant &value); - QStringList dynamicPropertyNames() const; -protected: - WallPost(QVariantMap data); -private: - QSharedDataPointer d; -}; -typedef QList WallPostList; - -} //namespace Vreen - -#endif // WALLPOST_H - diff --git a/3rdparty/vreen/vreen/src/api/wallsession.cpp b/3rdparty/vreen/vreen/src/api/wallsession.cpp deleted file mode 100644 index 0388cb722..000000000 --- a/3rdparty/vreen/vreen/src/api/wallsession.cpp +++ /dev/null @@ -1,163 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#include "wallsession.h" -#include "contact.h" -#include "wallpost.h" -#include "utils.h" -#include "client_p.h" -#include - -namespace Vreen { - -static const char *filters[] = { - "owner", - "others", - "all" -}; - -class WallSession; -class WallSessionPrivate -{ - Q_DECLARE_PUBLIC(WallSession) -public: - WallSessionPrivate(WallSession *q, Contact *contact) : q_ptr(q), contact(contact) {} - WallSession *q_ptr; - Contact *contact; - - void _q_posts_received(const QVariant &response) - { - auto list = response.toMap().value("wall").toList(); - if (!list.isEmpty()) { - list.takeFirst(); - foreach (auto item, list) { - auto post = WallPost::fromData(item); - emit q_func()->postAdded(post); - } - } - } - - void _q_like_added(const QVariant &response) - { - //FIXME error handler - auto reply = sender_cast(q_func()->sender()); - auto url = reply->networkReply()->url(); - int id = url.queryItemValue("post_id").toInt(); - int retweet = url.queryItemValue("repost").toInt(); - auto map = response.toMap(); - - emit q_func()->postLikeAdded(id, - map.value("likes").toInt(), - map.value("reposts").toInt(), - retweet); - } - - void _q_like_deleted(const QVariant &response) - { - auto reply = sender_cast(q_func()->sender()); - auto url = reply->networkReply()->url(); - int id = url.queryItemValue("post_id").toInt(); - int likesCount = response.toMap().value("likes").toInt(); - - emit q_func()->postLikeDeleted(id, likesCount); - } -}; - -WallSession::WallSession(Contact *contact) : - QObject(contact), - d_ptr(new WallSessionPrivate(this, contact)) -{ - -} - -WallSession::~WallSession() -{ - -} - -/*! - * \brief WallSession::getPosts. A wrapper on API method wall.get, \link http://vk.com/developers.php?oid=-1&p=wall.get - * \param filter determine what types of messages on the wall to get. The following parameter values​​: - * Owner - messages on the wall by its owner - * Others - posts on the wall, not on its owner - * All - all the messages on the wall - * \param count - * \param offset - * \param extended flag: true - three arrays will be returned to wall, profiles, and groups. By default, additional fields will not be returned. - * \return - */ -Reply *WallSession::getPosts(WallSession::Filter filter, quint8 count, int offset, bool extended) -{ - Q_D(WallSession); - QVariantMap args; - args.insert("owner_id", QString::number(d->contact->id())); - args.insert("offset", offset); - args.insert("count", count); - args.insert("filter", filters[filter-1]); - args.insert("extended", extended); - auto reply = d->contact->client()->request("wall.get", args); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_posts_received(QVariant))); - - return reply; -} - -Contact *WallSession::contact() const -{ - return d_func()->contact; -} - -/*! - * \brief Vreen::WallSession::like A wrapper on API method wall.addLike \link http://vk.com/developers.php?oid=-1&p=wall.addLike - * \param postId - * \param retweet - * \return - */ -Vreen::Reply *Vreen::WallSession::addLike(int postId, bool retweet, const QString &message) -{ - Q_D(WallSession); - auto reply = d->contact->client()->addLike(d->contact->id(), - postId, - retweet, - message); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_like_added(QVariant))); - return reply; -} - -/*! - * \brief WallSession::deleteLike a wrapper on API method wall.deleteLike \link http://vk.com/developers.php?oid=-1&p=wall.deleteLike - * \param postId - * \return - */ -Reply *WallSession::deleteLike(int postId) -{ - Q_D(WallSession); - auto reply = d->contact->client()->deleteLike(d->contact->id(), postId); - connect(reply, SIGNAL(resultReady(QVariant)), SLOT(_q_like_deleted(QVariant))); - return reply; -} - -} // namespace Vreen - -#include "moc_wallsession.cpp" - diff --git a/3rdparty/vreen/vreen/src/api/wallsession.h b/3rdparty/vreen/vreen/src/api/wallsession.h deleted file mode 100644 index 0c99a1d30..000000000 --- a/3rdparty/vreen/vreen/src/api/wallsession.h +++ /dev/null @@ -1,71 +0,0 @@ -/**************************************************************************** -** -** Vreen - vk.com API Qt bindings -** -** Copyright © 2012 Aleksey Sidorov -** -***************************************************************************** -** -** $VREEN_BEGIN_LICENSE$ -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Lesser General Public License as published by -** the Free Software Foundation, either version 3 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -** See the GNU Lesser General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see http://www.gnu.org/licenses/. -** $VREEN_END_LICENSE$ -** -****************************************************************************/ -#ifndef VK_WALLSESSION_H -#define VK_WALLSESSION_H - -#include "client.h" -#include "wallpost.h" - -namespace Vreen { - -class Reply; -class WallSessionPrivate; -class VK_SHARED_EXPORT WallSession : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(WallSession) - Q_ENUMS(Filter) -public: - enum Filter { - Owner = 0x1, - Others = 0x2, - All = Owner | Others - }; - - explicit WallSession(Contact *contact); - Contact *contact() const; - virtual ~WallSession(); - -public slots: - Reply *getPosts(Filter filter = All, quint8 count = 16, int offset = 0, bool extended = false); - Reply *addLike(int postId, bool retweet = false, const QString &message = QString()); - Reply *deleteLike(int postId); -signals: - void postAdded(const Vreen::WallPost &post); - void postDeleted(int postId); - void postLikeAdded(int postId, int likesCount, int repostsCount, bool isRetweeted); - void postLikeDeleted(int postId, int likesCount); -protected: - QScopedPointer d_ptr; - - Q_PRIVATE_SLOT(d_func(), void _q_posts_received(QVariant)) - Q_PRIVATE_SLOT(d_func(), void _q_like_added(QVariant)) - Q_PRIVATE_SLOT(d_func(), void _q_like_deleted(QVariant)) -}; - -} // namespace Vreen - -#endif // VK_WALLSESSION_H - diff --git a/CMakeLists.txt b/CMakeLists.txt index c8b048f4d..bdbaab9a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -211,8 +211,6 @@ optional_component(BOX ON "Box support" DEPENDS "Taglib 1.8" "TAGLIB_VERSION VERSION_GREATER 1.7.999" ) -optional_component(VK ON "Vk.com support") - optional_component(SEAFILE ON "Seafile support" DEPENDS "Google sparsehash" SPARSEHASH_INCLUDE_DIRS DEPENDS "Taglib 1.8" "TAGLIB_VERSION VERSION_GREATER 1.7.999" @@ -288,12 +286,6 @@ if (HAVE_DBUS) find_package(Qt4 REQUIRED QtDbus) endif () -if (HAVE_VK) - add_subdirectory(3rdparty/vreen) - include_directories(${VREEN_INCLUDE_DIRS}) - include_directories(${VREENOAUTH_INCLUDE_DIRS}) -endif(HAVE_VK) - # We can include the Qt definitions now include(${QT_USE_FILE}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 76958329b..2243d4481 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1163,31 +1163,6 @@ optional_source(HAVE_BOX internet/box/boxsettingspage.ui ) -# Vk.com support -optional_source(HAVE_VK - INCLUDE_DIRECTORIES - ${VREEN_INCLUDE_DIRS} - SOURCES - globalsearch/vksearchprovider.cpp - internet/vk/vkconnection.cpp - internet/vk/vkmusiccache.cpp - internet/vk/vksearchdialog.cpp - internet/vk/vkservice.cpp - internet/vk/vksettingspage.cpp - internet/vk/vkurlhandler.cpp - HEADERS - globalsearch/vksearchprovider.h - internet/vk/vkconnection.h - internet/vk/vkmusiccache.h - internet/vk/vksearchdialog.h - internet/vk/vkservice.h - internet/vk/vksettingspage.h - internet/vk/vkurlhandler.h - UI - internet/vk/vksearchdialog.ui - internet/vk/vksettingspage.ui -) - # Seafile support optional_source(HAVE_SEAFILE SOURCES @@ -1280,10 +1255,6 @@ target_link_libraries(clementine_lib Qocoa ) -if(HAVE_VK) - target_link_libraries(clementine_lib ${VREEN_LIBRARIES}) -endif(HAVE_VK) - if(ENABLE_VISUALISATIONS) target_link_libraries(clementine_lib ${LIBPROJECTM_LIBRARIES}) endif(ENABLE_VISUALISATIONS) diff --git a/src/config.h.in b/src/config.h.in index 2bd31b705..831d74a28 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -42,11 +42,10 @@ #cmakedefine HAVE_SPARKLE #cmakedefine HAVE_SPOTIFY_DOWNLOADER #cmakedefine HAVE_UDISKS2 -#cmakedefine HAVE_VK #cmakedefine HAVE_WIIMOTEDEV #cmakedefine TAGLIB_HAS_OPUS #cmakedefine USE_INSTALL_PREFIX #cmakedefine USE_SYSTEM_PROJECTM #cmakedefine USE_SYSTEM_SHA2 -#endif // CONFIG_H_IN +#endif // CONFIG_H_IN diff --git a/src/core/metatypes.cpp b/src/core/metatypes.cpp index 00b3553d9..0894279e2 100644 --- a/src/core/metatypes.cpp +++ b/src/core/metatypes.cpp @@ -30,21 +30,17 @@ #include "engines/enginebase.h" #include "engines/gstengine.h" #include "globalsearch/searchprovider.h" -#include "internet/digitally/digitallyimportedclient.h" #include "internet/core/geolocator.h" -#include "internet/podcasts/podcastepisode.h" -#include "internet/podcasts/podcast.h" -#include "internet/somafm/somafmservice.h" +#include "internet/digitally/digitallyimportedclient.h" #include "internet/intergalacticfm/intergalacticfmservice.h" +#include "internet/podcasts/podcast.h" +#include "internet/podcasts/podcastepisode.h" +#include "internet/somafm/somafmservice.h" #include "library/directory.h" #include "playlist/playlist.h" #include "songinfo/collapsibleinfopane.h" #include "ui/equalizer.h" -#ifdef HAVE_VK -#include "internet/vk/vkservice.h" -#endif - #ifdef HAVE_DBUS #include #include "core/mpris2.h" @@ -112,11 +108,6 @@ void RegisterMetaTypes() { qRegisterMetaType("Subdirectory"); qRegisterMetaType>("QList"); -#ifdef HAVE_VK - qRegisterMetaType("MusicOwner"); - qRegisterMetaTypeStreamOperators("MusicOwner"); -#endif - #ifdef HAVE_DBUS qDBusRegisterMetaType(); qDBusRegisterMetaType(); diff --git a/src/internet/core/internetmodel.cpp b/src/internet/core/internetmodel.cpp index 65c4f88f4..fced864bd 100644 --- a/src/internet/core/internetmodel.cpp +++ b/src/internet/core/internetmodel.cpp @@ -58,9 +58,6 @@ #ifdef HAVE_BOX #include "internet/box/boxservice.h" #endif -#ifdef HAVE_VK -#include "internet/vk/vkservice.h" -#endif #ifdef HAVE_SEAFILE #include "internet/seafile/seafileservice.h" #endif @@ -114,9 +111,6 @@ InternetModel::InternetModel(Application* app, QObject* parent) #ifdef HAVE_SKYDRIVE AddService(new SkydriveService(app, this)); #endif -#ifdef HAVE_VK - AddService(new VkService(app, this)); -#endif invisibleRootItem()->sortChildren(0, Qt::AscendingOrder); UpdateServices(); diff --git a/src/internet/vk/vkconnection.cpp b/src/internet/vk/vkconnection.cpp deleted file mode 100644 index d44a65e65..000000000 --- a/src/internet/vk/vkconnection.cpp +++ /dev/null @@ -1,212 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Vlad Maltsev - Copyright 2014, Krzysztof Sobiecki - Copyright 2014, Ivan Leontiev - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#include "vkconnection.h" - -#include -#include - -#include - -#include "core/closure.h" -#include "core/logging.h" -#include "internet/core/localredirectserver.h" -#include "vreen/utils.h" - -#include "vkservice.h" - -static const QUrl kVkOAuthEndpoint("https://oauth.vk.com/authorize"); -static const QUrl kVkOAuthTokenEndpoint("https://oauth.vk.com/access_token"); -static const QUrl kApiUrl("https://api.vk.com/method/"); -static const char* kScopeNames[] = { - "notify", "friends", "photos", "audio", "video", "docs", - "notes", "pages", "status", "offers", "questions", "wall", - "groups", "messages", "notifications", "stats", "ads", "offline"}; - -static const QString kAppID = "3421812"; -static const QString kAppSecret = "cY7KMyX46Fq3nscZlbdo"; -static const VkConnection::Scopes kScopes = - VkConnection::Offline | VkConnection::Audio | VkConnection::Friends | - VkConnection::Groups | VkConnection::Status; - -static const char* kSettingsGroup = "Vk.com/oauth"; - -VkConnection::VkConnection(QObject* parent) - : Connection(parent), - state_(Vreen::Client::StateOffline), - expires_in_(0), - uid_(0) { - loadToken(); -} - -VkConnection::~VkConnection() {} - -void VkConnection::connectToHost(const QString& login, - const QString& password) { - Q_UNUSED(login) - Q_UNUSED(password) - if (hasAccount()) { - setConnectionState(Vreen::Client::StateOnline); - } else { - setConnectionState(Vreen::Client::StateConnecting); - requestAccessToken(); - } -} - -void VkConnection::disconnectFromHost() { - clear(); - setConnectionState(Vreen::Client::StateOffline); -} - -void VkConnection::clear() { - access_token_.clear(); - expires_in_ = 0; - uid_ = 0; - - QSettings s; - s.beginGroup(kSettingsGroup); - s.remove("access_token"); - s.remove("expires_in"); - s.remove("uid"); -} - -bool VkConnection::hasAccount() { - return !access_token_.isNull() && - (expires_in_ > - static_cast(QDateTime::currentDateTime().toTime_t())); -} - -QNetworkRequest VkConnection::makeRequest(const QString& method, - const QVariantMap& args) { - QUrl url = kApiUrl; - url.setPath(url.path() % QLatin1Literal("/") % method); - for (auto it = args.constBegin(); it != args.constEnd(); ++it) { - url.addEncodedQueryItem(QUrl::toPercentEncoding(it.key()), - QUrl::toPercentEncoding(it.value().toString())); - } - url.addEncodedQueryItem("access_token", access_token_); - return QNetworkRequest(url); -} - -void VkConnection::decorateRequest(QNetworkRequest& request) { - QUrl url = request.url(); - url.addEncodedQueryItem("access_token", access_token_); - request.setUrl(url); -} - -void VkConnection::requestAccessToken() { - LocalRedirectServer* server = new LocalRedirectServer(this); - server->Listen(); - - QUrl url = kVkOAuthEndpoint; - url.addQueryItem("client_id", kAppID); - url.addQueryItem("scope", - Vreen::flagsToStrList(kScopes, kScopeNames).join(",")); - url.addQueryItem("redirect_uri", server->url().toString()); - url.addQueryItem("response_type", "code"); - - qLog(Debug) << "Try to login to Vk.com" << url; - - NewClosure(server, SIGNAL(Finished()), this, - SLOT(codeRecived(LocalRedirectServer*, QUrl)), server, - server->url()); - QDesktopServices::openUrl(url); -} - -void VkConnection::codeRecived(LocalRedirectServer* server, QUrl redirect_uri) { - if (server->request_url().hasQueryItem("code")) { - code_ = server->request_url().queryItemValue("code").toUtf8(); - QUrl url = kVkOAuthTokenEndpoint; - url.addQueryItem("client_id", kAppID); - url.addQueryItem("client_secret", kAppSecret); - url.addQueryItem("code", QString::fromUtf8(code_)); - url.addQueryItem("redirect_uri", redirect_uri.toString()); - qLog(Debug) << "Getting access token" << url; - - QNetworkRequest request(url); - QNetworkReply* reply = network_.get(request); - - NewClosure(reply, SIGNAL(finished()), this, - SLOT(accessTokenRecived(QNetworkReply*)), reply); - } else { - qLog(Error) << "Login failed" << server->request_url(); - clear(); - emit connectionStateChanged(Vreen::Client::StateOffline); - } -} - -void VkConnection::accessTokenRecived(QNetworkReply* reply) { - if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute) != 200) { - qLog(Error) << "Failed to get access token" << reply->readAll(); - emit setConnectionState(Vreen::Client::StateOffline); - clear(); - return; - } - - QJson::Parser parser; - bool ok = false; - QByteArray reply_data = reply->readAll(); - QVariantMap result = parser.parse(reply_data, &ok).toMap(); - if (!ok) { - qLog(Error) << "Failed to parse oauth reply" << reply_data; - emit setConnectionState(Vreen::Client::StateOffline); - clear(); - return; - } - qLog(Debug) << result; - - access_token_ = result["access_token"].toByteArray(); - expires_in_ = result["expires_in"].toUInt(); - uid_ = result["user_id"].toInt(); - - if (expires_in_) { - expires_in_ += QDateTime::currentDateTime().toTime_t(); - } else { - expires_in_ += QDateTime::currentDateTime().addMonths(1).toTime_t(); - } - qLog(Debug) << "Access token expires in" << expires_in_; - - saveToken(); - setConnectionState(Vreen::Client::StateOnline); - - reply->deleteLater(); -} - -void VkConnection::setConnectionState(Vreen::Client::State state) { - if (state != state_) { - state_ = state; - emit connectionStateChanged(state); - } -} - -void VkConnection::saveToken() { - QSettings s; - s.beginGroup(kSettingsGroup); - s.setValue("access_token", access_token_); - s.setValue("expires_in", QVariant::fromValue(expires_in_)); - s.setValue("uid", uid_); -} - -void VkConnection::loadToken() { - QSettings s; - s.beginGroup(kSettingsGroup); - access_token_ = s.value("access_token").toByteArray(); - expires_in_ = s.value("expires_in").toUInt(); - uid_ = s.value("uid").toInt(); -} diff --git a/src/internet/vk/vkconnection.h b/src/internet/vk/vkconnection.h deleted file mode 100644 index 557f6aedc..000000000 --- a/src/internet/vk/vkconnection.h +++ /dev/null @@ -1,90 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Krzysztof Sobiecki - Copyright 2014, Maltsev Vlad - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#ifndef INTERNET_VK_VKCONNECTION_H_ -#define INTERNET_VK_VKCONNECTION_H_ - -#include "vreen/client.h" -#include "vreen/connection.h" - -class LocalRedirectServer; - -class VkConnection : public Vreen::Connection { - Q_OBJECT - Q_ENUMS(DisplayType) - Q_FLAGS(Scopes) - - public: - enum DisplayType { Page, Popup, Touch, Wap }; - enum Scope { - Notify = 0x1, - Friends = 0x2, - Photos = 0x4, - Audio = 0x8, - Video = 0x10, - Docs = 0x20, - Notes = 0x40, - Pages = 0x80, - Status = 0x100, - Offers = 0x200, - Questions = 0x400, - Wall = 0x800, - Groups = 0x1000, - Messages = 0x2000, - Notifications = 0x4000, - Stats = 0x8000, - Ads = 0x10000, - Offline = 0x20000 - }; - Q_DECLARE_FLAGS(Scopes, Scope) - - explicit VkConnection(QObject* parent = 0); - ~VkConnection(); - - void connectToHost(const QString& login, const QString& password); - void disconnectFromHost(); - Vreen::Client::State connectionState() const { return state_; } - int uid() const { return uid_; } - void clear(); - bool hasAccount(); - - protected: - QNetworkRequest makeRequest(const QString& method, - const QVariantMap& args = QVariantMap()); - void decorateRequest(QNetworkRequest& request); - - private slots: - void codeRecived(LocalRedirectServer* server, QUrl redirect_uri); - void accessTokenRecived(QNetworkReply* reply); - - private: - void requestAccessToken(); - void setConnectionState(Vreen::Client::State state); - void saveToken(); - void loadToken(); - QNetworkAccessManager network_; - Vreen::Client::State state_; - QByteArray code_; - QByteArray access_token_; - time_t expires_in_; - int uid_; -}; - -Q_DECLARE_OPERATORS_FOR_FLAGS(VkConnection::Scopes) - -#endif // INTERNET_VK_VKCONNECTION_H_ diff --git a/src/internet/vk/vkmusiccache.cpp b/src/internet/vk/vkmusiccache.cpp deleted file mode 100644 index 62033948c..000000000 --- a/src/internet/vk/vkmusiccache.cpp +++ /dev/null @@ -1,210 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Maltsev Vlad - Copyright 2014, Krzysztof Sobiecki - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ -#include "vkmusiccache.h" - -#include -#include - -#include "core/application.h" -#include "core/logging.h" -#include "core/taskmanager.h" -#include "vkservice.h" - -VkMusicCache::VkMusicCache(Application* app, VkService* service) - : QObject(service), - app_(app), - service_(service), - current_song_index(0), - is_downloading(false), - is_aborted(false), - task_id(0), - file_(NULL), - network_manager_(new QNetworkAccessManager), - reply_(NULL) {} - -QUrl VkMusicCache::Get(const QUrl& url) { - QUrl result; - if (InCache(url)) { - QString cached_filename = CachedFilename(url); - qLog(Info) << "Use cashed file" << cached_filename; - result = QUrl::fromLocalFile(cached_filename); - } - return result; -} - -void VkMusicCache::AddToCache(const QUrl& url, const QUrl& media_url, - bool force) { - AddToQueue(CachedFilename(url), media_url); - if (!force) { - current_song_index = queue_.size(); - } -} - -void VkMusicCache::BreakCurrentCaching() { - if (current_song_index > 0) { - // Current song in queue - queue_.removeAt(current_song_index - 1); - } else if (current_song_index == 0) { - // Current song is downloading - if (reply_) { - reply_->abort(); - is_aborted = true; - } - } -} - -/*** -* Queue operations -*/ - -void VkMusicCache::AddToQueue(const QString& filename, - const QUrl& download_url) { - DownloadItem item; - item.filename = filename; - item.url = download_url; - queue_.push_back(item); - DownloadNext(); -} - -/*** -* Downloading -*/ - -void VkMusicCache::DownloadNext() { - if (is_downloading || queue_.isEmpty()) { - return; - } else { - current_download = queue_.first(); - queue_.pop_front(); - current_song_index--; - - // Check file path and file existance first - if (QFile::exists(current_download.filename)) { - qLog(Warning) << "Tried to overwrite already cached file" - << current_download.filename; - return; - } - - // Create temporarry file we download to. - if (file_) { - qLog(Warning) << "QFile" << file_->fileName() << "is not null"; - delete file_; - file_ = NULL; - } - - file_ = new QTemporaryFile; - if (!file_->open(QFile::WriteOnly)) { - qLog(Warning) << "Can not create temporary file" << file_->fileName() - << "Download right away to" << current_download.filename; - } - - // Start downloading - is_aborted = false; - is_downloading = true; - task_id = app_->task_manager()->StartTask( - tr("Caching %1").arg(QFileInfo(current_download.filename).baseName())); - reply_ = network_manager_->get(QNetworkRequest(current_download.url)); - connect(reply_, SIGNAL(finished()), SLOT(Downloaded())); - connect(reply_, SIGNAL(readyRead()), SLOT(DownloadReadyToRead())); - connect(reply_, SIGNAL(downloadProgress(qint64, qint64)), - SLOT(DownloadProgress(qint64, qint64))); - qLog(Info) << "Start cashing" << current_download.filename << "from" - << current_download.url; - } -} - -void VkMusicCache::DownloadProgress(qint64 bytesReceived, qint64 bytesTotal) { - if (bytesTotal) { - int progress = qRound(100 * bytesReceived / bytesTotal); - app_->task_manager()->SetTaskProgress(task_id, progress, 100); - } -} - -void VkMusicCache::DownloadReadyToRead() { - if (file_) { - file_->write(reply_->readAll()); - } else { - qLog(Warning) << "Tried to write recived song to not created file"; - } -} - -void VkMusicCache::Downloaded() { - app_->task_manager()->SetTaskFinished(task_id); - if (is_aborted || reply_->error()) { - if (reply_->error()) { - qLog(Info) << "Downloading failed" << reply_->errorString(); - } - } else { - DownloadReadyToRead(); // Save all recent recived data. - - QString path = service_->cacheDir(); - - if (file_->size() > 0) { - QDir(path).mkpath(QFileInfo(current_download.filename).path()); - if (file_->copy(current_download.filename)) { - qLog(Info) << "Cached" << current_download.filename; - } else { - qLog(Error) << "Unable to save" << current_download.filename << ":" - << file_->errorString(); - } - } else { - qLog(Error) << "File" << current_download.filename << "is empty"; - } - } - - delete file_; - file_ = NULL; - - reply_->deleteLater(); - reply_ = NULL; - - is_downloading = false; - DownloadNext(); -} - -/*** -* Utils -*/ - -bool VkMusicCache::InCache(const QUrl& url) { - return QFile::exists(CachedFilename(url)); -} - -QString VkMusicCache::CachedFilename(const QUrl& url) { - QStringList args = url.path().split('/'); - - QString cache_filename; - if (args.size() == 4) { - cache_filename = service_->cacheFilename(); - cache_filename.replace("%artist", args[2]); - cache_filename.replace("%title", args[3]); - } else { - qLog(Warning) << "Song url with args" << args - << "does not contain artist and title" - << "use id as file name for cache."; - cache_filename = args[1]; - } - - QString cache_dir = service_->cacheDir(); - if (cache_dir.isEmpty()) { - qLog(Warning) << "Cache dir not defined"; - return ""; - } - // TODO(Vk): Maybe use extenstion from link? Seems it's always mp3. - return cache_dir + QDir::separator() + cache_filename + ".mp3"; -} diff --git a/src/internet/vk/vkmusiccache.h b/src/internet/vk/vkmusiccache.h deleted file mode 100644 index 7c72d6db2..000000000 --- a/src/internet/vk/vkmusiccache.h +++ /dev/null @@ -1,79 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Maltsev Vlad - Copyright 2014, Krzysztof Sobiecki - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#ifndef INTERNET_VK_VKMUSICCACHE_H_ -#define INTERNET_VK_VKMUSICCACHE_H_ - -#include -#include -#include -#include -#include - -class VkService; -class Application; - -class VkMusicCache : public QObject { - Q_OBJECT - - public: - explicit VkMusicCache(Application* app, VkService* service); - ~VkMusicCache() {} - // Return file path if file in cache otherwise - // return internet url and add song to caching queue - QUrl Get(const QUrl& url); - void AddToCache(const QUrl& url, const QUrl& media_url, bool force = false); - void BreakCurrentCaching(); - bool InCache(const QUrl& url); - - private slots: - void AddToQueue(const QString& filename, const QUrl& download_url); - void DownloadNext(); - void DownloadProgress(qint64 bytesReceived, qint64 bytesTotal); - void DownloadReadyToRead(); - void Downloaded(); - - private: - struct DownloadItem { - QString filename; - QUrl url; - - bool operator==(const DownloadItem& rhv) { - return filename == rhv.filename; - } - }; - - QString CachedFilename(const QUrl& url); - - Application* app_; - VkService* service_; - QList queue_; - // Contain index of current song in queue, need for removing if song was - // skipped. It's zero if song downloading now, and less that zero - // if current song not caching or cached. - int current_song_index; - DownloadItem current_download; - bool is_downloading; - bool is_aborted; - int task_id; - QFile* file_; - QNetworkAccessManager* network_manager_; - QNetworkReply* reply_; -}; - -#endif // INTERNET_VK_VKMUSICCACHE_H_ diff --git a/src/internet/vk/vksearchdialog.cpp b/src/internet/vk/vksearchdialog.cpp deleted file mode 100644 index e6eb65737..000000000 --- a/src/internet/vk/vksearchdialog.cpp +++ /dev/null @@ -1,198 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Krzysztof Sobiecki - Copyright 2014, Maltsev Vlad - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#include "vksearchdialog.h" -#include "ui_vksearchdialog.h" - -#include -#include - -#include "vkservice.h" -#include "ui/iconloader.h" - -VkSearchDialog::VkSearchDialog(VkService* service, QWidget* parent) - : QDialog(parent), - ui(new Ui::VkSearchDialog), - service_(service), - last_search_(SearchID(SearchID::UserOrGroup)) { - ui->setupUi(this); - - timer = new QTimer(this); - timer->setSingleShot(true); - timer->setInterval(100); - connect(timer, SIGNAL(timeout()), SLOT(suggest())); - connect(ui->searchLine, SIGNAL(textChanged(QString)), timer, SLOT(start())); - - popup = new QTreeWidget(this); - popup->setColumnCount(2); - popup->setUniformRowHeights(true); - popup->setRootIsDecorated(false); - popup->setEditTriggers(QTreeWidget::NoEditTriggers); - popup->setSelectionBehavior(QTreeWidget::SelectRows); - popup->setFrameStyle(QFrame::Box | QFrame::Plain); - popup->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - - popup->header()->hide(); - popup->installEventFilter(this); - popup->setMouseTracking(true); - - popup->setWindowFlags(Qt::Popup); - popup->setFocusPolicy(Qt::NoFocus); - popup->setFocusProxy(parent); - - connect(popup, SIGNAL(itemSelectionChanged()), SLOT(selectionChanged())); - connect(popup, SIGNAL(clicked(QModelIndex)), SLOT(selected())); - - connect(this, SIGNAL(Find(QString)), service_, - SLOT(FindUserOrGroup(QString))); - connect(service_, SIGNAL(UserOrGroupSearchResult(SearchID, MusicOwnerList)), - this, SLOT(ReceiveResults(SearchID, MusicOwnerList))); - - ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); -} - -VkSearchDialog::~VkSearchDialog() { - delete ui; - delete popup; -} - -void VkSearchDialog::suggest() { emit Find(ui->searchLine->text()); } - -void VkSearchDialog::selected() { - selectionChanged(); - ui->searchLine->setText(selected_.name()); - timer->stop(); - popup->hide(); -} - -void VkSearchDialog::ReceiveResults(const SearchID& id, - const MusicOwnerList& owners) { - if (id.id() > last_search_.id()) { - popup->setUpdatesEnabled(false); - popup->clear(); - - if (owners.count() > 0) { - for (const MusicOwner& own : owners) { - popup->addTopLevelItem(createItem(own)); - } - } else { - popup->addTopLevelItem(new QTreeWidgetItem(QStringList(tr("Nothing found")))); - } - - popup->setCurrentItem(popup->topLevelItem(0)); - - popup->resizeColumnToContents(0); - int ch = popup->columnWidth(0); - if (ch > 0.8 * ui->searchLine->width()) { - popup->setColumnWidth(0, qRound(0.8 * ui->searchLine->width())); - } - popup->resizeColumnToContents(1); - popup->adjustSize(); - popup->setUpdatesEnabled(true); - - int elems = (owners.count() > 0) ? owners.count() : 1; - int h = popup->sizeHintForRow(0) * qMin(10, elems) + 3; - - popup->resize(ui->searchLine->width(), h); - - QPoint relpos = ui->searchLine->pos() + QPoint(0, ui->searchLine->height()); - popup->move(mapToGlobal(relpos)); - popup->setFocus(); - popup->show(); - } -} - -void VkSearchDialog::showEvent(QShowEvent*) { - ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); - selected_ = MusicOwner(); - ui->searchLine->clear(); -} - -void VkSearchDialog::selectionChanged() { - if (popup->selectedItems().size() > 0) { - QTreeWidgetItem* sel = popup->selectedItems()[0]; - selected_ = sel->data(0, Qt::UserRole).value(); - ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(selected_.id() != 0); - ui->buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); - } -} - -MusicOwner VkSearchDialog::found() const { - return selected_; -} - -bool VkSearchDialog::eventFilter(QObject* obj, QEvent* ev) { - if (obj != popup) - return false; - - if (ev->type() == QEvent::MouseButtonPress) { - popup->hide(); - ui->searchLine->setFocus(); - return true; - } - - if (ev->type() == QEvent::KeyPress) { - bool consumed = false; - int key = static_cast(ev)->key(); - - switch (key) { - case Qt::Key_Enter: - case Qt::Key_Return: - selected(); - break; - - case Qt::Key_Escape: - ui->searchLine->setFocus(); - popup->hide(); - consumed = true; - break; - - case Qt::Key_Up: - case Qt::Key_Down: - case Qt::Key_Home: - case Qt::Key_End: - case Qt::Key_PageUp: - case Qt::Key_PageDown: - break; - - default: - ui->searchLine->setFocus(); - ui->searchLine->event(ev); - break; - } - - return consumed; - } - - return false; -} - -QTreeWidgetItem* VkSearchDialog::createItem(const MusicOwner& own) { - QTreeWidgetItem* item = new QTreeWidgetItem(popup); - item->setText(0, own.name()); - if (own.id() > 0) { - item->setIcon(0, IconLoader::Load("x-clementine-artist", IconLoader::Base)); - } else { - item->setIcon(0, IconLoader::Load("group", IconLoader::Base)); - } - item->setData(0, Qt::UserRole, QVariant::fromValue(own)); - item->setText(1, QString::number(own.song_count())); - item->setTextAlignment(1, Qt::AlignRight); - item->setTextColor(1, palette().color(QPalette::WindowText)); - return item; -} diff --git a/src/internet/vk/vksearchdialog.h b/src/internet/vk/vksearchdialog.h deleted file mode 100644 index 620d79095..000000000 --- a/src/internet/vk/vksearchdialog.h +++ /dev/null @@ -1,66 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Krzysztof Sobiecki - Copyright 2014, Maltsev Vlad - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#ifndef INTERNET_VK_VKSEARCHDIALOG_H_ -#define INTERNET_VK_VKSEARCHDIALOG_H_ - -#include -#include -#include - -#include "vkservice.h" - -namespace Ui { -class VkSearchDialog; -} - -class VkSearchDialog : public QDialog { - Q_OBJECT - - public: - explicit VkSearchDialog(VkService* service, QWidget* parent = 0); - ~VkSearchDialog(); - MusicOwner found() const; - - signals: - void Find(const QString& query); - - public slots: - void ReceiveResults(const SearchID& id, const MusicOwnerList& owners); - - protected: - void showEvent(QShowEvent*); - - private slots: - void selectionChanged(); - void suggest(); - void selected(); - - private: - bool eventFilter(QObject* obj, QEvent* ev); - QTreeWidgetItem* createItem(const MusicOwner& own); - - Ui::VkSearchDialog* ui; - MusicOwner selected_; - VkService* service_; - SearchID last_search_; - QTreeWidget* popup; - QTimer* timer; -}; - -#endif // INTERNET_VK_VKSEARCHDIALOG_H_ diff --git a/src/internet/vk/vksearchdialog.ui b/src/internet/vk/vksearchdialog.ui deleted file mode 100644 index cf7ae1773..000000000 --- a/src/internet/vk/vksearchdialog.ui +++ /dev/null @@ -1,67 +0,0 @@ - - - VkSearchDialog - - - - 0 - 0 - 418 - 78 - - - - Dialog - - - - - - - - - Qt::Vertical - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - - - buttonBox - accepted() - VkSearchDialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - VkSearchDialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - - diff --git a/src/internet/vk/vkservice.cpp b/src/internet/vk/vkservice.cpp deleted file mode 100644 index 0436283d7..000000000 --- a/src/internet/vk/vkservice.cpp +++ /dev/null @@ -1,1545 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Vlad Maltsev - Copyright 2014, Krzysztof Sobiecki - Copyright 2014, Ivan Leontiev - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#include "vkservice.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "core/application.h" -#include "core/closure.h" -#include "core/logging.h" -#include "core/mergedproxymodel.h" -#include "core/player.h" -#include "core/timeconstants.h" -#include "core/utilities.h" -#include "ui/iconloader.h" -#include "widgets/didyoumean.h" - -#include "globalsearch/globalsearch.h" -#include "internet/core/internetmodel.h" -#include "internet/core/internetplaylistitem.h" -#include "internet/core/searchboxwidget.h" - -#include "vreen/audio.h" -#include "vreen/contact.h" -#include "vreen/roster.h" - -#include "globalsearch/vksearchprovider.h" -#include "vkmusiccache.h" -#include "vksearchdialog.h" - -const char* VkService::kServiceName = "Vk.com"; -const char* VkService::kSettingGroup = "Vk.com"; -const char* VkService::kUrlScheme = "vk"; - -const char* VkService::kDefCacheFilename = "%artist - %title"; -const int VkService::kMaxVkSongList = 6000; -const int VkService::kMaxVkWallPostList = 100; -const int VkService::kMaxVkSongCount = 300; -const int VkService::kSearchDelayMsec = 400; - -QString VkService::DefaultCacheDir() { - return QDir::toNativeSeparators( - Utilities::GetConfigPath(Utilities::Path_CacheRoot) + "/vkcache"); -} - -uint SearchID::last_id_ = 0; - -/*** - * Little functions - */ - -inline static void RemoveLastRow(QStandardItem* item, - VkService::ItemType type) { - QStandardItem* last_item = item->child(item->rowCount() - 1); - if (last_item->data(InternetModel::Role_Type).toInt() == type) { - item->removeRow(item->rowCount() - 1); - } else { - qLog(Error) << "Tryed to remove row" << last_item->text() << "of type" - << last_item->data(InternetModel::Role_Type).toInt() - << "instead of" << type << "from" << item->text(); - } -} - -struct SongId { - SongId() : audio_id(0), owner_id(0) {} - - int audio_id; - int owner_id; -}; - -static SongId ExtractIds(const QUrl& url) { - SongId res; - QString song_ids = url.path().section('/', 1, 1); - res.owner_id = song_ids.section('_', 0, 0).toInt(); - res.audio_id = song_ids.section('_', 1, 1).toInt(); - - if (res.owner_id && res.audio_id && url.scheme() == "vk" && - url.host() == "song") { - return res; - } else { - qLog(Error) << "Wromg song url" << url; - return SongId(); - } -} - -static Song SongFromUrl(const QUrl& url) { - Song result; - if (url.scheme() == "vk" && url.host() == "song") { - QStringList ids = url.path().split('/'); - if (ids.size() == 4) { - result.set_artist(ids[2]); - result.set_title(ids[3]); - result.set_valid(true); - } else { - qLog(Error) << "Wrong song url" << url; - result.set_valid(false); - } - result.set_url(url); - } else { - qLog(Error) << "Wrong song url" << url; - result.set_valid(false); - } - return result; -} - -MusicOwner::MusicOwner(const QUrl& group_url) { - QStringList tokens = group_url.path().split('/'); - if (group_url.scheme() == "vk" && group_url.host() == "group" && - tokens.size() == 5) { - id_ = -tokens[1].toInt(); - songs_count_ = tokens[2].toInt(); - screen_name_ = tokens[3]; - name_ = tokens[4].replace('_', '/'); - } else { - qLog(Error) << "Wrong group url" << group_url; - } -} - -Song MusicOwner::toOwnerRadio() const { - Song song; - song.set_title(QObject::tr("%1 (%2 songs)").arg(name_).arg(songs_count_)); - song.set_url(QUrl(QString("vk://group/%1/%2/%3/%4") - .arg(-id_) - .arg(songs_count_) - .arg(screen_name_) - .arg(QString(name_).replace('/', '_')))); - song.set_artist(" " + QObject::tr("Community Radio")); - song.set_valid(true); - return song; -} - -QDataStream& operator<<(QDataStream& stream, const MusicOwner& val) { - stream << val.id_; - stream << val.name_; - stream << val.songs_count_; - stream << val.screen_name_; - return stream; -} - -QDataStream& operator>>(QDataStream& stream, MusicOwner& var) { - stream >> var.id_; - stream >> var.name_; - stream >> var.songs_count_; - stream >> var.screen_name_; - return stream; -} - -QDebug operator<<(QDebug d, const MusicOwner& owner) { - d << "MusicOwner(" << owner.id_ << "," << owner.name_ << "," - << owner.songs_count_ << "," << owner.screen_name_ << ")"; - return d; -} - -MusicOwnerList MusicOwner::parseMusicOwnerList(const QVariant& request_result) { - auto list = request_result.toList(); - MusicOwnerList result; - for (const auto& item : list) { - auto map = item.toMap(); - MusicOwner owner; - owner.songs_count_ = map.value("songs_count").toInt(); - owner.id_ = map.value("id").toInt(); - owner.name_ = map.value("name").toString(); - owner.screen_name_ = map.value("screen_name").toString(); - owner.photo_ = map.value("photo").toUrl(); - - result.append(owner); - } - - return result; -} - -VkService::VkService(Application* app, InternetModel* parent) - : InternetService(kServiceName, app, parent, parent), - root_item_(NULL), - recommendations_item_(NULL), - my_music_item_(NULL), - my_albums_item_(NULL), - search_result_item_(NULL), - context_menu_(NULL), - update_item_(NULL), - find_this_artist_(NULL), - add_to_my_music_(NULL), - remove_from_my_music_(NULL), - add_song_to_cache_(NULL), - copy_share_url_(NULL), - add_to_bookmarks_(NULL), - remove_from_bookmarks_(NULL), - find_owner_(NULL), - search_box_(new SearchBoxWidget(this)), - vk_search_dialog_(new VkSearchDialog(this)), - client_(new Vreen::Client), - connection_(new VkConnection(this)), - url_handler_(new VkUrlHandler(this, this)), - audio_provider_(new Vreen::AudioProvider(client_.get())), - cache_(new VkMusicCache(app_, this)), - last_search_id_(0), - search_delay_(new QTimer(this)) { - QSettings s; - s.beginGroup(kSettingGroup); - - /* Init connection */ - client_->setTrackMessages(false); - client_->setInvisible(true); - client_->setConnection(connection_.get()); - - ReloadSettings(); - - if (HasAccount()) { - Login(); - } - - connect(client_.get(), SIGNAL(connectionStateChanged(Vreen::Client::State)), - SLOT(ChangeConnectionState(Vreen::Client::State))); - connect(client_.get(), SIGNAL(error(Vreen::Client::Error)), - SLOT(Error(Vreen::Client::Error))); - - /* Init interface */ - - VkSearchProvider* search_provider = new VkSearchProvider(app_, this); - search_provider->Init(this); - app_->global_search()->AddProvider(search_provider); - - search_delay_->setInterval(kSearchDelayMsec); - search_delay_->setSingleShot(true); - connect(search_delay_, SIGNAL(timeout()), SLOT(DoLocalSearch())); - - connect(search_box_, SIGNAL(TextChanged(QString)), SLOT(FindSongs(QString))); - connect(this, SIGNAL(SongSearchResult(SearchID, SongList)), - SLOT(SearchResultLoaded(SearchID, SongList))); - - app_->player()->RegisterUrlHandler(url_handler_); -} - -VkService::~VkService() {} - -/*** - * Interface - */ - -QStandardItem* VkService::CreateRootItem() { - root_item_ = new QStandardItem(IconLoader::Load("vk", IconLoader::Provider), - kServiceName); - root_item_->setData(true, InternetModel::Role_CanLazyLoad); - return root_item_; -} - -void VkService::LazyPopulate(QStandardItem* parent) { - switch (parent->data(InternetModel::Role_Type).toInt()) { - case InternetModel::Type_Service: - UpdateRoot(); - break; - case Type_Recommendations: - UpdateRecommendations(); - break; - case Type_AlbumList: - UpdateAlbumList(parent); - break; - case Type_Music: - UpdateMusic(parent); - break; - case Type_Album: - UpdateAlbumSongs(parent); - break; - case Type_Wall: - UpdateWallSongs(parent); - break; - default: - break; - } -} - -void VkService::EnsureMenuCreated() { - if (!context_menu_) { - context_menu_ = new QMenu; - - context_menu_->addActions(GetPlaylistActions()); - context_menu_->addSeparator(); - - add_to_bookmarks_ = - context_menu_->addAction(IconLoader::Load("list-add", IconLoader::Base), - tr("Add to bookmarks"), this, - SLOT(AddSelectedToBookmarks())); - - remove_from_bookmarks_ = context_menu_->addAction( - IconLoader::Load("list-remove", IconLoader::Base), tr("Remove from bookmarks"), - this, SLOT(RemoveFromBookmark())); - - context_menu_->addSeparator(); - - find_this_artist_ = - context_menu_->addAction(IconLoader::Load("edit-find", IconLoader::Base), - tr("Find this artist"), this, - SLOT(FindThisArtist())); - - add_to_my_music_ = - context_menu_->addAction(IconLoader::Load("list-add", IconLoader::Base), - tr("Add to My Music"), this, SLOT(AddToMyMusic())); - - remove_from_my_music_ = context_menu_->addAction( - IconLoader::Load("list-remove", IconLoader::Base), tr("Remove from My Music"), - this, SLOT(RemoveFromMyMusic())); - - add_song_to_cache_ = context_menu_->addAction(IconLoader::Load("download", - IconLoader::Base), - tr("Add song to cache"), this, - SLOT(AddSelectedToCache())); - - copy_share_url_ = context_menu_->addAction( - IconLoader::Load("link", IconLoader::Base), tr("Copy share url to clipboard"), - this, SLOT(CopyShareUrl())); - - find_owner_ = context_menu_->addAction(IconLoader::Load("edit-find", - IconLoader::Base), - tr("Add user/group to bookmarks"), - this, SLOT(ShowSearchDialog())); - - update_item_ = - context_menu_->addAction(IconLoader::Load("view-refresh", IconLoader::Base), - tr("Update"), this, SLOT(UpdateItem())); - - context_menu_->addSeparator(); - context_menu_->addAction(IconLoader::Load("configure", IconLoader::Base), - tr("Configure Vk.com..."), this, - SLOT(ShowConfig())); - } -} - -void VkService::ShowContextMenu(const QPoint& global_pos) { - EnsureMenuCreated(); - - QModelIndex current(model()->current_index()); - QStandardItem* current_item = model()->itemFromIndex(current); - - const int item_type = current.data(InternetModel::Role_Type).toInt(); - const int parent_type = - current.parent().data(InternetModel::Role_Type).toInt(); - - const bool is_playable = model()->IsPlayable(current); - const bool is_my_music_item = current_item == my_music_item_ || - current_item->parent() == my_music_item_; - const bool is_track = item_type == InternetModel::Type_Track; - - const bool is_bookmark = item_type == Type_Bookmark; - - const bool is_updatable = - item_type != Type_Bookmark && item_type != Type_Loading && - item_type != Type_More && item_type != Type_Search && - parent_type != Type_Search; - - const bool is_update_enable = - // To prevent call LazyPopulate twice when we try to Update not populated - // item - !current.data(InternetModel::Role_CanLazyLoad).toBool() && - !current.parent().data(InternetModel::Role_CanLazyLoad).toBool() && - // disable update action until all of item's children have finished - // updating - !isItemBusy(model()->itemFromIndex(current)); - - bool is_in_mymusic = false; - bool is_cached = false; - - if (is_track) { - selected_song_ = - current.data(InternetModel::Role_SongMetadata).value(); - is_in_mymusic = is_my_music_item || - ExtractIds(selected_song_.url()).owner_id == UserID(); - is_cached = cache_->InCache(selected_song_.url()); - } - - update_item_->setVisible(is_updatable); - update_item_->setEnabled(is_update_enable); - find_this_artist_->setVisible(is_track); - add_song_to_cache_->setVisible(is_track && !is_cached); - add_to_my_music_->setVisible(is_track && !is_in_mymusic); - remove_from_my_music_->setVisible(is_track && is_in_mymusic); - copy_share_url_->setVisible(is_track); - remove_from_bookmarks_->setVisible(is_bookmark); - add_to_bookmarks_->setVisible(false); - - GetAppendToPlaylistAction()->setEnabled(is_playable); - GetReplacePlaylistAction()->setEnabled(is_playable); - GetOpenInNewPlaylistAction()->setEnabled(is_playable); - - context_menu_->popup(global_pos); -} - -void VkService::ItemDoubleClicked(QStandardItem* item) { - switch (item->data(InternetModel::Role_Type).toInt()) { - case Type_More: - switch (item->parent()->data(InternetModel::Role_Type).toInt()) { - case Type_Recommendations: - MoreRecommendations(); - break; - case Type_Search: - FindMore(); - break; - case Type_Wall: - MoreWallSongs(item); - break; - default: - qLog(Warning) << "Wrong parent for More item:" - << item->parent()->text(); - } - break; - default: - qLog(Warning) << "Wrong item for double click with type:" - << item->data(InternetModel::Role_Type); - } -} - -QList VkService::playlistitem_actions(const Song& song) { - EnsureMenuCreated(); - - QList actions; - - if (song.url().host() == "song") { - selected_song_ = song; - } else if (song.url().host() == "group") { - add_to_bookmarks_->setVisible(true); - actions << add_to_bookmarks_; - if (song.url() == current_group_url_) { - // Selected now playing group. - selected_song_ = current_song_; - } else { - // If selected not playing group, return only "Add to bookmarks" action. - selected_song_ = song; - return actions; - } - } - - // Adding songs actions. - find_this_artist_->setVisible(true); - actions << find_this_artist_; - - if (ExtractIds(selected_song_.url()).owner_id != UserID()) { - add_to_my_music_->setVisible(true); - actions << add_to_my_music_; - } else { - remove_from_my_music_->setVisible(true); - actions << remove_from_my_music_; - } - - copy_share_url_->setVisible(true); - actions << copy_share_url_; - - if (!cache_->InCache(selected_song_.url())) { - add_song_to_cache_->setVisible(true); - actions << add_song_to_cache_; - } - - return actions; -} - -void VkService::ShowConfig() { - app_->OpenSettingsDialogAtPage(SettingsDialog::Page_Vk); -} - -void VkService::UpdateRoot() { - ClearStandardItem(root_item_); - - if (HasAccount()) { - CreateAndAppendRow(root_item_, Type_Recommendations); - AppendMusic(root_item_, true); - AppendAlbumList(root_item_, true); - LoadBookmarks(); - } else { - ShowConfig(); - } -} - -QWidget* VkService::HeaderWidget() const { - if (HasAccount()) { - return search_box_; - } else { - return NULL; - } -} - -QStandardItem* VkService::CreateAndAppendRow(QStandardItem* parent, - VkService::ItemType type) { - QStandardItem* item = NULL; - - switch (type) { - case Type_Loading: - item = new QStandardItem(tr("Loading...")); - break; - - case Type_More: - item = new QStandardItem(tr("More")); - item->setData(InternetModel::PlayBehaviour_DoubleClickAction, - InternetModel::Role_PlayBehaviour); - break; - - case Type_Recommendations: - item = new QStandardItem(IconLoader::Load("audio-headset", - IconLoader::Base), - tr("My Recommendations")); - item->setData(true, InternetModel::Role_CanLazyLoad); - item->setData(InternetModel::PlayBehaviour_MultipleItems, - InternetModel::Role_PlayBehaviour); - recommendations_item_ = item; - break; - - case Type_Search: - item = new QStandardItem(IconLoader::Load("edit-find", - IconLoader::Base), tr("Search")); - item->setData(InternetModel::PlayBehaviour_MultipleItems, - InternetModel::Role_PlayBehaviour); - search_result_item_ = item; - break; - - case Type_Bookmark: - qLog(Error) << "Use AppendBookmark(const MusicOwner &owner)" - << "for creating Bookmark item instead."; - break; - - case Type_Album: - qLog(Error) << "Use AppendAlbum(const Vreen::AudioAlbumItem &album)" - << "for creating Album item instead."; - break; - - default: - qLog(Error) << "Invalid type for creating row: " << type; - break; - } - - item->setData(type, InternetModel::Role_Type); - parent->appendRow(item); - return item; -} - -/*** - * Connection - */ - -void VkService::Login() { client_->connectToHost(); } - -void VkService::Logout() { - if (connection_) { - client_->disconnectFromHost(); - connection_->clear(); - } -} - -bool VkService::HasAccount() const { return connection_->hasAccount(); } - -int VkService::UserID() const { return connection_->uid(); } - -void VkService::ChangeConnectionState(Vreen::Client::State state) { - qLog(Debug) << "Connection state changed to" << state; - switch (state) { - case Vreen::Client::StateOnline: - emit LoginSuccess(true); - break; - - case Vreen::Client::StateInvalid: - case Vreen::Client::StateOffline: - emit LoginSuccess(false); - break; - case Vreen::Client::StateConnecting: - return; - default: - qLog(Error) << "Wrong connection state " << state; - return; - } - - if (!root_item_->data(InternetModel::Role_CanLazyLoad).toBool()) { - UpdateRoot(); - } -} - -void VkService::RequestUserProfile() { - QVariantMap args; - args.insert("users_ids", "0"); - Vreen::Reply* reply = client_->request("users.get", args); - - connect(reply, SIGNAL(resultReady(QVariant)), this, - SLOT(UserProfileRecived(QVariant)), Qt::UniqueConnection); -} - -void VkService::UserProfileRecived(const QVariant& result) { - auto list = result.toList(); - if (!list.isEmpty()) { - auto profile = list[0].toMap(); - QString name = profile.value("first_name").toString() + " " + - profile.value("last_name").toString(); - emit NameUpdated(name); - } else { - qLog(Debug) << "Fetching user profile failed" << result; - } -} - -void VkService::Error(Vreen::Client::Error error) { - QString msg; - - switch (error) { - case Vreen::Client::ErrorApplicationDisabled: - msg = "Application disabled"; - break; - case Vreen::Client::ErrorIncorrectSignature: - msg = "Incorrect signature"; - break; - case Vreen::Client::ErrorAuthorizationFailed: - msg = "Authorization failed"; - emit LoginSuccess(false); - break; - case Vreen::Client::ErrorToManyRequests: - msg = "Too many requests"; - break; - case Vreen::Client::ErrorPermissionDenied: - msg = "Permission denied"; - break; - case Vreen::Client::ErrorCaptchaNeeded: - msg = "Captcha needed"; - QMessageBox::critical(NULL, tr("Error"), - tr("Captcha is needed.\n" - "Try to login into Vk.com with your browser," - "to fix this problem."), - QMessageBox::Close); - break; - case Vreen::Client::ErrorMissingOrInvalidParameter: - msg = "Missing or invalid parameter"; - break; - case Vreen::Client::ErrorNetworkReply: - msg = "Network reply"; - break; - default: - msg = "Unknown error"; - break; - } - - qLog(Error) << "Client error: " << error << msg; -} - -/*** - * My Music - */ - -void VkService::UpdateMusic(QStandardItem* item) { - if (item) { - MusicOwner owner = item->data(Role_MusicOwnerMetadata).value(); - LoadAndAppendSongList(item, owner.id()); - } -} - -/*** - * Recommendation - */ - -void VkService::UpdateRecommendations() { - ClearStandardItem(recommendations_item_); - CreateAndAppendRow(recommendations_item_, Type_Loading); - - auto my_audio = - audio_provider_->getRecommendationsForUser(0, kMaxVkSongCount, 0); - - NewClosure(my_audio, SIGNAL(resultReady(QVariant)), this, - SLOT(RecommendationsLoaded(Vreen::AudioItemListReply*)), my_audio); -} - -void VkService::MoreRecommendations() { - RemoveLastRow(recommendations_item_, Type_More); - CreateAndAppendRow(recommendations_item_, Type_Loading); - - auto my_audio = audio_provider_->getRecommendationsForUser( - 0, kMaxVkSongCount, recommendations_item_->rowCount() - 1); - - NewClosure(my_audio, SIGNAL(resultReady(QVariant)), this, - SLOT(RecommendationsLoaded(Vreen::AudioItemListReply*)), my_audio); -} - -void VkService::RecommendationsLoaded(Vreen::AudioItemListReply* reply) { - SongList songs = FromAudioList(reply->result()); - RemoveLastRow(recommendations_item_, Type_Loading); - AppendSongs(recommendations_item_, songs); - if (songs.count() > 0) { - CreateAndAppendRow(recommendations_item_, Type_More); - } -} - -/*** - * Bookmarks - */ - -void VkService::AddSelectedToBookmarks() { - QUrl group_url; - if (selected_song_.url().scheme() == "vk" && - selected_song_.url().host() == "song") { - // Selected song is song of now playing group, so group url in - // current_group_url_ - group_url = current_group_url_; - } else { - // Otherwise selectet group radio in playlist - group_url = selected_song_.url(); - } - - AppendBookmark(MusicOwner(group_url)); - SaveBookmarks(); -} - -void VkService::RemoveFromBookmark() { - QModelIndex current(model()->current_index()); - root_item_->removeRow(current.row()); - SaveBookmarks(); -} - -void VkService::SaveBookmarks() { - QSettings s; - s.beginGroup(kSettingGroup); - - s.beginWriteArray("bookmarks"); - int index = 0; - for (int i = 0; i < root_item_->rowCount(); ++i) { - auto item = root_item_->child(i); - if (item->data(InternetModel::Role_Type).toInt() == Type_Bookmark) { - MusicOwner owner = - item->data(Role_MusicOwnerMetadata).value(); - s.setArrayIndex(index); - qLog(Info) << "Save" << index << ":" << owner; - s.setValue("owner", QVariant::fromValue(owner)); - ++index; - } - } - s.endArray(); -} - -void VkService::LoadBookmarks() { - QSettings s; - s.beginGroup(kSettingGroup); - - int max = s.beginReadArray("bookmarks"); - for (int i = 0; i < max; ++i) { - s.setArrayIndex(i); - MusicOwner owner = s.value("owner").value(); - qLog(Info) << "Load" << i << ":" << owner; - AppendBookmark(owner); - } - s.endArray(); -} - -QStandardItem* VkService::AppendBookmark(const MusicOwner& owner) { - QIcon icon; - if (owner.id() > 0) { - icon = IconLoader::Load("x-clementine-artist", IconLoader::Base); - } else { - icon = IconLoader::Load("group", IconLoader::Base); - } - QStandardItem* item = new QStandardItem(icon, owner.name()); - - item->setData(QVariant::fromValue(owner), Role_MusicOwnerMetadata); - item->setData(Type_Bookmark, InternetModel::Role_Type); - - AppendWall(item); - AppendMusic(item); - AppendAlbumList(item); - - root_item_->appendRow(item); - return item; -} - -void VkService::UpdateItem() { - QModelIndex current(model()->current_index()); - QStandardItem* item = current.data(InternetModel::Role_Type).toInt() == - InternetModel::Type_Track - ? model()->itemFromIndex(current.parent()) - : model()->itemFromIndex(current); - - LazyPopulate(item); -} - -void VkService::UpdateAlbumList(QStandardItem* item) { - MusicOwner owner = item->data(Role_MusicOwnerMetadata).value(); - ClearStandardItem(item); - CreateAndAppendRow(item, Type_Loading); - LoadAlbums(item, owner); -} - -/*** - * Albums - */ - -void VkService::LoadAlbums(QStandardItem* parent, const MusicOwner& owner) { - auto albums_request = audio_provider_->getAlbums(owner.id()); - NewClosure( - albums_request, SIGNAL(resultReady(QVariant)), this, - SLOT(AlbumListReceived(QStandardItem*, Vreen::AudioAlbumItemListReply*)), - parent, albums_request); -} - -QStandardItem* VkService::AppendAlbum(QStandardItem* parent, - const Vreen::AudioAlbumItem& album) { - QStandardItem* item = - new QStandardItem(IconLoader::Load("view-media-playlist", IconLoader::Base), - album.title()); - - item->setData(QVariant::fromValue(album), Role_AlbumMetadata); - item->setData(Type_Album, InternetModel::Role_Type); - item->setData(true, InternetModel::Role_CanLazyLoad); - item->setData(InternetModel::PlayBehaviour_MultipleItems, - InternetModel::Role_PlayBehaviour); - - parent->appendRow(item); - return item; -} - -QStandardItem* VkService::AppendAlbumList(QStandardItem* parent, bool myself) { - MusicOwner owner; - QStandardItem* item; - - if (myself) { - item = new QStandardItem(IconLoader::Load("x-clementine-album", - IconLoader::Base), tr("My Albums")); - // TODO(Ivan Leontiev): Do this better. We have incomplete MusicOwner - // instance for logged in user. - owner.setId(UserID()); - my_albums_item_ = item; - } else { - owner = parent->data(Role_MusicOwnerMetadata).value(); - item = new QStandardItem(IconLoader::Load("x-clementine-album", - IconLoader::Base), tr("Albums")); - } - - item->setData(QVariant::fromValue(owner), Role_MusicOwnerMetadata); - item->setData(Type_AlbumList, InternetModel::Role_Type); - item->setData(true, InternetModel::Role_CanLazyLoad); - - parent->appendRow(item); - return item; -} - -void VkService::AlbumListReceived(QStandardItem* parent, - Vreen::AudioAlbumItemListReply* reply) { - Vreen::AudioAlbumItemList albums = reply->result(); - RemoveLastRow(parent, Type_Loading); - for (const auto& album : albums) { - AppendAlbum(parent, album); - } -} - -void VkService::UpdateAlbumSongs(QStandardItem* item) { - Vreen::AudioAlbumItem album = - item->data(Role_AlbumMetadata).value(); - - LoadAndAppendSongList(item, album.ownerId(), album.id()); -} - -/*** - * Wall - */ - -QStandardItem* VkService::AppendWall(QStandardItem* parent) { - QStandardItem* item = - new QStandardItem(IconLoader::Load("view-media-playlist", - IconLoader::Base), tr("Wall")); - MusicOwner owner = parent->data(Role_MusicOwnerMetadata).value(); - - item->setData(QVariant::fromValue(owner), Role_MusicOwnerMetadata); - item->setData(Type_Wall, InternetModel::Role_Type); - item->setData(true, InternetModel::Role_CanLazyLoad); - item->setData(InternetModel::PlayBehaviour_MultipleItems, - InternetModel::Role_PlayBehaviour); - - parent->appendRow(item); - return item; -} - -QStandardItem* VkService::AppendMusic(QStandardItem* parent, bool myself) { - MusicOwner owner; - QStandardItem* item; - - if (myself) { - item = new QStandardItem(IconLoader::Load("love", IconLoader::Lastfm), - tr("My Music")); - // TODO(Ivan Leontiev): Do this better. We have incomplete MusicOwner - // instance for logged in user. - owner.setId(UserID()); - my_music_item_ = item; - } else { - item = new QStandardItem(IconLoader::Load("view-media-playlist", - IconLoader::Base), tr("Music")); - owner = parent->data(Role_MusicOwnerMetadata).value(); - } - - item->setData(QVariant::fromValue(owner), Role_MusicOwnerMetadata); - item->setData(Type_Music, InternetModel::Role_Type); - item->setData(true, InternetModel::Role_CanLazyLoad); - item->setData(InternetModel::PlayBehaviour_MultipleItems, - InternetModel::Role_PlayBehaviour); - - parent->appendRow(item); - return item; -} - -void VkService::UpdateWallSongs(QStandardItem* item) { - MusicOwner owner = item->data(Role_MusicOwnerMetadata).value(); - ClearStandardItem(item); - LoadAndAppendWallSongList(item, owner); -} - -void VkService::MoreWallSongs(QStandardItem* item) { - QStandardItem* parent = item->parent(); - MusicOwner owner = parent->data(Role_MusicOwnerMetadata).value(); - int offset = item->data(Role_MoreMetadata).value(); - - RemoveLastRow(parent, Type_More); - LoadAndAppendWallSongList(parent, owner, offset); -} - -void VkService::WallPostsLoaded(QStandardItem* item, Vreen::Reply* reply, - int offset) { - auto response = reply->response().toMap(); - int count = response.value("count").toInt(); - - SongList songs = FromAudioList(handleWallPosts(response.value("items"))); - - RemoveLastRow(item, Type_Loading); - AppendSongs(item, songs); - if (count > offset) { - auto m = CreateAndAppendRow(item, Type_More); - m->setData(offset, Role_MoreMetadata); - } -} - -void VkService::LoadAndAppendWallSongList(QStandardItem* item, - const MusicOwner& owner, int offset) { - if (item) { - CreateAndAppendRow(item, Type_Loading); - QVariantMap args; - QString vk_script = - "var a = API.wall.get({" - " \"owner_id\": Args.q," - " \"count\": Args.count," - " \"offset\": Args.offset" - "});" - "return {\"count\": a.count, \"items\": a.items@.attachments};"; - - args.insert("v", "5.25"); - args.insert("q", owner.id()); - args.insert("offset", offset); - args.insert("count", kMaxVkWallPostList); - args.insert("code", vk_script); - - auto reply = client_->request("execute", args); - NewClosure(reply, SIGNAL(resultReady(QVariant)), this, - SLOT(WallPostsLoaded(QStandardItem*, Vreen::Reply*, int)), item, - reply, offset + kMaxVkWallPostList); - } -} - -/*** - * Features - */ - -void VkService::FindThisArtist() { - search_box_->SetText(selected_song_.artist()); -} - -void VkService::AddToMyMusic() { - SongId id = ExtractIds(selected_song_.url()); - auto reply = audio_provider_->addToLibrary(id.audio_id, id.owner_id); - NewClosure(reply, SIGNAL(resultReady(QVariant)), this, - SLOT(UpdateMusic(QStandardItem*)), my_music_item_); -} - -void VkService::AddToMyMusicCurrent() { - if (isLoveAddToMyMusic() && current_song_.is_valid()) { - selected_song_ = current_song_; - AddToMyMusic(); - } -} - -void VkService::RemoveFromMyMusic() { - SongId id = ExtractIds(selected_song_.url()); - if (id.owner_id == UserID()) { - auto reply = audio_provider_->removeFromLibrary(id.audio_id, id.owner_id); - NewClosure(reply, SIGNAL(resultReady(QVariant)), this, - SLOT(UpdateMusic(QStandardItem*)), my_music_item_); - } else { - qLog(Error) << "Tried to delete song that not owned by user (" << UserID() - << selected_song_.url(); - } -} - -void VkService::AddSelectedToCache() { - QUrl selected_song_media_url = - GetAudioItemFromUrl(selected_song_.url()).url(); - cache_->AddToCache(selected_song_.url(), selected_song_media_url, true); -} - -void VkService::CopyShareUrl() { - QByteArray share_url("http://vk.com/audio?q="); - share_url += QUrl::toPercentEncoding( - QString(selected_song_.artist() + " " + selected_song_.title())); - - QApplication::clipboard()->setText(share_url); -} - -/*** - * Search - */ - -void VkService::DoLocalSearch() { - ClearStandardItem(search_result_item_); - CreateAndAppendRow(search_result_item_, Type_Loading); - SearchID id(SearchID::LocalSearch); - - last_search_id_ = id.id(); - SongSearch(id, last_query_); -} - -void VkService::FindSongs(const QString& query) { - last_query_ = query; - - if (query.isEmpty()) { - search_delay_->stop(); - root_item_->removeRow(search_result_item_->row()); - search_result_item_ = NULL; - last_search_id_ = 0; - return; - } - - search_delay_->start(); - - if (!search_result_item_) { - CreateAndAppendRow(root_item_, Type_Search); - } -} - -void VkService::FindMore() { - RemoveLastRow(search_result_item_, Type_More); - CreateAndAppendRow(search_result_item_, Type_Loading); - SearchID id(SearchID::MoreLocalSearch); - - last_search_id_ = id.id(); - SongSearch(id, last_query_, kMaxVkSongCount, - search_result_item_->rowCount() - 1); -} - -void VkService::SearchResultLoaded(const SearchID& id, const SongList& songs) { - if (!search_result_item_) { - return; // Result received when search is already over. - } - - if (id.id() == last_search_id_) { - if (id.type() == SearchID::LocalSearch) { - ClearStandardItem(search_result_item_); - } else if (id.type() == SearchID::MoreLocalSearch) { - RemoveLastRow(search_result_item_, Type_Loading); - } else { - return; // Others request types ignored. - } - - if (!songs.isEmpty()) { - AppendSongs(search_result_item_, songs); - CreateAndAppendRow(search_result_item_, Type_More); - } - - // If new search, scroll to search results. - if (id.type() == SearchID::LocalSearch) { - QModelIndex index = - model()->merged_model()->mapFromSource(search_result_item_->index()); - ScrollToIndex(index); - } - } -} - -/*** - * Load song list methods - */ - -void VkService::LoadAndAppendSongList(QStandardItem* item, int uid, - int album_id) { - if (item) { - ClearStandardItem(item); - CreateAndAppendRow(item, Type_Loading); - auto audioreq = - audio_provider_->getContactAudio(uid, kMaxVkSongList, 0, album_id); - NewClosure( - audioreq, SIGNAL(resultReady(QVariant)), this, - SLOT(AppendLoadedSongs(QStandardItem*, Vreen::AudioItemListReply*)), - item, audioreq); - } -} - -void VkService::AppendLoadedSongs(QStandardItem* item, - Vreen::AudioItemListReply* reply) { - SongList songs = FromAudioList(reply->result()); - - if (item) { - ClearStandardItem(item); - if (songs.count() > 0) { - AppendSongs(item, songs); - return; - } - } else { - qLog(Warning) << "Item for request not exist"; - } - - item->appendRow(new QStandardItem( - tr("Connection trouble " - "or audio is disabled by owner"))); -} - -static QString SanitiseCharacters(QString str) { - // Remove all leading and trailing unicode symbols - // that some users love to add to title and artist. - str = str.remove(QRegExp("^[^\\w]*")); - str = str.remove(QRegExp("[^])\\w]*$")); - return str; -} - -Song VkService::FromAudioItem(const Vreen::AudioItem& item) { - Song song; - song.set_title(SanitiseCharacters(item.title())); - song.set_artist(SanitiseCharacters(item.artist())); - song.set_length_nanosec(qFloor(item.duration()) * kNsecPerSec); - - QString url = QString("vk://song/%1_%2/%3/%4") - .arg(item.ownerId()) - .arg(item.id()) - .arg(item.artist().replace('/', '_')) - .arg(item.title().replace('/', '_')); - - song.set_url(QUrl(url)); - song.set_valid(true); - return song; -} - -SongList VkService::FromAudioList(const Vreen::AudioItemList& list) { - SongList song_list; - for (const Vreen::AudioItem& item : list) { - song_list.append(FromAudioItem(item)); - } - return song_list; -} - -/*** - * Url handling - */ - -Vreen::AudioItem VkService::GetAudioItemFromUrl(const QUrl& url) { - QStringList tokens = url.path().split('/'); - - if (tokens.count() < 2) { - qLog(Error) << "Wrong song url" << url; - return Vreen::AudioItem(); - } - - QString song_id = tokens[1]; - - if (HasAccount()) { - Vreen::AudioItemListReply* song_request = - audio_provider_->getAudiosByIds(song_id); - emit StopWaiting(); // Stop all previous requests. - bool success = WaitForReply(song_request); - - if (success && !song_request->result().isEmpty()) { - return song_request->result()[0]; - } - } - - qLog(Info) << "Unresolved url by id" << song_id; - return Vreen::AudioItem(); -} - -UrlHandler::LoadResult VkService::GetSongResult(const QUrl& url) { - // Try get from cache - QUrl media_url = cache_->Get(url); - if (media_url.isValid()) { - SongStarting(url); - return UrlHandler::LoadResult(url, UrlHandler::LoadResult::TrackAvailable, - media_url); - } - - // Otherwise get fresh link - auto audio_item = GetAudioItemFromUrl(url); - media_url = audio_item.url(); - if (media_url.isValid()) { - Song song = FromAudioItem(audio_item); - SongStarting(song); - - if (cachingEnabled_) { - cache_->AddToCache(url, media_url); - } - - return UrlHandler::LoadResult(url, UrlHandler::LoadResult::TrackAvailable, - media_url, song.length_nanosec()); - } - - return UrlHandler::LoadResult(url); -} - -UrlHandler::LoadResult VkService::GetGroupNextSongUrl(const QUrl& url) { - QStringList tokens = url.path().split('/'); - if (tokens.count() < 3) { - qLog(Error) << "Wrong url" << url; - return UrlHandler::LoadResult(url); - } - - int gid = tokens[1].toInt(); - int songs_count = tokens[2].toInt(); - - if (songs_count > kMaxVkSongList) { - songs_count = kMaxVkSongList; - } - - if (HasAccount()) { - // Getting one random song from groups playlist. - Vreen::AudioItemListReply* song_request = - audio_provider_->getContactAudio(-gid, 1, qrand() % songs_count); - - emit StopWaiting(); // Stop all previous requests. - bool success = WaitForReply(song_request); - - if (success && !song_request->result().isEmpty()) { - Vreen::AudioItem song = song_request->result()[0]; - current_group_url_ = url; - SongStarting(FromAudioItem(song)); - emit StreamMetadataFound(url, current_song_); - return UrlHandler::LoadResult(url, UrlHandler::LoadResult::TrackAvailable, - song.url(), current_song_.length_nanosec()); - } - } - - qLog(Info) << "Unresolved group url" << url; - return UrlHandler::LoadResult(url); -} - -/*** - * Song playing - */ - -void VkService::SongStarting(const QUrl& url) { - SongStarting(SongFromUrl(url)); -} - -void VkService::SongStarting(const Song& song) { - current_song_ = song; - - if (isBroadcasting() && HasAccount()) { - auto id = ExtractIds(song.url()); - auto reply = - audio_provider_->setBroadcast(id.audio_id, id.owner_id, IdList()); - NewClosure(reply, SIGNAL(resultReady(QVariant)), this, - SLOT(BroadcastChangeReceived(Vreen::IntReply*)), reply); - connect(app_->player(), SIGNAL(Stopped()), this, SLOT(SongStopped()), - Qt::UniqueConnection); - qLog(Debug) << "Broadcasting" << song.artist() << "-" << song.title(); - } -} - -void VkService::SongSkipped() { - current_song_.set_valid(false); - cache_->BreakCurrentCaching(); -} - -void VkService::SongStopped() { - current_song_.set_valid(false); - - if (isBroadcasting() && HasAccount()) { - auto reply = audio_provider_->resetBroadcast(IdList()); - NewClosure(reply, SIGNAL(resultReady(QVariant)), this, - SLOT(BroadcastChangeReceived(Vreen::IntReply*)), reply); - disconnect(app_->player(), SIGNAL(Stopped()), this, SLOT(SongStopped())); - qLog(Debug) << "End of broadcasting"; - } -} - -void VkService::BroadcastChangeReceived(Vreen::IntReply* reply) { - qLog(Debug) << "Broadcast changed for " << reply->result(); -} - -/*** - * Search - */ - -void VkService::SongSearch(SearchID id, const QString& query, int count, - int offset) { - auto reply = audio_provider_->searchAudio( - query, count, offset, false, Vreen::AudioProvider::SortByPopularity); - NewClosure(reply, SIGNAL(resultReady(QVariant)), this, - SLOT(SongSearchReceived(SearchID, Vreen::AudioItemListReply*)), id, - reply); -} - -void VkService::SongSearchReceived(const SearchID& id, - Vreen::AudioItemListReply* reply) { - SongList songs = FromAudioList(reply->result()); - emit SongSearchResult(id, songs); -} - -void VkService::GroupSearch(SearchID id, const QString& query) { - QVariantMap args; - args.insert("q", query); - - // This is using of 'execute' method that execute - // this VKScript method on vk server: - /* - var groups = API.groups.search({"q": Args.q}); - if (groups.length == 0) { - return []; - } - - var i = 1; - var res = []; - while (i < groups.length - 1) { - i = i + 1; - var grp = groups[i]; - var songs = API.audio.getCount({oid: -grp.gid}); - if ( songs > 1 && - (grp.is_closed == 0 || grp.is_member == 1)) - { - res = res + [{"songs_count" : songs, - "id" : -grp.gid, - "name" : grp.name, - "screen_name" : grp.screen_name, - "photo": grp.photo}]; - } - } - return res; - */ - // - // I leave it here in case if my vk app disappear or smth. - - auto reply = client_->request("execute.searchMusicGroup", args); - - NewClosure(reply, SIGNAL(resultReady(QVariant)), this, - SLOT(GroupSearchReceived(SearchID, Vreen::Reply*)), id, reply); -} - -void VkService::GroupSearchReceived(const SearchID& id, Vreen::Reply* reply) { - QVariant groups = reply->response(); - emit GroupSearchResult(id, MusicOwner::parseMusicOwnerList(groups)); -} - -/*** - * Vk search user or group. - */ - -void VkService::ShowSearchDialog() { - if (vk_search_dialog_->exec() == QDialog::Accepted) { - AppendBookmark(vk_search_dialog_->found()); - SaveBookmarks(); - } -} - -void VkService::FindUserOrGroup(const QString& q) { - QVariantMap args; - args.insert("q", q); - - // This is using of 'execute' method that execute - // this VKScript method on vk server: - /* - var q = Args.q; - if (q + "" == ""){ - return []; - } - - var results_count = 0; - var res = []; - - // Search groups - var groups = API.groups.search({"q": q}); - - var i = 0; - while (i < groups.length - 1 && results_count <= 5) { - i = i + 1; - var grp = groups[i]; - var songs = API.audio.getCount({oid: -grp.gid}); - // Add only accessible groups with songs - if ( songs > 1 && - (grp.is_closed == 0 || grp.is_member == 1)) - { - results_count = results_count + 1; - res = res + [{"songs_count" : songs, - "id" : -grp.gid, - "name" : grp.name, - "screen_name" : grp.screen_name, - "photo": grp.photo}]; - } - } - - // Search peoples - var peoples = API.users.search({"q": q, - "count":10, - "fields":"screen_name,photo"}); - var i = 0; - while (i < peoples.length - 1 && results_count <= 7) { - i = i + 1; - var user = peoples[i]; - var songs = API.audio.getCount({"oid": user.uid}); - // Add groups only with songs - if (songs > 1) { - results_count = results_count + 1; - res = res + [{"songs_count" : songs, - "id" : user.uid, - "name" : user.first_name + " " + user.last_name, - "screen_name" : user.screen_name, - "phone" : user.photo}]; - } - } - - return res; - */ - // I leave it here just in case if my vk app will disappear or smth. - - auto reply = client_->request("execute.searchMusicOwner", args); - - NewClosure(reply, SIGNAL(resultReady(QVariant)), this, - SLOT(UserOrGroupReceived(SearchID, Vreen::Reply*)), - SearchID(SearchID::UserOrGroup), reply); -} - -void VkService::UserOrGroupReceived(const SearchID& id, Vreen::Reply* reply) { - QVariant owners = reply->response(); - emit UserOrGroupSearchResult(id, MusicOwner::parseMusicOwnerList(owners)); -} - -/*** - * Utils - */ - -int VkService::TypeOfItem(const QStandardItem* item) { - return item->data(InternetModel::Role_Type).toInt(); -} - -bool VkService::isItemBusy(const QStandardItem* item) { - const QStandardItem* cur_item = - TypeOfItem(item) == InternetModel::Type_Track ? item->parent() : item; - - int r_count = cur_item->rowCount(); - bool flag = false; - - if (r_count) { - if (TypeOfItem(cur_item->child(r_count - 1)) == Type_Loading) return true; - - int t = TypeOfItem(cur_item); - if (cur_item == root_item_ || t == Type_Bookmark || t == Type_AlbumList) { - for (int i = 0; i < r_count; i++) { - flag |= isItemBusy(cur_item->child(i)); - } - } - } - return flag; -} - -void VkService::AppendSongs(QStandardItem* parent, const SongList& songs) { - for (const auto& song : songs) { - parent->appendRow(CreateSongItem(song)); - } -} - -void VkService::ReloadSettings() { - QSettings s; - s.beginGroup(kSettingGroup); - maxGlobalSearch_ = s.value("max_global_search", kMaxVkSongCount).toInt(); - cachingEnabled_ = s.value("cache_enabled", false).toBool(); - cacheDir_ = s.value("cache_dir", DefaultCacheDir()).toString(); - cacheFilename_ = s.value("cache_filename", kDefCacheFilename).toString(); - love_is_add_to_mymusic_ = s.value("love_is_add_to_my_music", false).toBool(); - groups_in_global_search_ = s.value("groups_in_global_search", false).toBool(); - - if (!s.contains("enable_broadcast")) { - // Need to update premissions - Logout(); - } - enable_broadcast_ = s.value("enable_broadcast", false).toBool(); -} - -void VkService::ClearStandardItem(QStandardItem* item) { - if (item && item->hasChildren()) { - item->removeRows(0, item->rowCount()); - } -} - -bool VkService::WaitForReply(Vreen::Reply* reply) { - QEventLoop event_loop; - QTimer timeout_timer; - connect(this, SIGNAL(StopWaiting()), &timeout_timer, SLOT(stop())); - connect(&timeout_timer, SIGNAL(timeout()), &event_loop, SLOT(quit())); - connect(reply, SIGNAL(resultReady(QVariant)), &event_loop, SLOT(quit())); - timeout_timer.start(10000); - event_loop.exec(); - if (!timeout_timer.isActive()) { - qLog(Error) << "Vk.com request timeout"; - return false; - } - timeout_timer.stop(); - return true; -} - -Vreen::AudioItemList VkService::handleWallPosts(const QVariant& response) { - Vreen::AudioItemList items; - auto list = response.toList(); - for (const auto& i : list) { - auto attachments = i.toList(); - for (const auto& j : attachments) { - auto item = j.toMap(); - if (item.value("type") == "audio") { - auto map = item.value("audio").toMap(); - Vreen::AudioItem audio; - - audio.setId(map.value("id").toInt()); - audio.setOwnerId(map.value("owner_id").toInt()); - audio.setArtist(map.value("artist").toString()); - audio.setTitle(map.value("title").toString()); - audio.setDuration(map.value("duration").toReal()); - audio.setAlbumId(map.value("album").toInt()); - audio.setLyricsId(map.value("lyrics_id").toInt()); - audio.setUrl(map.value("url").toUrl()); - - items.append(audio); - } - } - } - return items; -} diff --git a/src/internet/vk/vkservice.h b/src/internet/vk/vkservice.h deleted file mode 100644 index 5d629792b..000000000 --- a/src/internet/vk/vkservice.h +++ /dev/null @@ -1,326 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Vlad Maltsev - Copyright 2014, Krzysztof Sobiecki - Copyright 2014, Ivan Leontiev - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#ifndef INTERNET_VK_VKSERVICE_H_ -#define INTERNET_VK_VKSERVICE_H_ - -#include - -#include "internet/core/internetservice.h" -#include "internet/core/internetmodel.h" -#include "core/song.h" - -#include "vreen/audio.h" -#include "vreen/contact.h" - -#include "vkconnection.h" -#include "vkurlhandler.h" - -namespace Vreen { -class Client; -class Buddy; -} - -class SearchBoxWidget; -class VkMusicCache; -class VkSearchDialog; - -/*** - * Store information about user or group - * using in bookmarks. - */ -class MusicOwner { - public: - MusicOwner() : songs_count_(0), id_(0) {} - - explicit MusicOwner(const QUrl& group_url); - Song toOwnerRadio() const; - - QString name() const { return name_; } - int id() const { return id_; } - int song_count() const { return songs_count_; } - static QList parseMusicOwnerList(const QVariant& request_result); - // quick and dirty solution for creating MusicOwner instance for - // logged in user - void setId(int id) { id_ = id; } - - private: - friend QDataStream& operator<<(QDataStream& stream, const MusicOwner& val); - friend QDataStream& operator>>(QDataStream& stream, MusicOwner& val); - friend QDebug operator<<(QDebug d, const MusicOwner& owner); - - int songs_count_; - int id_; // if id > 0 is user otherwise id group - QString name_; - // name used in url http://vk.com/ for example: - // http://vk.com/shedward - QString screen_name_; - QUrl photo_; -}; - -typedef QList MusicOwnerList; - -Q_DECLARE_METATYPE(MusicOwner) - -QDataStream& operator<<(QDataStream& stream, const MusicOwner& val); -QDataStream& operator>>(QDataStream& stream, MusicOwner& var); -QDebug operator<<(QDebug d, const MusicOwner& owner); - -/*** - * The simple structure allows the handler to determine - * how to react to the received request or quickly skip unwanted. - */ -struct SearchID { - enum Type { GlobalSearch, LocalSearch, MoreLocalSearch, UserOrGroup }; - - explicit SearchID(Type type) : type_(type) { id_ = last_id_++; } - int id() const { return id_; } - Type type() const { return type_; } - - private: - static uint last_id_; - int id_; - Type type_; -}; - -/*** - * VkService - */ -class VkService : public InternetService { - Q_OBJECT - - public: - explicit VkService(Application* app, InternetModel* parent); - ~VkService(); - - static const char* kServiceName; - static const char* kSettingGroup; - static const char* kUrlScheme; - static const char* kDefCacheFilename; - static QString DefaultCacheDir(); - static const int kMaxVkSongList; - static const int kMaxVkWallPostList; - static const int kMaxVkSongCount; - static const int kSearchDelayMsec; - - enum ItemType { - Type_Loading = InternetModel::TypeCount, - Type_More, - - Type_Recommendations, - Type_Music, - Type_Bookmark, - Type_Album, - Type_Wall, - Type_AlbumList, - - Type_Search - }; - - enum Role { - Role_MusicOwnerMetadata = InternetModel::RoleCount, - Role_AlbumMetadata, - Role_MoreMetadata - }; - - Application* app() const { return app_; } - - /* InternetService interface */ - QStandardItem* CreateRootItem(); - void LazyPopulate(QStandardItem* parent); - void ShowContextMenu(const QPoint& global_pos); - void ItemDoubleClicked(QStandardItem* item); - QList playlistitem_actions(const Song& song); - - /* Interface*/ - QWidget* HeaderWidget() const; - - /* Connection */ - void Login(); - void Logout(); - bool HasAccount() const; - int UserID() const; - void RequestUserProfile(); - bool WaitForReply(Vreen::Reply* reply); - - /* Music */ - void SongStarting(const Song& song); - void SongStarting(const QUrl& url); // Used if song taked from cache. - void SongSkipped(); - UrlHandler::LoadResult GetSongResult(const QUrl& url); - Vreen::AudioItem GetAudioItemFromUrl(const QUrl& url); - // Return random song result from group playlist. - UrlHandler::LoadResult GetGroupNextSongUrl(const QUrl& url); - - void SongSearch(SearchID id, const QString& query, - int count = kMaxVkSongCount, int offset = 0); - void GroupSearch(SearchID id, const QString& query); - - /* Settings */ - void ReloadSettings(); - int maxGlobalSearch() const { return maxGlobalSearch_; } - bool isCachingEnabled() const { return cachingEnabled_; } - bool isGroupsInGlobalSearch() const { return groups_in_global_search_; } - bool isBroadcasting() const { return enable_broadcast_; } - QString cacheDir() const { return cacheDir_; } - QString cacheFilename() const { return cacheFilename_; } - bool isLoveAddToMyMusic() const { return love_is_add_to_mymusic_; } - -signals: - void NameUpdated(const QString& name); - void ConnectionStateChanged(Vreen::Client::State state); - void LoginSuccess(bool success); - void SongSearchResult(const SearchID& id, const SongList& songs); - void GroupSearchResult(const SearchID& id, const MusicOwnerList& groups); - void UserOrGroupSearchResult(const SearchID& id, - const MusicOwnerList& owners); - void StopWaiting(); - - public slots: - void UpdateRoot(); - void ShowConfig(); - void FindUserOrGroup(const QString& q); - void DoLocalSearch(); - - private slots: - /* Interface */ - void UpdateItem(); - - /* Connection */ - void ChangeConnectionState(Vreen::Client::State state); - void UserProfileRecived(const QVariant& result); - void Error(Vreen::Client::Error error); - - /* Music */ - void SongStopped(); - void UpdateMusic(QStandardItem* item); - void UpdateAlbumList(QStandardItem* item); - void UpdateAlbumSongs(QStandardItem* item); - void UpdateWallSongs(QStandardItem* item); - void MoreWallSongs(QStandardItem* item); - void FindSongs(const QString& query); - void FindMore(); - void UpdateRecommendations(); - void MoreRecommendations(); - void FindThisArtist(); - void AddToMyMusic(); - void AddToMyMusicCurrent(); - void RemoveFromMyMusic(); - void AddSelectedToCache(); - void CopyShareUrl(); - void ShowSearchDialog(); - - void AddSelectedToBookmarks(); - void RemoveFromBookmark(); - - void SongSearchReceived(const SearchID& id, Vreen::AudioItemListReply* reply); - void GroupSearchReceived(const SearchID& id, Vreen::Reply* reply); - void UserOrGroupReceived(const SearchID& id, Vreen::Reply* reply); - void AlbumListReceived(QStandardItem* parent, - Vreen::AudioAlbumItemListReply* reply); - void BroadcastChangeReceived(Vreen::IntReply* reply); - - void AppendLoadedSongs(QStandardItem* item, Vreen::AudioItemListReply* reply); - void RecommendationsLoaded(Vreen::AudioItemListReply* reply); - void SearchResultLoaded(const SearchID& id, const SongList& songs); - void WallPostsLoaded(QStandardItem* item, Vreen::Reply* reply, int offset); - - private: - bool isItemBusy(const QStandardItem* item); - int TypeOfItem(const QStandardItem* item); - Vreen::AudioItemList handleWallPosts(const QVariant& response); - - /* Interface */ - QStandardItem* CreateAndAppendRow(QStandardItem* parent, - VkService::ItemType type); - void ClearStandardItem(QStandardItem* item); - QStandardItem* GetBookmarkItemById(int id); - void EnsureMenuCreated(); - - /* Music */ - void LoadAndAppendSongList(QStandardItem* item, int uid, int album_id = -1); - void LoadAndAppendWallSongList(QStandardItem* item, const MusicOwner& owner, - int offset = 0); - Song FromAudioItem(const Vreen::AudioItem& item); - SongList FromAudioList(const Vreen::AudioItemList& list); - void AppendSongs(QStandardItem* parent, const SongList& songs); - - QStandardItem* AppendBookmark(const MusicOwner& owner); - void SaveBookmarks(); - void LoadBookmarks(); - - void LoadAlbums(QStandardItem* parent, const MusicOwner& owner); - QStandardItem* AppendAlbum(QStandardItem* parent, - const Vreen::AudioAlbumItem& album); - QStandardItem* AppendAlbumList(QStandardItem* parent, bool myself = false); - - QStandardItem* AppendWall(QStandardItem* parent); - QStandardItem* AppendMusic(QStandardItem* parent, bool myself = false); - - /* Interface */ - QStandardItem* root_item_; - QStandardItem* recommendations_item_; - QStandardItem* my_music_item_; - QStandardItem* my_albums_item_; - QStandardItem* search_result_item_; - - QMenu* context_menu_; - - QAction* update_item_; - QAction* find_this_artist_; - QAction* add_to_my_music_; - QAction* remove_from_my_music_; - QAction* add_song_to_cache_; - QAction* copy_share_url_; - QAction* add_to_bookmarks_; - QAction* remove_from_bookmarks_; - QAction* find_owner_; - - SearchBoxWidget* search_box_; - VkSearchDialog* vk_search_dialog_; - - /* Connection */ - std::unique_ptr client_; - std::unique_ptr connection_; - VkUrlHandler* url_handler_; - - /* Music */ - std::unique_ptr audio_provider_; - VkMusicCache* cache_; - // Keeping when more recent results recived. - // Using for prevent loading tardy result instead. - uint last_search_id_; - QTimer* search_delay_; - QString last_query_; - Song selected_song_; // Store for context menu actions. - Song current_song_; // Store for actions with now playing song. - // Store current group url for actions with it. - QUrl current_group_url_; - - /* Settings */ - int maxGlobalSearch_; - bool cachingEnabled_; - bool love_is_add_to_mymusic_; - bool groups_in_global_search_; - bool enable_broadcast_; - QString cacheDir_; - QString cacheFilename_; -}; - -#endif // INTERNET_VK_VKSERVICE_H_ diff --git a/src/internet/vk/vksettingspage.cpp b/src/internet/vk/vksettingspage.cpp deleted file mode 100644 index fd4584176..000000000 --- a/src/internet/vk/vksettingspage.cpp +++ /dev/null @@ -1,135 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Maltsev Vlad - Copyright 2014, Krzysztof Sobiecki - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#include "vksettingspage.h" - -#include -#include - -#include "ui_vksettingspage.h" -#include "core/application.h" -#include "core/logging.h" -#include "internet/vk/vkservice.h" -#include "ui/iconloader.h" - -VkSettingsPage::VkSettingsPage(SettingsDialog* parent) - : SettingsPage(parent), - ui_(new Ui::VkSettingsPage), - service_(dialog()->app()->internet_model()->Service()) { - ui_->setupUi(this); - setWindowIcon(IconLoader::Load("vk", IconLoader::Provider)); - - connect(service_, SIGNAL(LoginSuccess(bool)), SLOT(LoginSuccess(bool))); - connect(ui_->choose_path, SIGNAL(clicked()), SLOT(CacheDirBrowse())); - connect(ui_->reset, SIGNAL(clicked()), SLOT(ResetCasheFilenames())); -} - -VkSettingsPage::~VkSettingsPage() { delete ui_; } - -void VkSettingsPage::Load() { - service_->ReloadSettings(); - - ui_->max_global_search->setValue(service_->maxGlobalSearch()); - ui_->enable_caching->setChecked(service_->isCachingEnabled()); - ui_->cache_dir->setText(service_->cacheDir()); - ui_->cache_filename->setText(service_->cacheFilename()); - ui_->love_button_is_add_to_mymusic->setChecked( - service_->isLoveAddToMyMusic()); - ui_->groups_in_global_search->setChecked(service_->isGroupsInGlobalSearch()); - ui_->enable_broadcast->setChecked(service_->isBroadcasting()); - - if (service_->HasAccount()) { - LogoutWidgets(); - } else { - LoginWidgets(); - } -} - -void VkSettingsPage::Save() { - QSettings s; - s.beginGroup(VkService::kSettingGroup); - - s.setValue("max_global_search", ui_->max_global_search->value()); - s.setValue("cache_enabled", ui_->enable_caching->isChecked()); - s.setValue("cache_dir", ui_->cache_dir->text()); - s.setValue("cache_filename", ui_->cache_filename->text()); - s.setValue("love_is_add_to_my_music", - ui_->love_button_is_add_to_mymusic->isChecked()); - s.setValue("groups_in_global_search", - ui_->groups_in_global_search->isChecked()); - s.setValue("enable_broadcast", ui_->enable_broadcast->isChecked()); - - service_->ReloadSettings(); -} - -void VkSettingsPage::Login() { - ui_->login_button->setEnabled(false); - service_->Login(); -} - -void VkSettingsPage::LoginSuccess(bool success) { - if (success) { - LogoutWidgets(); - } else { - LoginWidgets(); - } -} - -void VkSettingsPage::Logout() { - ui_->login_button->setEnabled(false); - service_->Logout(); - LoginWidgets(); -} - -void VkSettingsPage::CacheDirBrowse() { - QString directory = QFileDialog::getExistingDirectory( - this, tr("Choose Vk.com cache directory"), ui_->cache_dir->text()); - if (directory.isEmpty()) { - return; - } - - ui_->cache_dir->setText(QDir::toNativeSeparators(directory)); -} - -void VkSettingsPage::ResetCasheFilenames() { - ui_->cache_filename->setText(VkService::kDefCacheFilename); -} - -void VkSettingsPage::LoginWidgets() { - ui_->login_button->setText(tr("Login")); - ui_->name->setText(""); - ui_->login_button->setEnabled(true); - - connect(ui_->login_button, SIGNAL(clicked()), SLOT(Login()), - Qt::UniqueConnection); - disconnect(ui_->login_button, SIGNAL(clicked()), this, SLOT(Logout())); -} - -void VkSettingsPage::LogoutWidgets() { - ui_->login_button->setText(tr("Logout")); - ui_->name->setText(tr("Loading...")); - ui_->login_button->setEnabled(true); - - connect(service_, SIGNAL(NameUpdated(QString)), ui_->name, - SLOT(setText(QString)), Qt::UniqueConnection); - service_->RequestUserProfile(); - - connect(ui_->login_button, SIGNAL(clicked()), SLOT(Logout()), - Qt::UniqueConnection); - disconnect(ui_->login_button, SIGNAL(clicked()), this, SLOT(Login())); -} diff --git a/src/internet/vk/vksettingspage.h b/src/internet/vk/vksettingspage.h deleted file mode 100644 index 826d4ba66..000000000 --- a/src/internet/vk/vksettingspage.h +++ /dev/null @@ -1,56 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Krzysztof Sobiecki - Copyright 2014, Maltsev Vlad - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#ifndef INTERNET_VK_VKSETTINGSPAGE_H_ -#define INTERNET_VK_VKSETTINGSPAGE_H_ - -#include "ui/settingspage.h" - -#include -#include - -class VkService; -class Ui_VkSettingsPage; - -class VkSettingsPage : public SettingsPage { - Q_OBJECT - - public: - explicit VkSettingsPage(SettingsDialog* parent); - ~VkSettingsPage(); - - void Load(); - void Save(); - - private slots: - void LoginSuccess(bool success); - - void Login(); - void Logout(); - - void CacheDirBrowse(); - void ResetCasheFilenames(); - - private: - void LoginWidgets(); - void LogoutWidgets(); - Ui_VkSettingsPage* ui_; - VkService* service_; -}; - -#endif // INTERNET_VK_VKSETTINGSPAGE_H_ diff --git a/src/internet/vk/vksettingspage.ui b/src/internet/vk/vksettingspage.ui deleted file mode 100644 index 4120c14dc..000000000 --- a/src/internet/vk/vksettingspage.ui +++ /dev/null @@ -1,215 +0,0 @@ - - - VkSettingsPage - - - - 0 - 0 - 569 - 491 - - - - Vk.com - - - - - - Account details - - - - - - - - - true - - - - - - - - 120 - 16777215 - - - - Login - - - - - - - - - - Preferences - - - - - - - - Max global search results - - - max_global_search - - - - - - - 50 - - - 3000 - - - 50 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Add songs to "My Music" when the "Love" button is clicked - - - - - - - Show groups in global search result - - - - - - - Show playing song on your page - - - - - - - - - - Caching - - - - - - Enable automatic caching - - - - - - - true - - - - - - - - Cache path: - - - cache_dir - - - - - - - - - - ... - - - - - - - - - - - File name pattern: - - - cache_filename - - - - - - - %artist - %title - - - - - - - Reset - - - - - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Expanding - - - - 20 - 40 - - - - - - - - diff --git a/src/internet/vk/vkurlhandler.cpp b/src/internet/vk/vkurlhandler.cpp deleted file mode 100644 index adc208502..000000000 --- a/src/internet/vk/vkurlhandler.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Maltsev Vlad - Copyright 2014, Krzysztof Sobiecki - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#include "vkurlhandler.h" - -#include "core/application.h" -#include "core/logging.h" -#include "core/player.h" - -#include "vkservice.h" -#include "vkmusiccache.h" - -VkUrlHandler::VkUrlHandler(VkService* service, QObject* parent) - : UrlHandler(parent), service_(service) {} - -UrlHandler::LoadResult VkUrlHandler::StartLoading(const QUrl& url) { - QStringList args = url.path().split("/"); - LoadResult result(url); - - if (args.size() < 2) { - qLog(Error) - << "Invalid Vk.com URL: " << url - << "Url format should be vk:///." - << "For example vk://song/61145020_166946521/Daughtry/Gone Too Soon"; - } else { - QString action = url.host(); - - if (action == "song") { - result = service_->GetSongResult(url); - } else if (action == "group") { - result = service_->GetGroupNextSongUrl(url); - } else { - qLog(Error) << "Invalid vk.com url action:" << action; - } - } - - return result; -} - -void VkUrlHandler::TrackSkipped() { service_->SongSkipped(); } - -UrlHandler::LoadResult VkUrlHandler::LoadNext(const QUrl& url) { - if (url.host() == "group") { - return StartLoading(url); - } else { - return LoadResult(url); - } -} diff --git a/src/internet/vk/vkurlhandler.h b/src/internet/vk/vkurlhandler.h deleted file mode 100644 index cf5b92512..000000000 --- a/src/internet/vk/vkurlhandler.h +++ /dev/null @@ -1,46 +0,0 @@ -/* This file is part of Clementine. - Copyright 2014, Maltsev Vlad - Copyright 2014, Krzysztof Sobiecki - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#ifndef INTERNET_VK_VKURLHANDLER_H_ -#define INTERNET_VK_VKURLHANDLER_H_ - -#include "core/urlhandler.h" -#include "ui/iconloader.h" - -#include -#include -#include - -class VkService; -class VkMusicCache; - -class VkUrlHandler : public UrlHandler { - Q_OBJECT - public: - VkUrlHandler(VkService* service, QObject* parent); - QString scheme() const { return "vk"; } - QIcon icon() const { return IconLoader::Load("vk", IconLoader::Provider); } - LoadResult StartLoading(const QUrl& url); - void TrackSkipped(); - LoadResult LoadNext(const QUrl& url); - - private: - VkService* service_; -}; - -#endif // INTERNET_VK_VKURLHANDLER_H_ diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 88843bf1c..4f3b267a9 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -33,9 +33,9 @@ #include #include #include -#include #include #include +#include #ifdef Q_OS_WIN32 #include @@ -70,11 +70,12 @@ #include "globalsearch/globalsearch.h" #include "globalsearch/globalsearchview.h" #include "globalsearch/librarysearchprovider.h" -#include "internet/magnatune/magnatuneservice.h" #include "internet/core/internetmodel.h" #include "internet/core/internetview.h" #include "internet/core/internetviewcontainer.h" #include "internet/internetradio/savedradio.h" +#include "internet/magnatune/magnatuneservice.h" +#include "internet/podcasts/podcastservice.h" #include "library/groupbydialog.h" #include "library/library.h" #include "library/librarybackend.h" @@ -83,8 +84,8 @@ #include "library/libraryviewcontainer.h" #include "musicbrainz/tagfetcher.h" #include "networkremote/networkremote.h" -#include "playlist/playlistbackend.h" #include "playlist/playlist.h" +#include "playlist/playlistbackend.h" #include "playlist/playlistlistcontainer.h" #include "playlist/playlistmanager.h" #include "playlist/playlistsequence.h" @@ -93,7 +94,6 @@ #include "playlist/queuemanager.h" #include "playlist/songplaylistitem.h" #include "playlistparsers/playlistparser.h" -#include "internet/podcasts/podcastservice.h" #ifdef HAVE_AUDIOCD #include "ripper/ripcddialog.h" #endif @@ -147,10 +147,6 @@ #include "moodbar/moodbarproxystyle.h" #endif -#ifdef HAVE_VK -#include "internet/vk/vkservice.h" -#endif - #include #ifdef Q_OS_DARWIN @@ -423,11 +419,6 @@ MainWindow::MainWindow(Application* app, SystemTrayIcon* tray_icon, OSD* osd, SLOT(ToggleScrobbling())); #endif -#ifdef HAVE_VK - connect(ui_->action_love, SIGNAL(triggered()), - InternetModel::Service(), SLOT(AddToMyMusicCurrent())); -#endif - connect(ui_->action_clear_playlist, SIGNAL(triggered()), app_->playlist_manager(), SLOT(ClearCurrent())); connect(ui_->action_remove_duplicates, SIGNAL(triggered()), @@ -1073,9 +1064,9 @@ void MainWindow::ReloadSettings() { AddBehaviour(s.value("doubleclick_addmode", AddBehaviour_Append).toInt()); doubleclick_playmode_ = PlayBehaviour( s.value("doubleclick_playmode", PlayBehaviour_IfStopped).toInt()); - doubleclick_playlist_addmode_ = - PlaylistAddBehaviour(s.value("doubleclick_playlist_addmode", - PlaylistAddBehaviour_Play).toInt()); + doubleclick_playlist_addmode_ = PlaylistAddBehaviour( + s.value("doubleclick_playlist_addmode", PlaylistAddBehaviour_Play) + .toInt()); menu_playmode_ = PlayBehaviour(s.value("menu_playmode", PlayBehaviour_IfStopped).toInt()); @@ -2021,9 +2012,9 @@ void MainWindow::AddFile() { // Show dialog QStringList file_names = QFileDialog::getOpenFileNames( this, tr("Add file"), directory, - QString("%1 (%2);;%3;;%4").arg(tr("Music"), FileView::kFileFilter, - parser.filters(), - tr(kAllFilesFilterSpec))); + QString("%1 (%2);;%3;;%4") + .arg(tr("Music"), FileView::kFileFilter, parser.filters(), + tr(kAllFilesFilterSpec))); if (file_names.isEmpty()) return; // Save last used directory diff --git a/src/ui/settingsdialog.cpp b/src/ui/settingsdialog.cpp index dac9b64af..6165c8a33 100644 --- a/src/ui/settingsdialog.cpp +++ b/src/ui/settingsdialog.cpp @@ -15,18 +15,11 @@ along with Clementine. If not, see . */ +#include "settingsdialog.h" #include "appearancesettingspage.h" #include "backgroundstreamssettingspage.h" #include "behavioursettingspage.h" #include "config.h" -#include "globalshortcutssettingspage.h" -#include "iconloader.h" -#include "playbacksettingspage.h" -#include "networkproxysettingspage.h" -#include "networkremotesettingspage.h" -#include "notificationssettingspage.h" -#include "mainwindow.h" -#include "settingsdialog.h" #include "core/application.h" #include "core/backgroundstreams.h" #include "core/logging.h" @@ -35,15 +28,22 @@ #include "engines/enginebase.h" #include "engines/gstengine.h" #include "globalsearch/globalsearchsettingspage.h" -#include "internet/digitally/digitallyimportedsettingspage.h" +#include "globalshortcutssettingspage.h" +#include "iconloader.h" #include "internet/core/internetshowsettingspage.h" +#include "internet/digitally/digitallyimportedsettingspage.h" #include "internet/magnatune/magnatunesettingspage.h" +#include "internet/podcasts/podcastsettingspage.h" #include "internet/soundcloud/soundcloudsettingspage.h" #include "internet/spotify/spotifysettingspage.h" #include "internet/subsonic/subsonicsettingspage.h" #include "library/librarysettingspage.h" +#include "mainwindow.h" +#include "networkproxysettingspage.h" +#include "networkremotesettingspage.h" +#include "notificationssettingspage.h" +#include "playbacksettingspage.h" #include "playlist/playlistview.h" -#include "internet/podcasts/podcastsettingspage.h" #include "songinfo/songinfosettingspage.h" #include "transcoder/transcodersettingspage.h" #include "widgets/groupediconview.h" @@ -71,10 +71,6 @@ #include "internet/box/boxsettingspage.h" #endif -#ifdef HAVE_VK -#include "internet/vk/vksettingspage.h" -#endif - #ifdef HAVE_SKYDRIVE #include "internet/skydrive/skydrivesettingspage.h" #endif @@ -182,10 +178,6 @@ SettingsDialog::SettingsDialog(Application* app, BackgroundStreams* streams, AddPage(Page_SoundCloud, new SoundCloudSettingsPage(this), providers); AddPage(Page_Spotify, new SpotifySettingsPage(this), providers); -#ifdef HAVE_VK - AddPage(Page_Vk, new VkSettingsPage(this), providers); -#endif - #ifdef HAVE_SEAFILE AddPage(Page_Seafile, new SeafileSettingsPage(this), providers); #endif From becb0b3d7f4b19dc7ed0b956d03e91473cfe84ca Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 11 Jan 2017 18:51:12 +0000 Subject: [PATCH 21/26] Remove some stray vkontakte code --- src/globalsearch/vksearchprovider.cpp | 123 -------------------------- src/globalsearch/vksearchprovider.h | 50 ----------- src/ui/settingsdialog.h | 3 +- 3 files changed, 1 insertion(+), 175 deletions(-) delete mode 100644 src/globalsearch/vksearchprovider.cpp delete mode 100644 src/globalsearch/vksearchprovider.h diff --git a/src/globalsearch/vksearchprovider.cpp b/src/globalsearch/vksearchprovider.cpp deleted file mode 100644 index 25d4cc495..000000000 --- a/src/globalsearch/vksearchprovider.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/* This file is part of Clementine. - Copyright 2013, Vlad Maltsev - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - -#include "vksearchprovider.h" - -#include - -#include "core/logging.h" -#include "core/song.h" -#include "ui/iconloader.h" - -VkSearchProvider::VkSearchProvider(Application* app, QObject* parent) - : SearchProvider(app, parent), service_(NULL) {} - -void VkSearchProvider::Init(VkService* service) { - service_ = service; - SearchProvider::Init("Vk.com", "vk.com", IconLoader::Load("vk", - IconLoader::Provider), WantsDelayedQueries - | CanShowConfig); - - connect(service_, SIGNAL(SongSearchResult(SearchID, SongList)), this, - SLOT(SongSearchResult(SearchID, SongList))); - connect(service_, SIGNAL(GroupSearchResult(SearchID, MusicOwnerList)), this, - SLOT(GroupSearchResult(SearchID, MusicOwnerList))); -} - -void VkSearchProvider::SearchAsync(int id, const QString& query) { - int count = service_->maxGlobalSearch(); - - SearchID rid(SearchID::GlobalSearch); - songs_recived = false; - groups_recived = false; - pending_searches_[rid.id()] = PendingState(id, TokenizeQuery(query)); - service_->SongSearch(rid, query, count, 0); - if (service_->isGroupsInGlobalSearch()) { - service_->GroupSearch(rid, query); - } -} - -bool VkSearchProvider::IsLoggedIn() { - return (service_ && service_->HasAccount()); -} - -void VkSearchProvider::ShowConfig() { service_->ShowConfig(); } - -void VkSearchProvider::SongSearchResult(const SearchID& id, SongList songs) { - if (id.type() == SearchID::GlobalSearch) { - ClearSimilarSongs(songs); - ResultList ret; - for (const Song& song : songs) { - Result result(this); - result.metadata_ = song; - ret << result; - } - qLog(Info) << "Found" << songs.count() << "songs."; - songs_recived = true; - const PendingState state = pending_searches_[id.id()]; - emit ResultsAvailable(state.orig_id_, ret); - MaybeSearchFinished(id.id()); - } -} - -void VkSearchProvider::GroupSearchResult(const SearchID& rid, - const MusicOwnerList& groups) { - if (rid.type() == SearchID::GlobalSearch) { - ResultList ret; - for (const MusicOwner& group : groups) { - Result result(this); - result.metadata_ = group.toOwnerRadio(); - ret << result; - } - qLog(Info) << "Found" << groups.count() << "groups."; - groups_recived = true; - const PendingState state = pending_searches_[rid.id()]; - emit ResultsAvailable(state.orig_id_, ret); - MaybeSearchFinished(rid.id()); - } -} - -void VkSearchProvider::MaybeSearchFinished(int id) { - if (pending_searches_.keys(PendingState(id, QStringList())).isEmpty() && - songs_recived && groups_recived) { - const PendingState state = pending_searches_.take(id); - emit SearchFinished(state.orig_id_); - } -} - -void VkSearchProvider::ClearSimilarSongs(SongList& list) { - // Search result sorted by relevance, and better quality songs usualy come - // first. - // Stable sort don't mix similar song, so std::unique will remove bad quality - // copies. - qStableSort(list.begin(), list.end(), [](const Song& a, const Song& b) { - return (a.artist().localeAwareCompare(b.artist()) > 0) || - (a.title().localeAwareCompare(b.title()) > 0); - }); - - int old = list.count(); - - auto end = - std::unique(list.begin(), list.end(), [](const Song& a, const Song& b) { - return (a.artist().localeAwareCompare(b.artist()) == 0) && - (a.title().localeAwareCompare(b.title()) == 0); - }); - - list.erase(end, list.end()); - - qDebug() << "Cleared" << old - list.count() << "items"; -} diff --git a/src/globalsearch/vksearchprovider.h b/src/globalsearch/vksearchprovider.h deleted file mode 100644 index 38b3aa5d9..000000000 --- a/src/globalsearch/vksearchprovider.h +++ /dev/null @@ -1,50 +0,0 @@ -/* This file is part of Clementine. - Copyright 2013, Vlad Maltsev - - Clementine is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Clementine 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 Clementine. If not, see . -*/ - - -#ifndef VKSEARCHPROVIDER_H -#define VKSEARCHPROVIDER_H - -#include "internet/vk/vkservice.h" - -#include "searchprovider.h" - -class VkSearchProvider : public SearchProvider { - Q_OBJECT - -public: - VkSearchProvider(Application* app, QObject* parent = 0); - void Init(VkService* service); - void SearchAsync(int id, const QString& query); - bool IsLoggedIn(); - void ShowConfig(); - InternetService* internet_service() { return service_; } - -public slots: - void SongSearchResult(const SearchID& id, SongList songs); - void GroupSearchResult(const SearchID& rid, const MusicOwnerList& groups); - -private: - bool songs_recived; - bool groups_recived; - void MaybeSearchFinished(int id); - void ClearSimilarSongs(SongList& list); - VkService* service_; - QMap pending_searches_; -}; - -#endif // VKSEARCHPROVIDER_H diff --git a/src/ui/settingsdialog.h b/src/ui/settingsdialog.h index 14bb9765b..f45f72983 100644 --- a/src/ui/settingsdialog.h +++ b/src/ui/settingsdialog.h @@ -83,7 +83,6 @@ class SettingsDialog : public QDialog { Page_Dropbox, Page_Skydrive, Page_Box, - Page_Vk, Page_Seafile, Page_InternetShow, Page_AmazonCloudDrive, @@ -116,7 +115,7 @@ class SettingsDialog : public QDialog { // QWidget void showEvent(QShowEvent* e); -signals: + signals: void NotificationPreview(OSD::Behaviour, QString, QString); void SetWiimotedevInterfaceActived(bool); From 7ce7fe185e6dfb9708e2b7abb76ca21b06bf9726 Mon Sep 17 00:00:00 2001 From: Clementine Buildbot Date: Thu, 12 Jan 2017 13:22:21 +0000 Subject: [PATCH 22/26] Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) --- src/translations/af.po | 513 +++++------ src/translations/ar.po | 513 +++++------ src/translations/be.po | 513 +++++------ src/translations/bg.po | 513 +++++------ src/translations/bn.po | 513 +++++------ src/translations/br.po | 515 +++++------ src/translations/bs.po | 513 +++++------ src/translations/ca.po | 515 +++++------ src/translations/cs.po | 522 +++++------ src/translations/cy.po | 513 +++++------ src/translations/da.po | 530 +++++------ src/translations/de.po | 522 +++++------ src/translations/el.po | 515 +++++------ src/translations/en_CA.po | 513 +++++------ src/translations/en_GB.po | 525 +++++------ src/translations/eo.po | 513 +++++------ src/translations/es.po | 538 +++++------- src/translations/et.po | 513 +++++------ src/translations/eu.po | 561 +++++------- src/translations/fa.po | 513 +++++------ src/translations/fi.po | 515 +++++------ src/translations/fr.po | 515 +++++------ src/translations/ga.po | 513 +++++------ src/translations/gl.po | 513 +++++------ src/translations/he.po | 513 +++++------ src/translations/he_IL.po | 513 +++++------ src/translations/hi.po | 513 +++++------ src/translations/hr.po | 525 +++++------ src/translations/hu.po | 515 +++++------ src/translations/hy.po | 513 +++++------ src/translations/ia.po | 513 +++++------ src/translations/id.po | 515 +++++------ src/translations/is.po | 513 +++++------ src/translations/it.po | 515 +++++------ src/translations/ja.po | 581 ++++++------ src/translations/ka.po | 513 +++++------ src/translations/kk.po | 513 +++++------ src/translations/ko.po | 513 +++++------ src/translations/lt.po | 513 +++++------ src/translations/lv.po | 513 +++++------ src/translations/mk_MK.po | 513 +++++------ src/translations/mr.po | 513 +++++------ src/translations/ms.po | 515 +++++------ src/translations/my.po | 513 +++++------ src/translations/nb.po | 1602 ++++++++++++++++------------------ src/translations/nl.po | 515 +++++------ src/translations/oc.po | 513 +++++------ src/translations/pa.po | 513 +++++------ src/translations/pl.po | 513 +++++------ src/translations/pt.po | 515 +++++------ src/translations/pt_BR.po | 515 +++++------ src/translations/ro.po | 513 +++++------ src/translations/ru.po | 519 +++++------ src/translations/si_LK.po | 513 +++++------ src/translations/sk.po | 515 +++++------ src/translations/sl.po | 513 +++++------ src/translations/sr.po | 515 +++++------ src/translations/sr@latin.po | 515 +++++------ src/translations/sv.po | 515 +++++------ src/translations/te.po | 513 +++++------ src/translations/tr.po | 513 +++++------ src/translations/tr_TR.po | 526 +++++------ src/translations/uk.po | 515 +++++------ src/translations/uz.po | 513 +++++------ src/translations/vi.po | 513 +++++------ src/translations/zh_CN.po | 525 +++++------ src/translations/zh_TW.po | 513 +++++------ 67 files changed, 14951 insertions(+), 20774 deletions(-) diff --git a/src/translations/af.po b/src/translations/af.po index 6a1d49c4e..624ba94e4 100644 --- a/src/translations/af.po +++ b/src/translations/af.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Afrikaans (http://www.transifex.com/davidsansome/clementine/language/af/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -68,11 +68,6 @@ msgstr "sekondes" msgid " songs" msgstr "liedjies" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 liedjies)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -104,7 +99,7 @@ msgstr "%1 op %2" msgid "%1 playlists (%2)" msgstr "%1 speellys (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 gekies uit" @@ -129,7 +124,7 @@ msgstr "%1 liedjies gevind" msgid "%1 songs found (showing %2)" msgstr "%1 liedjies gevind (%2 word getoon)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 snitte" @@ -189,7 +184,7 @@ msgstr "&Sentreer" msgid "&Custom" msgstr "&Eie keuse" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Ekstras" @@ -197,7 +192,7 @@ msgstr "&Ekstras" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Hulp" @@ -222,7 +217,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musiek" @@ -230,15 +225,15 @@ msgstr "&Musiek" msgid "&None" msgstr "&Geen" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Speellys" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Maak toe" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Herhaal modus" @@ -246,7 +241,7 @@ msgstr "&Herhaal modus" msgid "&Right" msgstr "&Regs" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Skommel modus" @@ -254,7 +249,7 @@ msgstr "&Skommel modus" msgid "&Stretch columns to fit window" msgstr "&Rek kolomme om in venster te pas" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Gereedskap" @@ -290,7 +285,7 @@ msgstr "0px" msgid "1 day" msgstr "1 dag" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 snit" @@ -434,11 +429,11 @@ msgstr "Staak" msgid "About %1" msgstr "Meer oor %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Meer oor Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Meer oor Qt..." @@ -448,7 +443,7 @@ msgid "Absolute" msgstr "Absoluut" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Rekening besonderhede" @@ -502,19 +497,19 @@ msgstr "Voeg nog 'n stroom by..." msgid "Add directory..." msgstr "Voeg gids by..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Voeg lêer by" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Voeg die lêer by die transkodeerder by" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Voeg lêer(s) by die transkodeerder by" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Voeg lêer by..." @@ -522,12 +517,12 @@ msgstr "Voeg lêer by..." msgid "Add files to transcode" msgstr "Voeg lêers by om te transkodeer" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Voeg gids by" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Voeg gids by..." @@ -539,7 +534,7 @@ msgstr "Voeg nuwe gids by..." msgid "Add podcast" msgstr "Voeg potgooi by" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Voeg potgooi by..." @@ -607,10 +602,6 @@ msgstr "Voeg aantal keer oorgeslaan by" msgid "Add song title tag" msgstr "Voeg liedjienaam-etiket by" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Voeg liedjie tot die kas" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Voeg liedjie se snitnommer as 'n etiket by" @@ -619,18 +610,10 @@ msgstr "Voeg liedjie se snitnommer as 'n etiket by" msgid "Add song year tag" msgstr "Voeg liedjie se jaar by as 'n etiket" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Voeg liedjie by \"My Music\" wanneer ek die \"Bemin\" knoppie druk" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Voeg stroom by..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Voeg tot My Music" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Voeg tot Spotify speellyste by" @@ -639,14 +622,10 @@ msgstr "Voeg tot Spotify speellyste by" msgid "Add to Spotify starred" msgstr "Voeg by Spotify gester" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Voeg tot 'n ander speellys by" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Voeg tot boekmerke by" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Voeg tot 'n speellys by" @@ -656,10 +635,6 @@ msgstr "Voeg tot 'n speellys by" msgid "Add to the queue" msgstr "Voeg aan die einde van die tou by" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Voeg gebruiker/groep by boekmerke by" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Voeg wiimotedev-aksie by" @@ -697,7 +672,7 @@ msgstr "Na" msgid "After copying..." msgstr "Na kopiëring..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -710,7 +685,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (ideale hardheid vir alle snitte)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -725,10 +700,6 @@ msgstr "Album omslag" msgid "Album info on jamendo.com..." msgstr "Album se inligting op jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albums" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albums met omslae" @@ -741,11 +712,11 @@ msgstr "Albums sonder omslae" msgid "All" msgstr "Alle" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Alle lêers (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Alle heil aan die Hypnotoad!" @@ -870,7 +841,7 @@ msgid "" "the songs of your library?" msgstr "Is jy seker dat jy die liedjie se statestiek in die liedjie se lêer wil skryf vir al die liedjies in jou biblioteek?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -879,7 +850,7 @@ msgstr "Is jy seker dat jy die liedjie se statestiek in die liedjie se lêer wil msgid "Artist" msgstr "Kunstenaar" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Kunstenaar informasie" @@ -950,7 +921,7 @@ msgstr "Gemiddelde beeldgrootte" msgid "BBC Podcasts" msgstr "BBC potgooi" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "SPM" @@ -1007,7 +978,8 @@ msgstr "Beste" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bistempo" @@ -1060,7 +1032,7 @@ msgstr "Gaan soek..." msgid "Buffer duration" msgstr "Buffer tydsduur" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Aan die buffer" @@ -1084,19 +1056,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Seinlys ondersteuning" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Kas gids:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Aan die kas" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "%1 word gekas" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Kanselleer" @@ -1105,12 +1064,6 @@ msgstr "Kanselleer" msgid "Cancel download" msgstr "Kanselleer aflaai" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha word benodig.\nProbeer om by Vk.com aan te sluit met jou webblaaier om die probleem op te los." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Verander omslag" @@ -1149,6 +1102,10 @@ msgid "" "songs" msgstr "Verandering in Mono-speel instellings sal eers aktief wees by die speel van die volgende snit" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Soek vir nuwe episodes" @@ -1157,19 +1114,15 @@ msgstr "Soek vir nuwe episodes" msgid "Check for updates" msgstr "Kyk vir nuwer weergawes" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Kyk vir nuwer weergawes..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Kies Vk.com kas gids" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Kies 'n naam vir jou slimspeellys" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Kies outomaties" @@ -1215,13 +1168,13 @@ msgstr "Daar word skoongemaak" msgid "Clear" msgstr "Wis" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Wis speellys" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1354,24 +1307,20 @@ msgstr "Kleure" msgid "Comma separated list of class:level, level is 0-3" msgstr "Komma geskeide lys van klas:vlak, vlak is 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Kommentaar" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Gemeenskaps Radio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Voltooi etikette outomaties" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Voltooi etikette outomaties..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1402,15 +1351,11 @@ msgstr "Stel Spotify op..." msgid "Configure Subsonic..." msgstr "Stel Subsonic op..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Stel VK.com op..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Globale soek instellings..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Stel my versameling op..." @@ -1444,16 +1389,16 @@ msgid "" "http://localhost:4040/" msgstr "Konneksie deur die bediener geweier. Beaam die bediener URL. Byvoorbeeld: http://localhost:4040" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Die konneksie se tydlimiet is bereik. Beaam die bediener se URL. Byvoorbeeld: http://localhost:4040" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Konneksie probleme of die oudio is deur die eienaar afgeskakel" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsole" @@ -1477,20 +1422,16 @@ msgstr "Omskep verlieslose oudiolêers voordat hulle versend word." msgid "Convert lossless files" msgstr "Omskep verlieslose lêers" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopieër die deel URL na die klipbord" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopiëer na knipbord" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopiëer na die toestel..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopiëer na my versameling" @@ -1512,6 +1453,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Kan nie die GStreamer element \"%1\" skep nie - maak seker jy het alle nodige GStreamer uitbreidings installeer" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Kon nie speellys skep nie" @@ -1538,7 +1488,7 @@ msgstr "Kan nie die uittreelêer %1 oopmaak nie" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Omslagbestuurder" @@ -1624,11 +1574,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Datum geskep" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Datum verander" @@ -1656,7 +1606,7 @@ msgstr "Verlaag die volume" msgid "Default background image" msgstr "Standaars agtergrond prentjie" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Verstek toestel op %1" @@ -1679,7 +1629,7 @@ msgid "Delete downloaded data" msgstr "Vee afgelaaide data uit" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Skrap lêers" @@ -1687,7 +1637,7 @@ msgstr "Skrap lêers" msgid "Delete from device..." msgstr "Skrap van toestel..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Skrap van skyf..." @@ -1712,11 +1662,15 @@ msgstr "Skrap die oorspronklike lêers" msgid "Deleting files" msgstr "Lêers word geskrap" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Verwyder gekose snitte uit die tou" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Verwyder snit uit die tou" @@ -1745,11 +1699,11 @@ msgstr "Toestelsnaam" msgid "Device properties..." msgstr "Toestelseienskappe..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Toestelle" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialoog" @@ -1796,7 +1750,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Afgeskakel" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1817,7 +1771,7 @@ msgstr "Vertoon keuses" msgid "Display the on-screen-display" msgstr "Toon skermbeeld" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Gaan in geheel my versameling weer na" @@ -1988,12 +1942,12 @@ msgstr "Dinamiese skommeling" msgid "Edit smart playlist..." msgstr "Verander slimspeellys" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Verander etiket \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Verander etiket" @@ -2006,7 +1960,7 @@ msgid "Edit track information" msgstr "Verander snit se inligting" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Verander snit se inligting..." @@ -2026,10 +1980,6 @@ msgstr "E-pos" msgid "Enable Wii Remote support" msgstr "Skakel Wii-afstansbeheer ondersteuning aan" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Skakel outomatiese kas aan" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Skakel grafiese effenaar aan" @@ -2114,7 +2064,7 @@ msgstr "Voer hierdie IP-adres in die programetjie in om met Clementine te verbin msgid "Entire collection" msgstr "Hele versameling" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Grafiese effenaar" @@ -2127,8 +2077,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Ekwivalent aan --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Fout" @@ -2148,6 +2098,11 @@ msgstr "Fout tydens kopiëring van liedjies" msgid "Error deleting songs" msgstr "Fout tydens verwydering van liedjies" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Fout tydens aflaai van die Spotify uitbreiding" @@ -2268,7 +2223,7 @@ msgstr "Uitdowing" msgid "Fading duration" msgstr "Duur van uitdowing" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Kan nie van die CD-dryf lees nie" @@ -2347,27 +2302,23 @@ msgstr "Lêeruitsbreiding" msgid "File formats" msgstr "Lêer formate" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Lêernaam" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Lêernaam (sonder pad)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Lêernaam patroon:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Lêer roetes" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Lêergrootte" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2377,7 +2328,7 @@ msgstr "Lêertipe" msgid "Filename" msgstr "Lêernaam" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Lêers" @@ -2389,10 +2340,6 @@ msgstr "Lêers om te transkodeer" msgid "Find songs in your library that match the criteria you specify." msgstr "Vind liedjies in jou versameling wat aan hierdie eise voldoen." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Vind dié kunstenaar" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Bereken liedjie se vingerafdruk" @@ -2461,6 +2408,7 @@ msgid "Form" msgstr "Vorm" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formaat" @@ -2497,7 +2445,7 @@ msgstr "Volle hoëtoon" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Algemeen" @@ -2505,7 +2453,7 @@ msgstr "Algemeen" msgid "General settings" msgstr "Algemene instellings" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2538,11 +2486,11 @@ msgstr "Gee dit 'n naam:" msgid "Go" msgstr "Gaan" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Gaan na volgende speellys oortjie" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Gaan na vorige speellys oortjie" @@ -2596,7 +2544,7 @@ msgstr "Groeppeer volgens Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Groeppeer volgens Genre/Kunstenaar/Album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2786,11 +2734,11 @@ msgstr "Geïnstalleer" msgid "Integrity check" msgstr "Integriteitstoets" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Insternet verskaffers" @@ -2807,6 +2755,10 @@ msgstr "" msgid "Invalid API key" msgstr "Ongeldige API sleutel" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Ongeldige formaat" @@ -2863,7 +2815,7 @@ msgstr "Jamendo databasis" msgid "Jump to previous song right away" msgstr "Spring dadelik na vorige lied" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Spring na die snit wat tans speel" @@ -2887,7 +2839,7 @@ msgstr "Hou aan uitvoer in die agtergrond al word die venster gesluit" msgid "Keep the original files" msgstr "Hou die oorspronklike lêers" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Katjies" @@ -2928,7 +2880,7 @@ msgstr "Groot kantlyn-kieslys" msgid "Last played" msgstr "Laaste gespeel" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Laaste gespeel" @@ -2969,12 +2921,12 @@ msgstr "Mins gunsteling snitte" msgid "Left" msgstr "Links" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Lengte" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Versameling" @@ -2983,7 +2935,7 @@ msgstr "Versameling" msgid "Library advanced grouping" msgstr "Gevorderde groeppering van versameling" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Versameling hernagaan kennisgewing" @@ -3023,7 +2975,7 @@ msgstr "Verkry omslag van skyf..." msgid "Load playlist" msgstr "Laai speellys" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Laai speellys..." @@ -3059,8 +3011,7 @@ msgstr "Snitinligting word gelaai" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Besig om te laai..." @@ -3069,7 +3020,6 @@ msgstr "Besig om te laai..." msgid "Loads files/URLs, replacing current playlist" msgstr "Laai lêers/URLs en vervang huidige speellys" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3079,8 +3029,7 @@ msgstr "Laai lêers/URLs en vervang huidige speellys" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Teken aan" @@ -3088,15 +3037,11 @@ msgstr "Teken aan" msgid "Login failed" msgstr "Aanteken onsuksesvol" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Sluit af" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Langtermyn voorspellingsmodel (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Bemin" @@ -3177,7 +3122,7 @@ msgstr "Hoofprofiel (MAIN)" msgid "Make it so!" msgstr "Maak dit so!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Maak dit so!" @@ -3223,10 +3168,6 @@ msgstr "Voldoen aan alle soekterme (AND)" msgid "Match one or more search terms (OR)" msgstr "Voldoen aan een of meer soekterme (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maksimum globale soektog uitslae" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maksimum bistempo" @@ -3257,6 +3198,10 @@ msgstr "Minimum bistempo" msgid "Minimum buffer fill" msgstr "Minimum toelaatbare buffer" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "projectM voorinstellings word vermis" @@ -3277,7 +3222,7 @@ msgstr "Speel in Mono af" msgid "Months" msgstr "Maande" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Stemming" @@ -3290,10 +3235,6 @@ msgstr "Stemmingsbalk styl" msgid "Moodbars" msgstr "Stemmingsbalk" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Meer" - #: library/library.cpp:84 msgid "Most played" msgstr "Meeste gespeel" @@ -3311,7 +3252,7 @@ msgstr "Monteringsadresse" msgid "Move down" msgstr "Skuid af" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Skuif na my versameling..." @@ -3320,8 +3261,7 @@ msgstr "Skuif na my versameling..." msgid "Move up" msgstr "Skuid op" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musiek" @@ -3330,22 +3270,10 @@ msgid "Music Library" msgstr "Musiekversameling" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Maak stil" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "My Albums" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "My Musiek" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Aanbevelings" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3391,7 +3319,7 @@ msgstr "Moet nooit begin speel nie" msgid "New folder" msgstr "Nuwe gids" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nuwe speellys" @@ -3420,7 +3348,7 @@ msgid "Next" msgstr "Volgende" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Volgende snit" @@ -3458,7 +3386,7 @@ msgstr "Geen kort blokke" msgid "None" msgstr "Geen" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Geen van die gekose liedjies is geskik om na die toestel te kopiëer nie." @@ -3507,10 +3435,6 @@ msgstr "Nie aangeteken nie" msgid "Not mounted - double click to mount" msgstr "Nie gemonteer - dubbelkliek om te monteer" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Niks is gevind nie" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Kennisgewing tipe" @@ -3592,7 +3516,7 @@ msgstr "Ondeursigtigheid" msgid "Open %1 in browser" msgstr "Maak %1 in webblaaier oop" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Maak &oudio CD oop..." @@ -3612,7 +3536,7 @@ msgstr "Maak 'n gids oop om musiek van in te trek" msgid "Open device" msgstr "Open device" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Lêer..." @@ -3666,7 +3590,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Sorteer Lêers" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Sorteer Lêers..." @@ -3678,7 +3602,7 @@ msgstr "Lêers word gesorteer" msgid "Original tags" msgstr "Oorspronklike etikette" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3746,7 +3670,7 @@ msgstr "Partytjie" msgid "Password" msgstr "Wagwoord" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Vries" @@ -3759,7 +3683,7 @@ msgstr "Vries terugspel" msgid "Paused" msgstr "Gevries" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3774,14 +3698,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Gewone sykieslys" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Speel" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Speeltelling" @@ -3812,7 +3736,7 @@ msgstr "Speler keuses" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Speellys" @@ -3829,7 +3753,7 @@ msgstr "Speellys keuses" msgid "Playlist type" msgstr "Speellys tipe" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Speellys" @@ -3870,11 +3794,11 @@ msgstr "Instellings" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Instellings" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Instellings..." @@ -3934,7 +3858,7 @@ msgid "Previous" msgstr "Vorige" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Vorige snit" @@ -3985,16 +3909,16 @@ msgstr "Kwaliteit" msgid "Querying device..." msgstr "Toestel word ondervra..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Tou bestuurder" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Plaas geselekteerde snitte in die tou" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Plaas snit in die tou" @@ -4006,7 +3930,7 @@ msgstr "Radio (selfde hardheid vir alle snitte)" msgid "Rain" msgstr "Reën" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Reën" @@ -4043,7 +3967,7 @@ msgstr "Gee die huidige liedjie 4 sterre" msgid "Rate the current song 5 stars" msgstr "Gee die huidige liedjie 5 sterre" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Aantal sterre" @@ -4110,7 +4034,7 @@ msgstr "Verwyder" msgid "Remove action" msgstr "Verwyder aksie" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Verwyder duplikate vanuit die speellys" @@ -4118,15 +4042,7 @@ msgstr "Verwyder duplikate vanuit die speellys" msgid "Remove folder" msgstr "Verwyder vouer" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Verwyder vanuit My Musiek" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Verwyder vanuit boekmerke" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Verwyder vanuit speellys" @@ -4138,7 +4054,7 @@ msgstr "Verwyder speellys" msgid "Remove playlists" msgstr "Verwyder speellyste" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Verwyder onbeskikbare snitte van die speellys" @@ -4150,7 +4066,7 @@ msgstr "Herbenoem speellys" msgid "Rename playlist..." msgstr "Herbenoem speellys..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Hernommer snitte in hierdie volgorde..." @@ -4200,7 +4116,7 @@ msgstr "Verfris" msgid "Require authentication code" msgstr "Benodig verifikasie kode" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Herstel" @@ -4241,7 +4157,7 @@ msgstr "\"Rip\"" msgid "Rip CD" msgstr "\"Rip\" CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "\"Rip\" oudio CD" @@ -4271,8 +4187,9 @@ msgstr "Veilige verwydering van toestel" msgid "Safely remove the device after copying" msgstr "Verwyder toestel veilig na kopiëring" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Monstertempo" @@ -4310,7 +4227,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Stoor speellys" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Stoor speellys..." @@ -4350,7 +4267,7 @@ msgstr "Skaleerbare monstertempo profiel (SSR)" msgid "Scale size" msgstr "Geskaleerde grootte" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Telling" @@ -4367,12 +4284,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Soek" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Soek" @@ -4515,7 +4432,7 @@ msgstr "Bedienerbesonderhede" msgid "Service offline" msgstr "Diens aflyn" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Stel %1 na \"%2\"..." @@ -4524,7 +4441,7 @@ msgstr "Stel %1 na \"%2\"..." msgid "Set the volume to percent" msgstr "Stel die volume na persent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Stel waarde vir alle geselekteerde snitte" @@ -4591,7 +4508,7 @@ msgstr "Wys 'n mooi skermbeeld" msgid "Show above status bar" msgstr "Wys bo toestandsbalk" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Wys alle liedjies" @@ -4611,16 +4528,12 @@ msgstr "Wys verdelers" msgid "Show fullsize..." msgstr "Wys volgrootte..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Vertoon groepe in die globale soektog resultate" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Wys in lêerblaaier..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Wys in die biblioteek..." @@ -4632,27 +4545,23 @@ msgstr "Wys tussen verkeie kunstenaars" msgid "Show moodbar" msgstr "Wys stemmingsbalk" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Wys slegs duplikate" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Wys slegs sonder etikette" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Vertoon die spelende liedjie op jou blad" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Wys aanbevole soektogte" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4688,7 +4597,7 @@ msgstr "Skommel albums" msgid "Shuffle all" msgstr "Skommel alles" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Skommel speellys" @@ -4724,7 +4633,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Spring terugwaarts in speellys" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Aantal keer oorgeslaan" @@ -4732,11 +4641,11 @@ msgstr "Aantal keer oorgeslaan" msgid "Skip forwards in playlist" msgstr "Spring voorentoe in speellys" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Spring geselekteerde snitte" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Spring snit" @@ -4768,7 +4677,7 @@ msgstr "Sagte Rock" msgid "Song Information" msgstr "Liedjie Inligting" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Liedjie" @@ -4804,7 +4713,7 @@ msgstr "Sortering" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Bron" @@ -4879,7 +4788,7 @@ msgid "Starting..." msgstr "In aanvang..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Stop" @@ -4895,7 +4804,7 @@ msgstr "Stop na elke snit" msgid "Stop after every track" msgstr "Stop na elke snit" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Stop na hierdie snit" @@ -4924,6 +4833,10 @@ msgstr "Terugspeel is gestop" msgid "Stream" msgstr "Stroom" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5033,6 +4946,10 @@ msgstr "Die album omslag van die huidige liedjie" msgid "The directory %1 is not valid" msgstr "Die gids %1 is nie geldig nie" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Die tweede waarde moet groter wees as die eerste!" @@ -5051,7 +4968,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Die toetsperiode vir toegang tot die Subsonic bediener is verstreke. Gee asseblief 'n donasie om 'n lisensie sleutel te ontvang. Besoek subsonic.org vir meer inligting." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5093,7 +5010,7 @@ msgid "" "continue?" msgstr "Hierdie lêers sal vanaf die toestel verwyder word. Is jy seker?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5177,7 +5094,7 @@ msgstr "Hierdie tipe toestel word nie ondersteun nie: %1" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5196,11 +5113,11 @@ msgstr "Skakel mooi skermbeeld aan/af" msgid "Toggle fullscreen" msgstr "Skakel volskerm aan/af" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Skakel tou-status aan/af" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Skakel log van geluisterde musiek aanlyn aan/af" @@ -5240,7 +5157,7 @@ msgstr "Totale aantal versoeke oor die netwerk gemaak" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Snit" @@ -5249,7 +5166,7 @@ msgstr "Snit" msgid "Tracks" msgstr "Snitte" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transkodeer musiek" @@ -5286,6 +5203,10 @@ msgstr "Skakel af" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5311,9 +5232,9 @@ msgstr "Kan nie %1 aflaai nie (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Onbekend" @@ -5330,11 +5251,11 @@ msgstr "Onbekende fout" msgid "Unset cover" msgstr "Verwyder omslag" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Moet nie geselekteerde snitte spring nie" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Moet nie snit spring nie" @@ -5347,15 +5268,11 @@ msgstr "Teken uit" msgid "Upcoming Concerts" msgstr "Komende opvoerings" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Dateeer op" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Dateer alle potgooie op" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Gaan versameling na vir veranderinge" @@ -5465,7 +5382,7 @@ msgstr "Gebruik volume normalisering" msgid "Used" msgstr "Reeds gebruik" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Gebruikerskoppelvlak" @@ -5491,7 +5408,7 @@ msgid "Variable bit rate" msgstr "Wisselende bistempo" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Verskeie kunstenaars" @@ -5504,11 +5421,15 @@ msgstr "Weergawe %1" msgid "View" msgstr "Bekyk" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Visualisasie modus" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualisasies" @@ -5516,10 +5437,6 @@ msgstr "Visualisasies" msgid "Visualizations Settings" msgstr "Visualisasie instellings" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Stem deteksie" @@ -5542,10 +5459,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Muur" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Waarsku my met die sluit van 'n speellys oortjie" @@ -5648,7 +5561,7 @@ msgid "" "well?" msgstr "Wil jy die ander liedjies in hierdie album ook na Verskeie Kunstenaars skuif?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Wil jy alles van voor af deursoek?" @@ -5664,7 +5577,7 @@ msgstr "Skryf metedata" msgid "Wrong username or password." msgstr "Verkeerde gebruikersnaam of wagwoord." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/ar.po b/src/translations/ar.po index 149c6dff4..3024b59c7 100644 --- a/src/translations/ar.po +++ b/src/translations/ar.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Arabic (http://www.transifex.com/davidsansome/clementine/language/ar/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -71,11 +71,6 @@ msgstr "ثانية" msgid " songs" msgstr "المقاطع" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "1% (2% أغنية)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -107,7 +102,7 @@ msgstr "%1 من %2" msgid "%1 playlists (%2)" msgstr "%1 قوائم التشغيل (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 مختارة" @@ -132,7 +127,7 @@ msgstr "%1 العثور على مقاطع" msgid "%1 songs found (showing %2)" msgstr "عثر على 1% أغنية (يعرض منها 2%)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 المسارات" @@ -192,7 +187,7 @@ msgstr "&وسط" msgid "&Custom" msgstr "&تخصيص" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&إضافات" @@ -200,7 +195,7 @@ msgstr "&إضافات" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&مساعدة" @@ -225,7 +220,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&موسيقى" @@ -233,15 +228,15 @@ msgstr "&موسيقى" msgid "&None" msgstr "&لا شيئ" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&قائمة التشغيل" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&خروج" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&نمط التكرار" @@ -249,7 +244,7 @@ msgstr "&نمط التكرار" msgid "&Right" msgstr "&يمين" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&نمط الخلط" @@ -257,7 +252,7 @@ msgstr "&نمط الخلط" msgid "&Stretch columns to fit window" msgstr "&تمديد الأعمدة لتتناسب مع الناقدة" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&أدوات" @@ -293,7 +288,7 @@ msgstr "0px" msgid "1 day" msgstr "1 يوم" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 مقطع" @@ -437,11 +432,11 @@ msgstr "ألغ" msgid "About %1" msgstr "عن %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "عن كليمنتاين..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "عن QT..." @@ -451,7 +446,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "معلومات الحساب" @@ -505,19 +500,19 @@ msgstr "إضافة Stream أخر" msgid "Add directory..." msgstr "أضف مجلد..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "أضف ملفا" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "أضف ملفا للتحويل" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "أضف ملف(s) للتحويل" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "أضافة ملف..." @@ -525,12 +520,12 @@ msgstr "أضافة ملف..." msgid "Add files to transcode" msgstr "أضف ملفات للتحويل" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "إضافة مجلد" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "إضافة مجلد..." @@ -542,7 +537,7 @@ msgstr "أضف مجلد جديد..." msgid "Add podcast" msgstr "إضافة بودكاست" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "إضافة بودكاست..." @@ -610,10 +605,6 @@ msgstr "أضف عدد مرات تجاوز تشغيل المقطع" msgid "Add song title tag" msgstr "أضف وسم عنوان المقطع" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "أضف أغنية إلى التخزين المؤقت" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "أضف وسم للمقطع" @@ -622,18 +613,10 @@ msgstr "أضف وسم للمقطع" msgid "Add song year tag" msgstr "أضف وسم سنة المقطع" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "أضف الأغاني إلى \"الموسيقى\" حين أنقر زر \"حب\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "أضف رابط انترنت..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "أضف إلى الموسيقى" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "إضافة لقائمات تشغيل Spotify" @@ -642,14 +625,10 @@ msgstr "إضافة لقائمات تشغيل Spotify" msgid "Add to Spotify starred" msgstr "إضافة للمميزة على Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "أضف إلى قائمة تشغيل أخرى" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "أضف إلى الإشارات المرجعية" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "إضافة لقائمة التشغيل" @@ -659,10 +638,6 @@ msgstr "إضافة لقائمة التشغيل" msgid "Add to the queue" msgstr "أضف إلى لائحة الانتظار" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "أضف مستخدما\\مجموعة إلى الإشارات المرجعية" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "أضف عملية wiimotedev" @@ -700,7 +675,7 @@ msgstr "بعد" msgid "After copying..." msgstr "بعد النسخ..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -713,7 +688,7 @@ msgstr "الألبوم" msgid "Album (ideal loudness for all tracks)" msgstr "ألبوم (شدة صوت مثلى لجميع المقاطع)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -728,10 +703,6 @@ msgstr "غلاف الألبوم" msgid "Album info on jamendo.com..." msgstr "معلومات الألبوم على Jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "ألبومات" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "ألبومات بغلاف" @@ -744,11 +715,11 @@ msgstr "ألبومات بدون غلاف" msgid "All" msgstr "الكل" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "جميع الملفات (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "العظمة لهيبنوتود!" @@ -873,7 +844,7 @@ msgid "" "the songs of your library?" msgstr "هل أنت متأكد من رغبتك بكتابة احصائيات المقاطع في ملفات المقاطع بالنسبة لكل المقاطع التي في مكتبتك الصوتية؟" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -882,7 +853,7 @@ msgstr "هل أنت متأكد من رغبتك بكتابة احصائيات ا msgid "Artist" msgstr "الفنان" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "معلومات الفنان" @@ -953,7 +924,7 @@ msgstr "القياس المتوسط للصور" msgid "BBC Podcasts" msgstr "بودكاست BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1010,7 +981,8 @@ msgstr "الأفضل" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "معدل البت" @@ -1063,7 +1035,7 @@ msgstr "تصفح..." msgid "Buffer duration" msgstr "مدة التخزين المؤقت" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "تخزين مؤقت" @@ -1087,19 +1059,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "دعم CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "مسار التخزين المؤقت:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "تخزين مؤقت" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "تخزين مؤقت %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "إلغاء" @@ -1108,12 +1067,6 @@ msgstr "إلغاء" msgid "Cancel download" msgstr "إلغاء التحميل" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "الكابتشا مطلوبة.\nحاول الدخول إلى VK.com باستخدام متصفحك، ثم حل هذه المشكلة." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "تغيير الغلاف" @@ -1152,6 +1105,10 @@ msgid "" "songs" msgstr "تغيير إعدادات تشغيل مونو سيأخذ بعين الاعتبار انطلاقا من المقطع الموالي" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "التمس حلقات جديدة" @@ -1160,19 +1117,15 @@ msgstr "التمس حلقات جديدة" msgid "Check for updates" msgstr "التمس التحديثات" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "التمس التحديثات" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "اختر مستار تخزين VK.com المؤقت" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "اختر اسما لقائمة التشغيل" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "اختيار تلقائي" @@ -1218,13 +1171,13 @@ msgstr "تنضيف" msgid "Clear" msgstr "امسح" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "امسح قائمة التشغيل" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "كلمنتاين" @@ -1357,24 +1310,20 @@ msgstr "الألوان" msgid "Comma separated list of class:level, level is 0-3" msgstr "لائحة عناصر مفروقة بفاصلة لـ \"class:level\"، قيمة Level بين 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "تعليق" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "الإذاعة المجتمعية" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "أكمل الوسوم تلقائيا" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "أكمل الوسوم تلقائيا..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1405,15 +1354,11 @@ msgstr "إعدادات Spotify..." msgid "Configure Subsonic..." msgstr "إعدادات Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "ضبط VK.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "إعدادات البحث العامة..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "إعدادات المكتبة" @@ -1447,16 +1392,16 @@ msgid "" "http://localhost:4040/" msgstr "تم رفض الاتصال من الخادم، تأكد من رابط الخادم. مثال: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "تم تجاوز مدة الانتظار، تأكد من رابط الخادم. مثال: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "مشكلة في الاتصال أو أن الصوت معطل من المالك" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "طرفية" @@ -1480,20 +1425,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "انسخ الرابط إلى الحافظة" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "نسخ إلى المكتبة..." #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "نسخ إلى جهاز..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "نسخ إلى المكتبة..." @@ -1515,6 +1456,15 @@ msgid "" "required GStreamer plugins installed" msgstr "تعذر إنشاء عنصر Gstreamer \"%1\" - تأكد أن جميع ملحقات GStreamer الضرورية مثبتة" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "لا تنشئ قائمة تشغيل" @@ -1541,7 +1491,7 @@ msgstr "تعذر فتح الملف %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "مدير الغلاف" @@ -1627,11 +1577,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "تاريخ الإنشاء" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "حُرِرَ بِتاريخ" @@ -1659,7 +1609,7 @@ msgstr "اخفض الصوت" msgid "Default background image" msgstr "صورة الخلفية الافتراضية" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "الجهاز الافتراضي 1%" @@ -1682,7 +1632,7 @@ msgid "Delete downloaded data" msgstr "حذف البيانات المحملة" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "احذف الملفات" @@ -1690,7 +1640,7 @@ msgstr "احذف الملفات" msgid "Delete from device..." msgstr "احذف من الجهاز" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "احذف من القرص..." @@ -1715,11 +1665,15 @@ msgstr "احذف الملفات الأصلية" msgid "Deleting files" msgstr "حذف الملفات" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "أزل المختارة من لائحة الانتظار" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "أزل المقطع من لائحة الانتظار" @@ -1748,11 +1702,11 @@ msgstr "اسم الجهاز" msgid "Device properties..." msgstr "خصائص الجهاز..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "أجهزة" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "الحوار" @@ -1799,7 +1753,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "معطل" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1820,7 +1774,7 @@ msgstr "خيارات العرض" msgid "Display the on-screen-display" msgstr "أظهر قائمة الشاشة" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "افحص المكتبة كاملة" @@ -1991,12 +1945,12 @@ msgstr "مزج عشوائي تلقائيا" msgid "Edit smart playlist..." msgstr "حرر قائمة التشغيل الذكية" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "حرر الوسم \"%1\"" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "حرر الوسم..." @@ -2009,7 +1963,7 @@ msgid "Edit track information" msgstr "تعديل معلومات المقطع" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "تعديل معلومات المقطع..." @@ -2029,10 +1983,6 @@ msgstr "بريد إلكتروني" msgid "Enable Wii Remote support" msgstr "فعل دعم أداة التحكم عن بعد لـ Wii" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "مكن التخزين المؤقت الذاتي" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "فعل معدل الصوت" @@ -2117,7 +2067,7 @@ msgstr "أدخل عنوان الايبي - IP - في التطبيق للاتصا msgid "Entire collection" msgstr "كامل المجموعة" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "معدل الصوت" @@ -2130,8 +2080,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "يكافئ --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "خطأ" @@ -2151,6 +2101,11 @@ msgstr "خطأ في نسخ المقاطع" msgid "Error deleting songs" msgstr "خطأ في حذف المقاطع" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "خطأ أثناء تحميل ملحق Spotify" @@ -2271,7 +2226,7 @@ msgstr "تلاشي" msgid "Fading duration" msgstr "مدة التلاشي" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "فشل في قراءة القرص CD" @@ -2350,27 +2305,23 @@ msgstr "امتداد الملف" msgid "File formats" msgstr "صيغ الملف" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "اسم الملف" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "اسم الملف (من دون المسار)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "نمط اسم الملف:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "مسار الملف" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "حجم الملف" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2380,7 +2331,7 @@ msgstr "نوع الملف" msgid "Filename" msgstr "اسم الملف" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "الملفات" @@ -2392,10 +2343,6 @@ msgstr "الملفات التي ستحول" msgid "Find songs in your library that match the criteria you specify." msgstr "ابحث في المكتبة عن المقاطع التي توافق المعايير التي حددت." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "اعثر على هذا الفنان" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "التحقق من هوية المقطع" @@ -2464,6 +2411,7 @@ msgid "Form" msgstr "النموذج" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "صيغة" @@ -2500,7 +2448,7 @@ msgstr "Full Treble" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "عام" @@ -2508,7 +2456,7 @@ msgstr "عام" msgid "General settings" msgstr "إعدادات عامة" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2541,11 +2489,11 @@ msgstr "أعط اسما:" msgid "Go" msgstr "اذهب" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "انتقل للسان قائمة التشغيل التالي" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "انتقل للسان قائمة التشغيل السابق" @@ -2599,7 +2547,7 @@ msgstr "تجميع حسب النوع/الألبوم" msgid "Group by Genre/Artist/Album" msgstr "تجميع حسب النوع/الفنان/الألبوم" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2789,11 +2737,11 @@ msgstr "مثبت" msgid "Integrity check" msgstr "فحص شامل" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "انترنت" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "خدمات الانترنت" @@ -2810,6 +2758,10 @@ msgstr "" msgid "Invalid API key" msgstr "مفتاح API غير صالح" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "صيغة غير متاحة" @@ -2866,7 +2818,7 @@ msgstr "قاعدة بيانات Jamendo" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "اقفز إلى المقطع الجاري تشغيله" @@ -2890,7 +2842,7 @@ msgstr "تابع التشغيل في الخلفية عند إغلاق الناف msgid "Keep the original files" msgstr "أبقي على الملفات الأصلية" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "هرر" @@ -2931,7 +2883,7 @@ msgstr "عارضة جانبية عريضة" msgid "Last played" msgstr "المشغلة مؤخرا" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "آخر تشغيل" @@ -2972,12 +2924,12 @@ msgstr "المقاطع الأقل تفضيلا" msgid "Left" msgstr "يسار" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "المدة" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "المكتبة" @@ -2986,7 +2938,7 @@ msgstr "المكتبة" msgid "Library advanced grouping" msgstr "إعدادات متقدمة لتجميع المكتبة" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "إشعار إعادة فحص المكتبة" @@ -3026,7 +2978,7 @@ msgstr "تحميل الغلاف من القرص..." msgid "Load playlist" msgstr "تحميل قائمة تشغيل" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "تحميل قائمة تشغيل..." @@ -3062,8 +3014,7 @@ msgstr "جاري تحميل معلومات المقاطع" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "جاري التحميل" @@ -3072,7 +3023,6 @@ msgstr "جاري التحميل" msgid "Loads files/URLs, replacing current playlist" msgstr "تحميل ملفات/روابط، استبدال قائمة التشغيل الحالية" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3082,8 +3032,7 @@ msgstr "تحميل ملفات/روابط، استبدال قائمة التشغ #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "تسجيل الدخول" @@ -3091,15 +3040,11 @@ msgstr "تسجيل الدخول" msgid "Login failed" msgstr "فشل الولوج" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "تسجيل الخروج" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "ملف تعريف لتوقعات بعيدة المدى (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "إعجاب" @@ -3180,7 +3125,7 @@ msgstr "ملف التعريف القياسي (MAIN)" msgid "Make it so!" msgstr "فلتكن هكذا!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "اجعلها كذلك!" @@ -3226,10 +3171,6 @@ msgstr "طابق كل كلمة بحث (و)" msgid "Match one or more search terms (OR)" msgstr "طابق كلمة بحث أو عدة كلمات (أو)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "كل نتائج البحث الشامل" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "أقصى صبيب" @@ -3260,6 +3201,10 @@ msgstr "أدنى صبيب" msgid "Minimum buffer fill" msgstr "أقل تخزين للموازن" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "ملف إعدادات projectM غير متوفر" @@ -3280,7 +3225,7 @@ msgstr "تشغيل مونو" msgid "Months" msgstr "الأشهر" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "المزاج" @@ -3293,10 +3238,6 @@ msgstr "نمط عارضة المزاج" msgid "Moodbars" msgstr "أشرطة المزاج" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "المزيد" - #: library/library.cpp:84 msgid "Most played" msgstr "الأكثر تشغيلا" @@ -3314,7 +3255,7 @@ msgstr "نقط الوصل" msgid "Move down" msgstr "أسفل" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "انقل إلى المكتبة" @@ -3323,8 +3264,7 @@ msgstr "انقل إلى المكتبة" msgid "Move up" msgstr "أعلى" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "موسيقى" @@ -3333,22 +3273,10 @@ msgid "Music Library" msgstr "مكتبة الصوتيات" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "كتم الصوت" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "مقاطعي" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "المقترحة لي" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3394,7 +3322,7 @@ msgstr "لم يبدأ تشغيلها أبدا" msgid "New folder" msgstr "مجلد جديد" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "قائمة تشغيل جديدة" @@ -3423,7 +3351,7 @@ msgid "Next" msgstr "التالي" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "المقطع التالي" @@ -3461,7 +3389,7 @@ msgstr "بدون أجزاء قصيرة" msgid "None" msgstr "لا شيء" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "لا مقطع من المقاطع المختارة مناسب لنسخه لجهاز." @@ -3510,10 +3438,6 @@ msgstr "غير متصل" msgid "Not mounted - double click to mount" msgstr "غير موصول - انقر مرتين للوصل" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "لم يعثر على شيء" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "نوع التنبيهات" @@ -3595,7 +3519,7 @@ msgstr "الشفافية" msgid "Open %1 in browser" msgstr "فتح %1 في المتصفح" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "فتح &قرص CD..." @@ -3615,7 +3539,7 @@ msgstr "" msgid "Open device" msgstr "فتح جهاز" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "فتح ملف..." @@ -3669,7 +3593,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "ترتيب الملفات" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "ترتيب الملفات..." @@ -3681,7 +3605,7 @@ msgstr "ترتيب الملفات" msgid "Original tags" msgstr "الوسوم الأصلية" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3749,7 +3673,7 @@ msgstr "حفلة" msgid "Password" msgstr "كلمة السر" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "إيقاف مؤقت" @@ -3762,7 +3686,7 @@ msgstr "أوقف التشغيل مؤقتا" msgid "Paused" msgstr "تم الإيقاف مؤقتا" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3777,14 +3701,14 @@ msgstr "بكسل" msgid "Plain sidebar" msgstr "شريط جانبي عريض" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "تشغيل" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "عدد مرات التشغيل" @@ -3815,7 +3739,7 @@ msgstr "خيارات المشغل" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "قائمة تشغيل" @@ -3832,7 +3756,7 @@ msgstr "خيارات قائمة التشغيل" msgid "Playlist type" msgstr "نوع قائمة التشغيل" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "قوائم التشغيل" @@ -3873,11 +3797,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "التفضيلات" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "التفضيلات..." @@ -3937,7 +3861,7 @@ msgid "Previous" msgstr "السابق" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "المقطع السابق" @@ -3988,16 +3912,16 @@ msgstr "الجودة" msgid "Querying device..." msgstr "الاستعلام عن الجهاز..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "مدير لائحة الانتظار" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "أضف المختارة للائحة الانتظار" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "أضف للائحة الانتظار" @@ -4009,7 +3933,7 @@ msgstr "راديو (شدة صوت متساوية لجمع المقاطع)" msgid "Rain" msgstr "مطر" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "مطر" @@ -4046,7 +3970,7 @@ msgstr "قيم المقطع الحالي ب 4 نجوم" msgid "Rate the current song 5 stars" msgstr "قيم المقطع الحالي ب 5 نجوم" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "تقييم" @@ -4113,7 +4037,7 @@ msgstr "احذف" msgid "Remove action" msgstr "احذف العملية" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "احذف المقاطع المكررة من قائمة التشغيل" @@ -4121,15 +4045,7 @@ msgstr "احذف المقاطع المكررة من قائمة التشغيل" msgid "Remove folder" msgstr "أزل الملف" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "حذف من مقاطعي" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "إزالة من الإشارات المرجعية" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "احذف من قائمة التشغيل" @@ -4141,7 +4057,7 @@ msgstr "احذف قائمة التشغيل" msgid "Remove playlists" msgstr "احذف قوائم التشغيل" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4153,7 +4069,7 @@ msgstr "أعد تسمية قائمة التشغيل" msgid "Rename playlist..." msgstr "أعد تسمية قائمة التشغيل" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "أعد ترقيم المقاطع في هذا الترتيب..." @@ -4203,7 +4119,7 @@ msgstr "أعد ملأه من جديد" msgid "Require authentication code" msgstr "يتطلب كود التحقق" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "استرجاع الحالة البدئية" @@ -4244,7 +4160,7 @@ msgstr "نسخ" msgid "Rip CD" msgstr "قرص RIP" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4274,8 +4190,9 @@ msgstr "احذف الجهاز بأمان" msgid "Safely remove the device after copying" msgstr "احذف الجهاز بأمان بعد انتهاء النسخ" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "معدل العينة" @@ -4313,7 +4230,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "حفظ قائمة التشغيل" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "حفظ قائمة التشغيل..." @@ -4353,7 +4270,7 @@ msgstr "ملف التعريف Scalable sampling rate (SSR)" msgid "Scale size" msgstr "غيّر الحجم" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "النتيجة" @@ -4370,12 +4287,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "البحث" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "بحث" @@ -4518,7 +4435,7 @@ msgstr "معلومات الخادم" msgid "Service offline" msgstr "خدمة غير متصلة" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "غير %1 إلى %2" @@ -4527,7 +4444,7 @@ msgstr "غير %1 إلى %2" msgid "Set the volume to percent" msgstr "اجعل درجة الصوت بنسبة " -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "اجعل هذه القيمة لجميع المقاطع المختارة" @@ -4594,7 +4511,7 @@ msgstr "أظهر تنبيهات كلمنتاين" msgid "Show above status bar" msgstr "أظهر فوق شريط الحالة" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "أظهر جميع المقاطع" @@ -4614,16 +4531,12 @@ msgstr "أظهر الفواصل" msgid "Show fullsize..." msgstr "أظهر الحجم الأصلي..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "أظهر المجموعات في نتائج البحث الشامل" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "أظهر في متصفح الملفات..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "أظهر في المكتبة..." @@ -4635,27 +4548,23 @@ msgstr "أظهر في فنانين متنوعين" msgid "Show moodbar" msgstr "أظهر عارضة المزاج" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "أظهر المقاطع المكررة فقط" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "أظهر المقطاع غير الموسومة فقط" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "أظهر اقتراحات البحث" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4691,7 +4600,7 @@ msgstr "اخلط الألبومات" msgid "Shuffle all" msgstr "اخلط الكل" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "اخلط قائمة التشغيل" @@ -4727,7 +4636,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "تجاهل السابق في قائمة التشغيل" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "تخطى العد" @@ -4735,11 +4644,11 @@ msgstr "تخطى العد" msgid "Skip forwards in playlist" msgstr "تجاهل اللاحق في قائمة التشغيل" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "تجاوز المسارات المختارة" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "تجاوز المسار" @@ -4771,7 +4680,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "معلومات المقطع" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "معلومات المقطع" @@ -4807,7 +4716,7 @@ msgstr "ترتيب" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "المصدر" @@ -4882,7 +4791,7 @@ msgid "Starting..." msgstr "بدأ..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "إيقاف" @@ -4898,7 +4807,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "أوقف بعد هذا المقطع" @@ -4927,6 +4836,10 @@ msgstr "تم الايقاف" msgid "Stream" msgstr "المجرى" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5036,6 +4949,10 @@ msgstr "غلاف ألبوم المقطع المشغل حاليا" msgid "The directory %1 is not valid" msgstr "المسار %1 غير صالح" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "يجب أن تكون القيمة الثانية أكبر من القيمة الأولى!" @@ -5054,7 +4971,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "لقد انتهت المدة التجريبية لخادم Subsonic. الرجاء التبرع للحصول على مفتاح رخصة. لمزيد من التفاصيل زر subsonic.org." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5096,7 +5013,7 @@ msgid "" "continue?" msgstr "سيتم حذف هذه الملفات من الجهاز. هل أنت متأكد من رغبتك بالاستمرار؟" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5180,7 +5097,7 @@ msgstr "هذا النوع من الأجهزة غير مدعوم: %1" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5199,11 +5116,11 @@ msgstr "بدّل تنبيهات كلمنتاين" msgid "Toggle fullscreen" msgstr "بدّل نمط ملء الشاشة" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "بدّل حالة لائحة الانتظار" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "بدّل حالة نقل المعلومات المستمع إليها" @@ -5243,7 +5160,7 @@ msgstr "إجمالي طلبات الشبكة " msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "المقطوعة" @@ -5252,7 +5169,7 @@ msgstr "المقطوعة" msgid "Tracks" msgstr "المسارات" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "تحويل الصوتيات" @@ -5289,6 +5206,10 @@ msgstr "إيقاف تشغيل" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "رابط(روابط)" @@ -5314,9 +5235,9 @@ msgstr "تعذر تحميل %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "مجهول" @@ -5333,11 +5254,11 @@ msgstr "خطأ مجهول" msgid "Unset cover" msgstr "ألغ الغلاف" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "إلغاء تجاوز المسارات المختارة" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "إلغاء تجاوز المسار" @@ -5350,15 +5271,11 @@ msgstr "ألغ الاشتراك" msgid "Upcoming Concerts" msgstr "الحفلات القادمة" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "تحديث" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "حدّث جميع البودكاست" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "حدّث المجلدات التي تغيرت في المكتبة" @@ -5468,7 +5385,7 @@ msgstr "استخدم تسوية الصوت" msgid "Used" msgstr "مستعمل" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "واجهة المستخدم" @@ -5494,7 +5411,7 @@ msgid "Variable bit rate" msgstr "معدل بت متغير" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "فنانون متنوعون" @@ -5507,11 +5424,15 @@ msgstr "النسخة %1" msgid "View" msgstr "عرض" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "نمط التأثيرات المرئية" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "التأثيرات المرئية" @@ -5519,10 +5440,6 @@ msgstr "التأثيرات المرئية" msgid "Visualizations Settings" msgstr "إعدادات التأثيرات المرئية" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "VK.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "تحديد نشاط الصوت" @@ -5545,10 +5462,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "نبهني عند إغلاق لسان قائمة تشغيل" @@ -5651,7 +5564,7 @@ msgid "" "well?" msgstr "هل ترغب بنقل المقاطع الأخرى في هذا الألبوم لفئة فنانون متنوعون؟" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "هل ترغب بالقيام بفحص شامل الآن؟" @@ -5667,7 +5580,7 @@ msgstr "" msgid "Wrong username or password." msgstr "اسم مستخدم أو كلمة سر خاطئة." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/be.po b/src/translations/be.po index 080a16b04..9ffa61137 100644 --- a/src/translations/be.po +++ b/src/translations/be.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Belarusian (http://www.transifex.com/davidsansome/clementine/language/be/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -67,11 +67,6 @@ msgstr " с" msgid " songs" msgstr "кампазыцыі" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -103,7 +98,7 @@ msgstr "%1 на %2" msgid "%1 playlists (%2)" msgstr "%1 плэйлістоў (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 абрана з" @@ -128,7 +123,7 @@ msgstr "%1 кампазыцый знойдзена" msgid "%1 songs found (showing %2)" msgstr "%1 кампазыцый знойдзена (паказана %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 трэкаў" @@ -188,7 +183,7 @@ msgstr "Па &цэнтры" msgid "&Custom" msgstr "&Іншы" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Пашырэньні" @@ -196,7 +191,7 @@ msgstr "Пашырэньні" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Даведка" @@ -221,7 +216,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Музыка" @@ -229,15 +224,15 @@ msgstr "Музыка" msgid "&None" msgstr "&Няма" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Плэйліст" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Выйсьці" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Рэжым паўтору" @@ -245,7 +240,7 @@ msgstr "Рэжым паўтору" msgid "&Right" msgstr "&Справа" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Рэжым мяшаньня" @@ -253,7 +248,7 @@ msgstr "Рэжым мяшаньня" msgid "&Stretch columns to fit window" msgstr "&Выраўнаць слупкі па памеры вакна" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Iнструмэнты" @@ -289,7 +284,7 @@ msgstr "0px" msgid "1 day" msgstr "1 дзень" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 кампазыцыя" @@ -433,11 +428,11 @@ msgstr "Адмена" msgid "About %1" msgstr "Пра %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Пра праграму Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Пра Qt..." @@ -447,7 +442,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Дэталі акаўнта" @@ -501,19 +496,19 @@ msgstr "Дадаць іншае струменевае вяшчанне" msgid "Add directory..." msgstr "Дадаць каталёг" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Дадаць файл" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Дадаць файл..." @@ -521,12 +516,12 @@ msgstr "Дадаць файл..." msgid "Add files to transcode" msgstr "Дадаць файлы для перакадаваньня" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Дадаць каталёг" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Дадаць каталёг..." @@ -538,7 +533,7 @@ msgstr "Дадаць новы каталёг..." msgid "Add podcast" msgstr "Дадаць подкаст" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Дадаць подкаст..." @@ -606,10 +601,6 @@ msgstr "Дадаць колькасьць пропускаў" msgid "Add song title tag" msgstr "Дадаць тэг \"Назва\"" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Дадаць тэг \"Нумар трэку\"" @@ -618,18 +609,10 @@ msgstr "Дадаць тэг \"Нумар трэку\"" msgid "Add song year tag" msgstr "Дадаць тэг \"Год\"" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Дадаць струмень..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -638,14 +621,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Дадаць у іншы плэйліст" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Дадаць у плэйліст" @@ -655,10 +634,6 @@ msgstr "Дадаць у плэйліст" msgid "Add to the queue" msgstr "Дадаць у чаргу" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Дадаць дзеяньне wiimotedev" @@ -696,7 +671,7 @@ msgstr "Пасьля" msgid "After copying..." msgstr "Пасьля капіяваньня..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -709,7 +684,7 @@ msgstr "Альбом" msgid "Album (ideal loudness for all tracks)" msgstr "Альбом (ідэальная гучнасьць для ўсіх трэкаў)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -724,10 +699,6 @@ msgstr "Вокладка альбому" msgid "Album info on jamendo.com..." msgstr "Інфармацыя аб альбоме на jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Альбомы з вокладкамі" @@ -740,11 +711,11 @@ msgstr "Альбомы бяз вокладак" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Усе файлы (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -869,7 +840,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -878,7 +849,7 @@ msgstr "" msgid "Artist" msgstr "Выканаўца" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Пра Артыста" @@ -949,7 +920,7 @@ msgstr "Прыкладны памер выявы" msgid "BBC Podcasts" msgstr "Подкасты BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1006,7 +977,8 @@ msgstr "Найлепшая" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Бітрэйт" @@ -1059,7 +1031,7 @@ msgstr "Агляд..." msgid "Buffer duration" msgstr "Працяжнасьць буфэру" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Буфэрызацыя" @@ -1083,19 +1055,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Падтрымка CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Адмена" @@ -1104,12 +1063,6 @@ msgstr "Адмена" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Абярыце вокладку" @@ -1148,6 +1101,10 @@ msgid "" "songs" msgstr "Зьмяненьне наладаў прайграваньня мона падзейнічае з наступных кампазыцыяў" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Праверыць новыя выпускі" @@ -1156,19 +1113,15 @@ msgstr "Праверыць новыя выпускі" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Праверыць абнаўленьні..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Пазначце імя для смарт-плэйліста" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Выбраць аўтаматычна" @@ -1214,13 +1167,13 @@ msgstr "Ачыстка" msgid "Clear" msgstr "Ачысьціць" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Ачысьціць плэйліст" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1353,24 +1306,20 @@ msgstr "Колеры" msgid "Comma separated list of class:level, level is 0-3" msgstr "Падзелены коскамі сьпіс \"кляс:узровень\", дзе ўзровень ад 0 да 3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Камэнтар" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Аўтаматычна запоўніць тэгі" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Аўтаматычна запоўніць тэгі..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1401,15 +1350,11 @@ msgstr "Наладзіць Spotify..." msgid "Configure Subsonic..." msgstr "Наладзіць Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Наладзіць глябальны пошук..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Наладзіць калекцыю..." @@ -1443,16 +1388,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Кансоль" @@ -1476,20 +1421,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Скапіяваць у буфэр" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Капіяваць на прыладу..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Капіяваць у калекцыю..." @@ -1511,6 +1452,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Немагчыма стварыць элемент GStreamer \"%1\" - пераканайцеся, што ў вас усталяваныя ўсе неабходныя плагіны GStreamer" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1537,7 +1487,7 @@ msgstr "Немагчыма адкрыць выходны файл %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Мэнэджэр вокладак" @@ -1623,11 +1573,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Дата стварэньня" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Дата зьмены" @@ -1655,7 +1605,7 @@ msgstr "Паменьшыць гучнасьць" msgid "Default background image" msgstr "Карыстальніцкая выява па-змоўчаньні:" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1678,7 +1628,7 @@ msgid "Delete downloaded data" msgstr "Выдаліць спампаваныя дадзеныя" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Выдаліць файлы" @@ -1686,7 +1636,7 @@ msgstr "Выдаліць файлы" msgid "Delete from device..." msgstr "Выдаліць з прылады" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Выдаліць з дыску..." @@ -1711,11 +1661,15 @@ msgstr "Выдаліць арыгінальныя файлы" msgid "Deleting files" msgstr "Выдаленьне файлаў" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Прыбраць з чаргі абраныя трэкі" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Прыбраць трэк з чаргі " @@ -1744,11 +1698,11 @@ msgstr "Імя прылады" msgid "Device properties..." msgstr "Уласьцівасьці прылады..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Прылады" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1795,7 +1749,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1816,7 +1770,7 @@ msgstr "Налады адлюстраваньня" msgid "Display the on-screen-display" msgstr "Паказваць экраннае апавяшчэньне" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Перасканаваць бібліятэку" @@ -1987,12 +1941,12 @@ msgstr "Выпадковы дынамічны мікс" msgid "Edit smart playlist..." msgstr "Рэдагаваць смарт-плэйліст" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Рэдагаваць тэг..." @@ -2005,7 +1959,7 @@ msgid "Edit track information" msgstr "Рэдагаваньне інфарамацыі аб кампазыцыі" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Рэдагаваць інфармацыю аб кампазыцыі..." @@ -2025,10 +1979,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "Уключыць падтрымку Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Задзейнічаць эквалайзэр" @@ -2113,7 +2063,7 @@ msgstr "Уведзьце гэты IP у Прыкладаньні для падл msgid "Entire collection" msgstr "Уся калекцыя" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Эквалайзэр" @@ -2126,8 +2076,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Аналягічна --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Памылка" @@ -2147,6 +2097,11 @@ msgstr "Памылка капіяваньня песень" msgid "Error deleting songs" msgstr "Памылка выдаленьня песень" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Памылка запампоўкі плагіна Spotify" @@ -2267,7 +2222,7 @@ msgstr "Згасаньне" msgid "Fading duration" msgstr "Працягласьць згасаньня" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2346,27 +2301,23 @@ msgstr "Пашырэньне файлу" msgid "File formats" msgstr "Фарматы файлаў" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Імя файла" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Імя файла (без указаньня шляху)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Памер файлу" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2376,7 +2327,7 @@ msgstr "Тып файлу" msgid "Filename" msgstr "Имя файлу" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Файлы" @@ -2388,10 +2339,6 @@ msgstr "Файлы для перакадаваньня" msgid "Find songs in your library that match the criteria you specify." msgstr "Знайсьці песьні ў вашай бібліятэцы, якія адпавядаюць пазначаным" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Дактыласкапаваньне песьні" @@ -2460,6 +2407,7 @@ msgid "Form" msgstr "Форма" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Фармат" @@ -2496,7 +2444,7 @@ msgstr "Full Treble" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Агульныя" @@ -2504,7 +2452,7 @@ msgstr "Агульныя" msgid "General settings" msgstr "Агульныя налады" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2537,11 +2485,11 @@ msgstr "Даць імя:" msgid "Go" msgstr "Перайсьці" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Перайсьці да наступнага сьпісу прайграваньня" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Перайсьці да папярэдняга сьпісу прайграваньня" @@ -2595,7 +2543,7 @@ msgstr "Сартаваць па Жанр/Альбом" msgid "Group by Genre/Artist/Album" msgstr "Сартаваць па Жанр/Выканаўца/Альбом" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2785,11 +2733,11 @@ msgstr "Усталявана" msgid "Integrity check" msgstr "Праверка цельнасьці" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Інтэрнэт" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Інтрэрнэт правайдэры" @@ -2806,6 +2754,10 @@ msgstr "" msgid "Invalid API key" msgstr "Нявправільны ключ API" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Няверны фармат" @@ -2862,7 +2814,7 @@ msgstr "База Jamendo" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Перайсьці да бягучага трэку" @@ -2886,7 +2838,7 @@ msgstr "Працягваць працу ў фонавым рэжыме, калі msgid "Keep the original files" msgstr "Захаваць арыгінальныя файлы" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2927,7 +2879,7 @@ msgstr "Шырокая бакавая панэль" msgid "Last played" msgstr "Апошняе праслуханае" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2968,12 +2920,12 @@ msgstr "Найменш улюбёныя трэкі" msgid "Left" msgstr "Левы" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Працягласьць" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Бібліятэка" @@ -2982,7 +2934,7 @@ msgstr "Бібліятэка" msgid "Library advanced grouping" msgstr "Пашыраная сартоўка калекцыі" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Апавяшчэньне сканіраваньня бібліятэкі" @@ -3022,7 +2974,7 @@ msgstr "Загрузіць вокладку з дыску..." msgid "Load playlist" msgstr "Загрузіць плэйліст" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Загрузіць плэйліст..." @@ -3058,8 +3010,7 @@ msgstr "Загрузка інфармацыі пра трэк" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Загрузка..." @@ -3068,7 +3019,6 @@ msgstr "Загрузка..." msgid "Loads files/URLs, replacing current playlist" msgstr "Загрузіць файлы/URLs, замяняючы бягучы плэйліст" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3078,8 +3028,7 @@ msgstr "Загрузіць файлы/URLs, замяняючы бягучы пл #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Уваход" @@ -3087,15 +3036,11 @@ msgstr "Уваход" msgid "Login failed" msgstr "Памылка ўваходу" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Профіль Long term prediction (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Упадабаць" @@ -3176,7 +3121,7 @@ msgstr "Асноўны профіль (MAIN)" msgid "Make it so!" msgstr "Да будзе так!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3222,10 +3167,6 @@ msgstr "Супадае з кожнай умовай пошуку (І)" msgid "Match one or more search terms (OR)" msgstr "Супадае з адным ці некалькімі ўмовамі (ЦІ)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Максымальны бітрэйт" @@ -3256,6 +3197,10 @@ msgstr "Мінімальны бітрэйт" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Прапушчаныя ўсталёўкі projectM" @@ -3276,7 +3221,7 @@ msgstr "Прайграваньне мона" msgid "Months" msgstr "Месяцаў" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Настрой" @@ -3289,10 +3234,6 @@ msgstr "Стыль панэлі настрою" msgid "Moodbars" msgstr "Панэлі Настрою" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "Найчасьцей праслуханае" @@ -3310,7 +3251,7 @@ msgstr "Пункты мантаваньня" msgid "Move down" msgstr "Перамясьціць долу" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Перамясьціць у бібліятэку" @@ -3319,8 +3260,7 @@ msgstr "Перамясьціць у бібліятэку" msgid "Move up" msgstr "Перамясьціць вышэй" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Музыка" @@ -3329,22 +3269,10 @@ msgid "Music Library" msgstr "Музычная Бібліятэка" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Бязгучна" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Мая Музыка" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Мае Рэкамэндацыі" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3390,7 +3318,7 @@ msgstr "Ніколі не пачынаць прайграваць" msgid "New folder" msgstr "Новая тэчка" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Новы плэйліст" @@ -3419,7 +3347,7 @@ msgid "Next" msgstr "Далей" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Наступны трэк" @@ -3457,7 +3385,7 @@ msgstr "Без кароткіх блёкаў" msgid "None" msgstr "Нічога" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Ніводная з абраных песень ня будзе скапіяваная на прыладу" @@ -3506,10 +3434,6 @@ msgstr "Ня быў выкананы логін" msgid "Not mounted - double click to mount" msgstr "Не падключана. Зрабіце двайны пстрык мышшу для падключэньня." -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Тып апавяшчэньня" @@ -3591,7 +3515,7 @@ msgstr "Непразрыстасьць" msgid "Open %1 in browser" msgstr "Адчыніць %1 у браўзэры" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Адкрыць аўдыё CD..." @@ -3611,7 +3535,7 @@ msgstr "" msgid "Open device" msgstr "Адкрыць прыладу" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Адкрыць файл..." @@ -3665,7 +3589,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Упарадкаваць файлы" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Упарадкаваць файлы..." @@ -3677,7 +3601,7 @@ msgstr "Арганізацыя файлаў" msgid "Original tags" msgstr "Першапачатковыя тэгі" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3745,7 +3669,7 @@ msgstr "Party" msgid "Password" msgstr "Пароль" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Прыпыніць" @@ -3758,7 +3682,7 @@ msgstr "Прыпыніць прайграваньне" msgid "Paused" msgstr "Прыпынены" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3773,14 +3697,14 @@ msgstr "" msgid "Plain sidebar" msgstr "Нармальная бакавая панэль" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Прайграць" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Колькасць прайграваньняў" @@ -3811,7 +3735,7 @@ msgstr "Налады плэеру" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Плэйліст" @@ -3828,7 +3752,7 @@ msgstr "Налады плэйлісту" msgid "Playlist type" msgstr "Тып плэйлісту" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Плэйлісты" @@ -3869,11 +3793,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Налады" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Налады..." @@ -3933,7 +3857,7 @@ msgid "Previous" msgstr "Папярэдні" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Папярэдні трэк" @@ -3984,16 +3908,16 @@ msgstr "" msgid "Querying device..." msgstr "Апытваньне прылады..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Мэнэджэр Чаргі" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Дадаць абраныя трэкі ў чаргу" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Дадаць у чаргу" @@ -4005,7 +3929,7 @@ msgstr "Радыё (аднолькавая гучнасьць для ўсіх т msgid "Rain" msgstr "Дождж" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4042,7 +3966,7 @@ msgstr "Ацаніць бягучую кампазыцыю ў 4 зоркі" msgid "Rate the current song 5 stars" msgstr "Ацаніць бягучую кампазыцыю ў 5 зорак" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Рэйтынг" @@ -4109,7 +4033,7 @@ msgstr "Выдаліць" msgid "Remove action" msgstr "Выдаліць дзеяньне" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Прыбраць паўторы з плэйлісту" @@ -4117,15 +4041,7 @@ msgstr "Прыбраць паўторы з плэйлісту" msgid "Remove folder" msgstr "Прыбраць каталёг" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Прыбраць з Маёй Музыкі" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Прыбраць з плэйлісту" @@ -4137,7 +4053,7 @@ msgstr "" msgid "Remove playlists" msgstr "Выдаліць плэйлісты" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4149,7 +4065,7 @@ msgstr "Пераназваць плэйліст" msgid "Rename playlist..." msgstr "Пераназваць плэйліст..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Перанумараваць трэкі ў такім парадку..." @@ -4199,7 +4115,7 @@ msgstr "Перазапоўніць" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Ськід" @@ -4240,7 +4156,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4270,8 +4186,9 @@ msgstr "Бясьпечна выняць прыладу" msgid "Safely remove the device after copying" msgstr "Бясьпечна выняць прыладу пасьля капіяваньня" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Чашчыня" @@ -4309,7 +4226,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Захаваць плэйліст..." @@ -4349,7 +4266,7 @@ msgstr "Профіль Scalable sampling rate (SSR)" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Лік" @@ -4366,12 +4283,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Пошук" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4514,7 +4431,7 @@ msgstr "Дэталі сэрвэру" msgid "Service offline" msgstr "Служба не працуе" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Усталяваць %1 у \"%2\"..." @@ -4523,7 +4440,7 @@ msgstr "Усталяваць %1 у \"%2\"..." msgid "Set the volume to percent" msgstr "Усталяваць гучнасьць у адсоткаў" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Усталяваць значэньне для вызначаных трэкаў..." @@ -4590,7 +4507,7 @@ msgstr "Паказваць OSD" msgid "Show above status bar" msgstr "Паказаць над радком стану" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Паказаць усе кампазыцыі" @@ -4610,16 +4527,12 @@ msgstr "Паказваць падзяляльнікі" msgid "Show fullsize..." msgstr "Паказаць поўны памер..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Паказаць ў аглядчыку файлаў" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4631,27 +4544,23 @@ msgstr "Паказаць ў \"Розных выканаўцах\"" msgid "Show moodbar" msgstr "Паказаць панэль настрою" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Паказваць толькі дубляваныя" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Паказваць толькі бяз тэгаў" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Паказаць пошукавыя падказкі" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4687,7 +4596,7 @@ msgstr "Перамяшаць альбомы" msgid "Shuffle all" msgstr "Перамяшаць усё" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Перамяшаць плэйліст" @@ -4723,7 +4632,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Перамясьціць назад у плэйлісьце" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Прапусьціць падлік" @@ -4731,11 +4640,11 @@ msgstr "Прапусьціць падлік" msgid "Skip forwards in playlist" msgstr "Перамясьціць наперад ў плэйлісьце" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4767,7 +4676,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Інфармацыя аб кампазыцыі" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Пра Песьню" @@ -4803,7 +4712,7 @@ msgstr "Сартаваць" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Крыніца" @@ -4878,7 +4787,7 @@ msgid "Starting..." msgstr "Запуск..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Спыніць" @@ -4894,7 +4803,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Спыніць пасьля гэтага трэку" @@ -4923,6 +4832,10 @@ msgstr "Спынена" msgid "Stream" msgstr "Струмень" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5032,6 +4945,10 @@ msgstr "Вокладка альбому бягучае кампазыцыі" msgid "The directory %1 is not valid" msgstr "Каталёг %1 няправільны" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Другое значэньне павінна быць большым за першае!" @@ -5050,7 +4967,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Скончыўся пробны пэрыяд сэрвэру Subsonic. Калі ласка заплаціце каб атрымаць ліцэнзыйны ключ. Наведайце subsonic.org для падрабязнасьцяў." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5092,7 +5009,7 @@ msgid "" "continue?" msgstr "Гэтыя файлы будуць выдаленыя з прылады, вы дакладна жадаеце працягнуць?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5176,7 +5093,7 @@ msgstr "Гэты тып прылады не падтрымліваецца: %1" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5195,11 +5112,11 @@ msgstr "Уключыць" msgid "Toggle fullscreen" msgstr "Укл/Выкл поўнаэкранны рэжым" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Пераключыць стан чаргі" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Укл/Выкл скроблінг" @@ -5239,7 +5156,7 @@ msgstr "Выканана сеткавых запытаў увогуле" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Трэк" @@ -5248,7 +5165,7 @@ msgstr "Трэк" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Перакадаваньне Музыкі" @@ -5285,6 +5202,10 @@ msgstr "Выключыць" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URI(s)" @@ -5310,9 +5231,9 @@ msgstr "Немагчыма спампаваць %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Невядомы" @@ -5329,11 +5250,11 @@ msgstr "Невядомая памылка" msgid "Unset cover" msgstr "Выдаліць вокладку" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5346,15 +5267,11 @@ msgstr "Адпісацца" msgid "Upcoming Concerts" msgstr "Канцэрты, якія маюць адбыцца" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Абнавіць усе подкасты" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Абнавіць зьмененыя тэчкі бібліятэкі" @@ -5464,7 +5381,7 @@ msgstr "Выкарыстоўваць выраўнаваньне гучнасьц msgid "Used" msgstr "Скарыстана" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Інтэрфэйс" @@ -5490,7 +5407,7 @@ msgid "Variable bit rate" msgstr "Пераменны бітрэйт" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Розныя выканаўцы" @@ -5503,11 +5420,15 @@ msgstr "Вэрсія %1" msgid "View" msgstr "Прагляд" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Рэжым візуалізацыі" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Візуалізацыі" @@ -5515,10 +5436,6 @@ msgstr "Візуалізацыі" msgid "Visualizations Settings" msgstr "Налады візуалізацыі" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Вызначэньне голасу" @@ -5541,10 +5458,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5647,7 +5560,7 @@ msgid "" "well?" msgstr "Перасунуць іншыя песьні з гэтага альбому ў Розныя Выканаўцы?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Ці жадаеце запусьціць паўторнае сканіраваньне?" @@ -5663,7 +5576,7 @@ msgstr "" msgid "Wrong username or password." msgstr "Няправільнае імя ці пароль." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/bg.po b/src/translations/bg.po index 307b01388..826e986a3 100644 --- a/src/translations/bg.po +++ b/src/translations/bg.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Bulgarian (http://www.transifex.com/davidsansome/clementine/language/bg/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -71,11 +71,6 @@ msgstr " секунди" msgid " songs" msgstr " песни" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 песни)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -107,7 +102,7 @@ msgstr "%1 на %2" msgid "%1 playlists (%2)" msgstr "%1 списъци с песни (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 избрани от" @@ -132,7 +127,7 @@ msgstr "%1 намерени песни" msgid "%1 songs found (showing %2)" msgstr "%1 намерени песни (%2 показани)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 песни" @@ -192,7 +187,7 @@ msgstr "&Център" msgid "&Custom" msgstr "&Потребителски" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Допълнения" @@ -200,7 +195,7 @@ msgstr "Допълнения" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Помо&щ" @@ -225,7 +220,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Музика" @@ -233,15 +228,15 @@ msgstr "Музика" msgid "&None" msgstr "&Никакъв" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Списък с песни" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Изход" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Режим „Повторение“" @@ -249,7 +244,7 @@ msgstr "Режим „Повторение“" msgid "&Right" msgstr "&Дясно" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Режим „Случаен ред“" @@ -257,7 +252,7 @@ msgstr "Режим „Случаен ред“" msgid "&Stretch columns to fit window" msgstr "&Разтегли колоните да се вместят в прозореца" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Инструменти" @@ -293,7 +288,7 @@ msgstr "0px" msgid "1 day" msgstr "1 ден" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 песен" @@ -437,11 +432,11 @@ msgstr "Отхвърляне" msgid "About %1" msgstr "Относно %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Относно Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Относно QT..." @@ -451,7 +446,7 @@ msgid "Absolute" msgstr "Абосолютен" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Данни за акаунта" @@ -505,19 +500,19 @@ msgstr "Добавяне на друг поток..." msgid "Add directory..." msgstr "Добавяне на папка..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Добавяне на файл" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Добавяне на файл към прекодера" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Добавяне на файл(ове) към прекодера" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Добавяне на файл..." @@ -525,12 +520,12 @@ msgstr "Добавяне на файл..." msgid "Add files to transcode" msgstr "Добавяне на файлове за прекодиране" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Добавяне на папка" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Добавяне на папка..." @@ -542,7 +537,7 @@ msgstr "Добавяне на нова папка..." msgid "Add podcast" msgstr "Добавя движещ се текст" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Добавяне на подкаст..." @@ -610,10 +605,6 @@ msgstr "Добавяне брой пропускания на песента" msgid "Add song title tag" msgstr "Добавяне на етикет за име на песен" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Добавяне на песента към кеш" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Добавяне на етикет за номер на песен" @@ -622,18 +613,10 @@ msgstr "Добавяне на етикет за номер на песен" msgid "Add song year tag" msgstr "Добавяне на етикет за година на песен" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Добавяне на песните в \"Моята музика\", когато се щракне на бутона \"Любима\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Добавяне на поток..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Добавяне в Моята музика" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Добавяне към списъците с песни от Spotify" @@ -642,14 +625,10 @@ msgstr "Добавяне към списъците с песни от Spotify" msgid "Add to Spotify starred" msgstr "Добавяне към оценените песни от Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Добави в друг списък с песни" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Добавяне в отметки" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Добавяне към списъка с песни" @@ -659,10 +638,6 @@ msgstr "Добавяне към списъка с песни" msgid "Add to the queue" msgstr "Добави към опашката" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Добавяне на потребител/група в отметки" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Добави Wiiremote действие" @@ -700,7 +675,7 @@ msgstr "След " msgid "After copying..." msgstr "След копиране..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -713,7 +688,7 @@ msgstr "Албум" msgid "Album (ideal loudness for all tracks)" msgstr "Албум (идеална сила на звука за всички песни)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -728,10 +703,6 @@ msgstr "Обложка на албума" msgid "Album info on jamendo.com..." msgstr "Информация за албума на jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Албуми" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Албуми с обложки" @@ -744,11 +715,11 @@ msgstr "Албуми без обложки" msgid "All" msgstr "Всички" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Всички файлове (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Славният хипножабок!" @@ -873,7 +844,7 @@ msgid "" "the songs of your library?" msgstr "Сигурни ли сте, че искате да запишете статистиките на песните във файловете на всички песни в библиотеката си?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -882,7 +853,7 @@ msgstr "Сигурни ли сте, че искате да запишете ст msgid "Artist" msgstr "Изпълнител" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Информация за изпълнителя" @@ -953,7 +924,7 @@ msgstr "Среден размер на изображение" msgid "BBC Podcasts" msgstr "BBC подкасти" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "Темпо" @@ -1010,7 +981,8 @@ msgstr "Най-добро" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Поток в битове" @@ -1063,7 +1035,7 @@ msgstr "Избор…" msgid "Buffer duration" msgstr "Времетраене на буфера" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Буфериране" @@ -1087,19 +1059,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Поддръжка на CUE листове" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Път за кеширане:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Кеширам" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Кеширам %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Отказ" @@ -1108,12 +1067,6 @@ msgstr "Отказ" msgid "Cancel download" msgstr "Откажи свалянето" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Необходима е Captcha.\nОпитайте да се логнете във Vk.com през браузера си, за да решите този проблем." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Смени обложката" @@ -1152,6 +1105,10 @@ msgid "" "songs" msgstr "Смяната на предпочитание за моно възпроизвеждане ще бъде ефективна за следващите възпроизведени песни" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Провери за нови епизоди" @@ -1160,19 +1117,15 @@ msgstr "Провери за нови епизоди" msgid "Check for updates" msgstr "Проверка за обновления" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Проверка за обновления..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Избор на Vk.com кеш папка" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Изберете име за вашият умен списък с песни" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Автоматичен избор" @@ -1218,13 +1171,13 @@ msgstr "Почистване" msgid "Clear" msgstr "Изчистване" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Изчистване на списъка с песни" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1357,24 +1310,20 @@ msgstr "Цветове" msgid "Comma separated list of class:level, level is 0-3" msgstr "Разделен със запетаи списък с class:level, level (ниво) е 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Коментар" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Обществено радио" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Автоматично довършване на етикетите" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Автоматично довършване на етикетите..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1405,15 +1354,11 @@ msgstr "Настройване на Spotify..." msgid "Configure Subsonic..." msgstr "Конфигурация на Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Настройка на Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Конфигурирай глобално търсене" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Настройване на библиотека..." @@ -1447,16 +1392,16 @@ msgid "" "http://localhost:4040/" msgstr "Съвъра отказа връзката, проверете URL адреса на сървъра. Например: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Позволеното време за връзка изтече, проверете URL адреса на съвъра. Например: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Проблем при връзката, или аудиото е изключено от собственика" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Конзола" @@ -1480,20 +1425,16 @@ msgstr "Конвертира lossless аудио файлове преди да msgid "Convert lossless files" msgstr "Конвертиране на lossless файлове" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Копиране на url адреса за споделяне в буфера" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Копиране в буфера" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Копирай в устройство..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Копиране в библиотека..." @@ -1515,6 +1456,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Не мога да създам GStreamer елемент \"%1\" - уверете се, че всички необходими приставки на GStreamer са инсталирани" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Не можах да създам списък с песни." @@ -1541,7 +1491,7 @@ msgstr "Не мога да отворя изходен файл %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Мениджър за обложки" @@ -1627,11 +1577,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Дата на създаване" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Дата на променяне" @@ -1659,7 +1609,7 @@ msgstr "Намаляване на звука" msgid "Default background image" msgstr "Фоново изображение по подразбиране" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Устройство по подразбиране на %1" @@ -1682,7 +1632,7 @@ msgid "Delete downloaded data" msgstr "Изтрий свалените данни" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Изтриване на файлове" @@ -1690,7 +1640,7 @@ msgstr "Изтриване на файлове" msgid "Delete from device..." msgstr "Изтриване от устройство" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Изтриване от диска..." @@ -1715,11 +1665,15 @@ msgstr "Изтрий оригиналните файлове" msgid "Deleting files" msgstr "Изтриване на файлове" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Махни от опашката избраните парчета" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Махни от опашката парчето" @@ -1748,11 +1702,11 @@ msgstr "Име на устройство" msgid "Device properties..." msgstr "Свойства на устройство..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Устройства" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Диалог" @@ -1799,7 +1753,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Изключено" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1820,7 +1774,7 @@ msgstr "Настройки на показването" msgid "Display the on-screen-display" msgstr "Показване на екранно уведомление" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Пусни пълно повторно сканиране на библиотеката" @@ -1991,12 +1945,12 @@ msgstr "Динамичен случаен микс" msgid "Edit smart playlist..." msgstr "Редактиране умен списък с песни..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Редактиране на етикет \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Редактиране на етикет..." @@ -2009,7 +1963,7 @@ msgid "Edit track information" msgstr "Редактиране на информацията за песента" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Редактиране на информацията за песента..." @@ -2029,10 +1983,6 @@ msgstr "Имейл" msgid "Enable Wii Remote support" msgstr "Разреши подръжката на Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Разрешаване на автоматично кеширане" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Разреши еквалазйзера" @@ -2117,7 +2067,7 @@ msgstr "Въведето този IP в App за да се свържете с C msgid "Entire collection" msgstr "Цялата колекция" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Еквалайзер" @@ -2130,8 +2080,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Еквивалентно на --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Грешка" @@ -2151,6 +2101,11 @@ msgstr "Грешка при копиране на песни" msgid "Error deleting songs" msgstr "Грешка при изтриване на песни" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Грешка при изтеглянето на приставка за Spotify" @@ -2271,7 +2226,7 @@ msgstr "Заглушаване" msgid "Fading duration" msgstr "Продължителност на заглушаване" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Не успях да прочета CD устройството" @@ -2350,27 +2305,23 @@ msgstr "Файлово разширение" msgid "File formats" msgstr "Файлови формати" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Име на файл" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Име на файл (без път)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Шаблон за име на файла:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Пътища към файл" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Размер на файла" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2380,7 +2331,7 @@ msgstr "Тип на файла" msgid "Filename" msgstr "Име на файл" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Файлове" @@ -2392,10 +2343,6 @@ msgstr "Файлове за прекодиране" msgid "Find songs in your library that match the criteria you specify." msgstr "Намери песни в библиотеката, които спазват вашият критерия" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Намиране на този изпълнител" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Подпечатване на песента" @@ -2464,6 +2411,7 @@ msgid "Form" msgstr "Форма" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Формат" @@ -2500,7 +2448,7 @@ msgstr "Пълни високи" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Общи" @@ -2508,7 +2456,7 @@ msgstr "Общи" msgid "General settings" msgstr "Общи настройки" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2541,11 +2489,11 @@ msgstr "Въведете име:" msgid "Go" msgstr "Давай" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Отиване към подпрозореца със следващия списък с песни" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Отиване към подпрозореца с предишния списък с песни" @@ -2599,7 +2547,7 @@ msgstr "Групиране по Жанр/Албум" msgid "Group by Genre/Artist/Album" msgstr "Групиране по Жанр/Изпълнител/Албум" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2789,11 +2737,11 @@ msgstr "Инсталирани" msgid "Integrity check" msgstr "Проверка на интегритета" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Интернет" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Интернет доставчици" @@ -2810,6 +2758,10 @@ msgstr "" msgid "Invalid API key" msgstr "Невалиден API ключ" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Невалиден формат" @@ -2866,7 +2818,7 @@ msgstr "Jamendo база от данни" msgid "Jump to previous song right away" msgstr "Премини към предната песен веднага" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Отиване до песента, изпълнявана в момента" @@ -2890,7 +2842,7 @@ msgstr "Продължи ипзълнението и във фонов режи msgid "Keep the original files" msgstr "Запази оригиналните файлове" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Котенца" @@ -2931,7 +2883,7 @@ msgstr "Голяма странична лента" msgid "Last played" msgstr "Последно изпълнение" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Последно изпълнение" @@ -2972,12 +2924,12 @@ msgstr "Най-малко любими песни" msgid "Left" msgstr "Ляво" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Дължина" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Библиотека" @@ -2986,7 +2938,7 @@ msgstr "Библиотека" msgid "Library advanced grouping" msgstr "Разширено групиране на Библиотеката" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Известие за повторно сканиране на библиотеката" @@ -3026,7 +2978,7 @@ msgstr "Зареждане на обложката от диска..." msgid "Load playlist" msgstr "Зареждане на списък с песни" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Зареждане на списък с песни..." @@ -3062,8 +3014,7 @@ msgstr "Зареждане на информация за песните" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Зареждане…" @@ -3072,7 +3023,6 @@ msgstr "Зареждане…" msgid "Loads files/URLs, replacing current playlist" msgstr "Зареждане на файлове/URL адреси, замествайки настоящият списък с песни" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3082,8 +3032,7 @@ msgstr "Зареждане на файлове/URL адреси, заместв #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Влизане" @@ -3091,15 +3040,11 @@ msgstr "Влизане" msgid "Login failed" msgstr "Влизането не успя" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Излизане" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Long term prediction profile (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Любима" @@ -3180,7 +3125,7 @@ msgstr "Main profile (MAIN)" msgid "Make it so!" msgstr "Направи го така!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Нека бъде!" @@ -3226,10 +3171,6 @@ msgstr "Съвпадане всеки термин за търсене (И)" msgid "Match one or more search terms (OR)" msgstr "Съвпадане на един или повече терминала за търсене (ИЛИ)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Максимум на резултати от глобално търсене" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Максимален битов поток" @@ -3260,6 +3201,10 @@ msgstr "Минимален битов поток" msgid "Minimum buffer fill" msgstr "Минимално запълване на буфера" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Липсват готови настройки за проектМ" @@ -3280,7 +3225,7 @@ msgstr "Моно възпроизвеждане" msgid "Months" msgstr "Месеца" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Статус" @@ -3293,10 +3238,6 @@ msgstr "Стил на лентата по настроение" msgid "Moodbars" msgstr "Ленти по настроение" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Още" - #: library/library.cpp:84 msgid "Most played" msgstr "Най-пускани" @@ -3314,7 +3255,7 @@ msgstr "Точки за монтиране" msgid "Move down" msgstr "Преместване надолу" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Преместване в библиотека..." @@ -3323,8 +3264,7 @@ msgstr "Преместване в библиотека..." msgid "Move up" msgstr "Преместване нагоре" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Музика" @@ -3333,22 +3273,10 @@ msgid "Music Library" msgstr "Музикална Библиотека" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Без звук" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Мои Албуми" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Моята музика" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Моите Препоръки" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3394,7 +3322,7 @@ msgstr "Никога да не се пуска възпроизвежданет msgid "New folder" msgstr "Нова папка" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Нов списък с песни" @@ -3423,7 +3351,7 @@ msgid "Next" msgstr "Следваща" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Следваща песен" @@ -3461,7 +3389,7 @@ msgstr "No short blocks" msgid "None" msgstr "Никаква" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Никоя от избраните песни бяха сподобни да бъдат копирани на устройството" @@ -3510,10 +3438,6 @@ msgstr "Не сте вписан" msgid "Not mounted - double click to mount" msgstr "Не е монтиран - двоен клик за монтиране" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Не намерих нищо" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Тип на известяване" @@ -3595,7 +3519,7 @@ msgstr "Непрозрачност" msgid "Open %1 in browser" msgstr "Отвори %1 в браузъра" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Отваряне на &аудио CD..." @@ -3615,7 +3539,7 @@ msgstr "Отваряне на папка за импортиране на муз msgid "Open device" msgstr "Отворено устройство" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Отваряне на файл..." @@ -3669,7 +3593,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Организиране на Файлове" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Организиране на файлове..." @@ -3681,7 +3605,7 @@ msgstr "Файловете се организират" msgid "Original tags" msgstr "Оригинални етикети" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3749,7 +3673,7 @@ msgstr "Парти" msgid "Password" msgstr "Парола" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Пауза" @@ -3762,7 +3686,7 @@ msgstr "На пауза" msgid "Paused" msgstr "На пауза" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3777,14 +3701,14 @@ msgstr "Пиксел" msgid "Plain sidebar" msgstr "Стандартна странична лента" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Възпроизвеждане" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Брой изпълнения" @@ -3815,7 +3739,7 @@ msgstr "Настройки на плеър" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Списък с песни" @@ -3832,7 +3756,7 @@ msgstr "Настройки на списъка с песни" msgid "Playlist type" msgstr "Тип на списъка с песни" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Списъци с песни" @@ -3873,11 +3797,11 @@ msgstr "Настройка" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Настройки" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Настройки..." @@ -3937,7 +3861,7 @@ msgid "Previous" msgstr "Предишна" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Предишна песен" @@ -3988,16 +3912,16 @@ msgstr "Качество" msgid "Querying device..." msgstr "Заявящо устойство..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Мениджър на опашката" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Пратете избраните песни на опашката" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Прати избрана песен на опашката" @@ -4009,7 +3933,7 @@ msgstr "Радио (еднаква сила на звука за всички п msgid "Rain" msgstr "Дъжд" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Дъжд" @@ -4046,7 +3970,7 @@ msgstr "Задай рейтинг на текущата песен 4 звезд msgid "Rate the current song 5 stars" msgstr "Задай рейтинг на текущата песен 5 звезди" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Рейтинг" @@ -4113,7 +4037,7 @@ msgstr "Премахване" msgid "Remove action" msgstr "Премахване на действието" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Премахни дублиранията от плейлиста" @@ -4121,15 +4045,7 @@ msgstr "Премахни дублиранията от плейлиста" msgid "Remove folder" msgstr "Премахване на папката" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Премахни от Моята музика" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Премахване от отметки" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Премахване от списъка с песни" @@ -4141,7 +4057,7 @@ msgstr "Премахване на списъка с песни" msgid "Remove playlists" msgstr "Премахване на списъци с песни" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Премахни недостъпни песни от плейлиста" @@ -4153,7 +4069,7 @@ msgstr "Преименуване на списъка с песни" msgid "Rename playlist..." msgstr "Преименуване на списъка с песни..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Преномерирай песните в този ред..." @@ -4203,7 +4119,7 @@ msgstr "Ново попълване" msgid "Require authentication code" msgstr "Изискване на код за удостоверение" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Възстановяване" @@ -4244,7 +4160,7 @@ msgstr "Печене" msgid "Rip CD" msgstr "Печене на CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Печене на аудио CD" @@ -4274,8 +4190,9 @@ msgstr "Безопасно премахване на устройството" msgid "Safely remove the device after copying" msgstr "Безопасно премахване на устройството след приключване на копирането" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Дискретизация" @@ -4313,7 +4230,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Запазване на списъка с песни" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Запазване на списъка с песни..." @@ -4353,7 +4270,7 @@ msgstr "Scalable sampling rate profile (SSR)" msgid "Scale size" msgstr "Размер на омащабяването" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Резултат" @@ -4370,12 +4287,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Търсене" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Търсене" @@ -4518,7 +4435,7 @@ msgstr "Подробности за сървъра" msgid "Service offline" msgstr "Услугата е недостъпна" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Задай %1 да е %2\"..." @@ -4527,7 +4444,7 @@ msgstr "Задай %1 да е %2\"..." msgid "Set the volume to percent" msgstr "Ниво на звука - процента" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Избери стойност за всички песни" @@ -4594,7 +4511,7 @@ msgstr "Показване на красиво OSD" msgid "Show above status bar" msgstr "Покажи над status bar-а" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Показвай всички песни" @@ -4614,16 +4531,12 @@ msgstr "Покажи разделители" msgid "Show fullsize..." msgstr "Покажи в пълен размер..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Показване на групи в резултати от глобално търсене" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Покажи във файловия мениджър..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Показване в библиотеката..." @@ -4635,27 +4548,23 @@ msgstr "Показване в смесени изпълнители" msgid "Show moodbar" msgstr "Показване на лента по настроение" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Показвай само дубликати" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Показване само на неотбелязани" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Показване на песента, която свири, на страницата ти" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Покажи подсказвания при търсене" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4691,7 +4600,7 @@ msgstr "Случаен ред на албуми" msgid "Shuffle all" msgstr "Случаен ред на изпълнение на всички" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Разбъркване на списъка с песни" @@ -4727,7 +4636,7 @@ msgstr "Ска" msgid "Skip backwards in playlist" msgstr "Прескачане назад в списъка с песни" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Презключи броя" @@ -4735,11 +4644,11 @@ msgstr "Презключи броя" msgid "Skip forwards in playlist" msgstr "Прескачане напред в списъка с песни" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Прескачане на избраните песни" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Прескачане на песента" @@ -4771,7 +4680,7 @@ msgstr "Лек рок" msgid "Song Information" msgstr "Информация за песен" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Информация за песен" @@ -4807,7 +4716,7 @@ msgstr "Сортиране" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Източник" @@ -4882,7 +4791,7 @@ msgid "Starting..." msgstr "Стартиране..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Спиране" @@ -4898,7 +4807,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Спри след тази песен" @@ -4927,6 +4836,10 @@ msgstr "Спрян" msgid "Stream" msgstr "Поток" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5036,6 +4949,10 @@ msgstr "Обложката на албума на текущо звучащат msgid "The directory %1 is not valid" msgstr "Директорията \"%1\" не е валидна" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Втората стойност трябва да е по-голяма от първата!" @@ -5054,7 +4971,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Пробния период на Subsonic сървъра изтече. Моля дайте дарение за да получите ключ за лиценз. Посетете subsonic.org за подробности." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5096,7 +5013,7 @@ msgid "" "continue?" msgstr "Тези файлове ще бъдат изтрити от устройството,сигурни ли сте че искате да продължите?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5180,7 +5097,7 @@ msgstr "Този тип устройство не е подържано:%1" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5199,11 +5116,11 @@ msgstr "Вкл./Изкл. на красиво екранно меню" msgid "Toggle fullscreen" msgstr "Превключване на пълен екран" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Покажи статус на опашката" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Включаване на скроблинга" @@ -5243,7 +5160,7 @@ msgstr "Общ брой направени мрежови заявки" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Песен" @@ -5252,7 +5169,7 @@ msgstr "Песен" msgid "Tracks" msgstr "Песни" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Прекодирай музиката" @@ -5289,6 +5206,10 @@ msgstr "Изключване" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL-и" @@ -5314,9 +5235,9 @@ msgstr "Неуспешно сваляне %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Непознат" @@ -5333,11 +5254,11 @@ msgstr "Неизвестна грешка" msgid "Unset cover" msgstr "Махни обложката" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Не прескачай избраните песни" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Не прескачай песента" @@ -5350,15 +5271,11 @@ msgstr "Премахване абонамент" msgid "Upcoming Concerts" msgstr "Наближаващи концерти" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Обновяване" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Обнови всички подкасти" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Обнови папките с промени в библиотеката" @@ -5468,7 +5385,7 @@ msgstr "Използване на нормализация на звука" msgid "Used" msgstr "Използван" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Потребителски интерфейс" @@ -5494,7 +5411,7 @@ msgid "Variable bit rate" msgstr "Променлив битов поток" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Сборни формации" @@ -5507,11 +5424,15 @@ msgstr "Версия %1" msgid "View" msgstr "Изглед" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Режим \"Визуализация\"" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Визуализации" @@ -5519,10 +5440,6 @@ msgstr "Визуализации" msgid "Visualizations Settings" msgstr "Настройки на визуализациите" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Засичане на глас" @@ -5545,10 +5462,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Стена" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Предупреди ме, преди да се затвори подпрозорец със списък от песни" @@ -5651,7 +5564,7 @@ msgid "" "well?" msgstr "Искате ли да преместим другите песни от този албум в Различни изпълнители?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Искате ли да изпълните пълно повторно сканиране сега?" @@ -5667,7 +5580,7 @@ msgstr "Запиши метадата" msgid "Wrong username or password." msgstr "Грешно потребителско име или парола." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/bn.po b/src/translations/bn.po index 57bd99a1d..9fc353969 100644 --- a/src/translations/bn.po +++ b/src/translations/bn.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Bengali (http://www.transifex.com/davidsansome/clementine/language/bn/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -65,11 +65,6 @@ msgstr " সেকেন্ড" msgid " songs" msgstr " গান" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 টি গান)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -101,7 +96,7 @@ msgstr "%2 এ %1" msgid "%1 playlists (%2)" msgstr "%1 প্লে লিস্ট (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 সিলেক্ট অফ" @@ -126,7 +121,7 @@ msgstr "%1 গান পাওয়া গেছে" msgid "%1 songs found (showing %2)" msgstr "%1 গান পাওয়া গেছে ( দৃশ্যমান %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 ট্রাকস" @@ -186,7 +181,7 @@ msgstr "&সেন্টার" msgid "&Custom" msgstr "&কাস্টম" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&অতিরিক্ত" @@ -194,7 +189,7 @@ msgstr "&অতিরিক্ত" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&সহায়িকা" @@ -219,7 +214,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "" @@ -227,15 +222,15 @@ msgstr "" msgid "&None" msgstr "কিছু &নয়" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "প্রস্থান করো" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -243,7 +238,7 @@ msgstr "" msgid "&Right" msgstr "ডানদিকে (&ড)" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -251,7 +246,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "& সামঞ্জস্য পূর্ণ প্রসারণ - উইন্ডো অনুপাতে" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&সরঞ্জামসমূহ" @@ -287,7 +282,7 @@ msgstr "" msgid "1 day" msgstr "১ দিন" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "১টি ট্র্যাক" @@ -431,11 +426,11 @@ msgstr "" msgid "About %1" msgstr "%1-এর সম্বন্ধে" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "ক্লেমেন্টাইন সন্মন্ধে" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "কিউ টি সন্মন্ধে" @@ -445,7 +440,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "অ্যাকাউন্ট সন্মন্ধে" @@ -499,19 +494,19 @@ msgstr "অন্য এক্ টি সঙ্গীত যোগ করুন" msgid "Add directory..." msgstr "ডাইরেকট রি যোগ করুন" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "ফাইল যোগ করুন" @@ -519,12 +514,12 @@ msgstr "ফাইল যোগ করুন" msgid "Add files to transcode" msgstr "অনুবাদ এর জন্য ফাইল যোগ করুন" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "ফোল্ডার যোগ করুন" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "ফোল্ডার যুক্ত করুন..." @@ -536,7 +531,7 @@ msgstr "এক টি নতুন ফোল্ডার যোগ করুন" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -604,10 +599,6 @@ msgstr "অস্রুতসঙ্গীত এর সংখ্যা" msgid "Add song title tag" msgstr "সঙ্গীত টাইটল ট্যাগ যুক্ত করুন" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "সঙ্গীত এর ট্র্যাক ট্যাগ যুক্ত করুন" @@ -616,18 +607,10 @@ msgstr "সঙ্গীত এর ট্র্যাক ট্যাগ যু msgid "Add song year tag" msgstr "সঙ্গীত এর প্রকাশ কাল ট্যাগ যুক্ত করুন" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "সঙ্গীত এর ধারা যুক্ত করুন" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -636,14 +619,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "অন্য প্লে লিস্ট যুক্ত করুন" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "প্লে লিস্ট যোগ করুন" @@ -653,10 +632,6 @@ msgstr "প্লে লিস্ট যোগ করুন" msgid "Add to the queue" msgstr "সঙ্গীত ধারাবাহিকতায় যুক্ত করুন" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "উইমোটেডেভ সংযুক্ত করুন" @@ -694,7 +669,7 @@ msgstr "" msgid "After copying..." msgstr "কপি হওয়ার পর" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -707,7 +682,7 @@ msgstr "অ্যালবাম" msgid "Album (ideal loudness for all tracks)" msgstr "অ্যালবাম (পরিচ্ছন্ন আওয়াজ সমস্ত সঙ্গীত এর জন্য)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -722,10 +697,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "জামেন্দ.কম এর অ্যালবাম তথ্য..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "অ্যালবাম কভার" @@ -738,11 +709,11 @@ msgstr "কভারবিহীন অ্যালবাম" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "সব ফাইল (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -867,7 +838,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -876,7 +847,7 @@ msgstr "" msgid "Artist" msgstr "শিল্পী" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "শিল্পী সম্পকিত তথ্য" @@ -947,7 +918,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "বিপিএম" @@ -1004,7 +975,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1057,7 +1029,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1081,19 +1053,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1102,12 +1061,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1146,6 +1099,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1154,19 +1111,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1212,13 +1165,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1351,24 +1304,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1399,15 +1348,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1441,16 +1386,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1474,20 +1419,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1509,6 +1450,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1535,7 +1485,7 @@ msgstr "আউটপুট ফাইল %1 খোলা যায়নি" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "প্রচ্ছদ সংগঠক" @@ -1621,11 +1571,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1653,7 +1603,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1676,7 +1626,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1684,7 +1634,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1709,11 +1659,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1742,11 +1696,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1793,7 +1747,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1814,7 +1768,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1985,12 +1939,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2003,7 +1957,7 @@ msgid "Edit track information" msgstr "গানের তথ্য পরিবর্তন" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "গানের তথ্য পরিবর্তন..." @@ -2023,10 +1977,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2111,7 +2061,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2124,8 +2074,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2145,6 +2095,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2265,7 +2220,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2344,27 +2299,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2374,7 +2325,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2386,10 +2337,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2458,6 +2405,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2494,7 +2442,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2502,7 +2450,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2535,11 +2483,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2593,7 +2541,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2783,11 +2731,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2804,6 +2752,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2860,7 +2812,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2884,7 +2836,7 @@ msgstr "উইন্ডো বন্ধ করা হলেও পেছনে msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2925,7 +2877,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2966,12 +2918,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "দৈর্ঘ্য" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2980,7 +2932,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3020,7 +2972,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3056,8 +3008,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3066,7 +3017,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3076,8 +3026,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3085,15 +3034,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3174,7 +3119,7 @@ msgstr "" msgid "Make it so!" msgstr "তাই হোক!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3220,10 +3165,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3254,6 +3195,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3274,7 +3219,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3287,10 +3232,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3308,7 +3249,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3317,8 +3258,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "সঙ্গীত" @@ -3327,22 +3267,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "আমার সংগীত" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3388,7 +3316,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3417,7 +3345,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3455,7 +3383,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3504,10 +3432,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3589,7 +3513,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3609,7 +3533,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3663,7 +3587,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3675,7 +3599,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3743,7 +3667,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3756,7 +3680,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3771,14 +3695,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3809,7 +3733,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3826,7 +3750,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3867,11 +3791,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "পছন্দসমূহ" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "পছন্দসমূহ..." @@ -3931,7 +3855,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3982,16 +3906,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "ক্রম সংগঠক" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4003,7 +3927,7 @@ msgstr "" msgid "Rain" msgstr "বৃষ্টি" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4040,7 +3964,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4107,7 +4031,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4115,15 +4039,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "আমার সংগীত থেকে মুছে ফেলুন" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4135,7 +4051,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4147,7 +4063,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4197,7 +4113,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4238,7 +4154,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4268,8 +4184,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4307,7 +4224,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4347,7 +4264,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4364,12 +4281,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4512,7 +4429,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4521,7 +4438,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4588,7 +4505,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4608,16 +4525,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4629,27 +4542,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4685,7 +4594,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4721,7 +4630,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4729,11 +4638,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4765,7 +4674,7 @@ msgstr "" msgid "Song Information" msgstr "গানের তথ্য" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "গানের তথ্য" @@ -4801,7 +4710,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "উৎস" @@ -4876,7 +4785,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4892,7 +4801,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4921,6 +4830,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5030,6 +4943,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5048,7 +4965,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5090,7 +5007,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5174,7 +5091,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5193,11 +5110,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5237,7 +5154,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5246,7 +5163,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5283,6 +5200,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5308,9 +5229,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5327,11 +5248,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5344,15 +5265,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5462,7 +5379,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5488,7 +5405,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5501,11 +5418,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5513,10 +5434,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5539,10 +5456,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5645,7 +5558,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5661,7 +5574,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/br.po b/src/translations/br.po index ccf58d7ec..02bfc03f6 100644 --- a/src/translations/br.po +++ b/src/translations/br.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-25 18:06+0000\n" -"Last-Translator: YMDS\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Breton (http://www.transifex.com/davidsansome/clementine/language/br/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -70,11 +70,6 @@ msgstr " eilenn" msgid " songs" msgstr " ton" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 a donioù)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -106,7 +101,7 @@ msgstr "%1 war %2" msgid "%1 playlists (%2)" msgstr "%1 roll seniñ (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 diuzet eus" @@ -131,7 +126,7 @@ msgstr "%1 a donioù kavet" msgid "%1 songs found (showing %2)" msgstr "%1 a donioù kavet (%2 diskouezet)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 a roudoù" @@ -191,7 +186,7 @@ msgstr "E K&reiz" msgid "&Custom" msgstr "&Personelaat" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Ouzhpenn" @@ -199,7 +194,7 @@ msgstr "&Ouzhpenn" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Skoazell" @@ -224,7 +219,7 @@ msgstr "Notenn &prennañ" msgid "&Lyrics" msgstr "&Komzoù" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Sonerezh" @@ -232,15 +227,15 @@ msgstr "&Sonerezh" msgid "&None" msgstr "&Hini ebet" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Roll Seniñ" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Kuitaat" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Doare &adlenn" @@ -248,7 +243,7 @@ msgstr "Doare &adlenn" msgid "&Right" msgstr "&Dehou" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Doare &meskañ" @@ -256,7 +251,7 @@ msgstr "Doare &meskañ" msgid "&Stretch columns to fit window" msgstr "&Astenn ar bannoù evit klotañ gant ar prenestr" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Ostilhoù" @@ -292,7 +287,7 @@ msgstr "0px" msgid "1 day" msgstr "1 devezh" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 ton" @@ -436,11 +431,11 @@ msgstr "Dilezel" msgid "About %1" msgstr "A-zivout %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "A-zivout Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "A-zivout Qt..." @@ -450,7 +445,7 @@ msgid "Absolute" msgstr "Absolut" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Titouroù ar gont" @@ -504,19 +499,19 @@ msgstr "Ouzhpennañ ul lanv all..." msgid "Add directory..." msgstr "Ouzhpennañ un teuliad..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Ouzhpennañ ur restr" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Ouzhpennañ ur restr d'an treuzkemmer" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Ouzhpennañ ur restr pe muioc'h d'an treuzkemmer" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Ouzhpennañ ur restr..." @@ -524,12 +519,12 @@ msgstr "Ouzhpennañ ur restr..." msgid "Add files to transcode" msgstr "Ouzhpennañ restroù da" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Ouzhpennañ un teuliad" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Ouzhpennañ un teuliad..." @@ -541,7 +536,7 @@ msgstr "Ouzhpennañ un teuliad nevez..." msgid "Add podcast" msgstr "Ouzhpennañ ar podkast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Ouzhpennañ ur podkast..." @@ -609,10 +604,6 @@ msgstr "Ouzhpennañ an niver a wech ma 'z eo bet lammet an ton" msgid "Add song title tag" msgstr "Ouzhpennañ klav titl an ton" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Ouzhpennañ an ton d'ar grubuilh" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Ouzhpennañ klav niverenn an ton" @@ -621,18 +612,10 @@ msgstr "Ouzhpennañ klav niverenn an ton" msgid "Add song year tag" msgstr "Ouzhpennañ klav bloavezh an ton" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Ouzhpennañ tonioù da \"Ma sonerezh\" p'eo kliket ar bouton \"Karout\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Ouzhpennan ul lanv..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Ouzhpennañ d'am sonerezh" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Ouzhpennañ d'am rolloù-seniñ Spotify" @@ -641,14 +624,10 @@ msgstr "Ouzhpennañ d'am rolloù-seniñ Spotify" msgid "Add to Spotify starred" msgstr "Ouzhpennañ da tonioù karetañ Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Ouzhpennañ d'ur roll seniñ all" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Ouzhpennañ d'ar merkoù-pajenn" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Ouzhpennañ d'ar roll seniñ" @@ -658,10 +637,6 @@ msgstr "Ouzhpennañ d'ar roll seniñ" msgid "Add to the queue" msgstr "Ouzhpennañ d'al listenn c'hortoz" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Ouzhpennañ an implijer/strollad d'ar merkoù-pajenn" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Ouzhpennañ oberadennoù wiimotedev" @@ -699,7 +674,7 @@ msgstr "Goude " msgid "After copying..." msgstr "Goude an eiladur..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -712,7 +687,7 @@ msgstr "Albom" msgid "Album (ideal loudness for all tracks)" msgstr "Albom (Ampled peurvat evit an holl roud)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -727,10 +702,6 @@ msgstr "Golo Albom" msgid "Album info on jamendo.com..." msgstr "Titouroù an albom war jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albomoù" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albomoù gant ur golo" @@ -743,11 +714,11 @@ msgstr "Albomoù hep golo" msgid "All" msgstr "Pep tra" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Holl restroù (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "All Glory to the Hypnotoad!" @@ -872,7 +843,7 @@ msgid "" "the songs of your library?" msgstr "Ha sur oc'h da gaout c'hoant enrollañ an stadegoù an ton e-barzh restr an ton evit kement ton en ho sonaoueg ?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -881,7 +852,7 @@ msgstr "Ha sur oc'h da gaout c'hoant enrollañ an stadegoù an ton e-barzh restr msgid "Artist" msgstr "Arzour" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Arzour" @@ -952,7 +923,7 @@ msgstr "Ment keidennek ar skeudenn" msgid "BBC Podcasts" msgstr "Podkastoù BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1009,7 +980,8 @@ msgstr "Gwell" msgid "Biography" msgstr "Buhezskrid" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Fonnder" @@ -1062,7 +1034,7 @@ msgstr "Furchal..." msgid "Buffer duration" msgstr "Padelezh ar stoker" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "O lakaat er memor skurzer" @@ -1086,19 +1058,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Kemer e kont ar CUE sheet" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Hent ar c'hrubuilh :" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Krubulhiñ" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Krubuilhiñ %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Nullañ" @@ -1107,12 +1066,6 @@ msgstr "Nullañ" msgid "Cancel download" msgstr "Nullañ ar pellgargadur" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Ezhomm 'z eus eus ar c'haptcha.\nKlaskit kennaskañ dre Vk.com gant ho merdeer evit renkañ ar gudenn." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Kemmañ golo an albom" @@ -1151,6 +1104,10 @@ msgid "" "songs" msgstr "Cheñchamantoù an doare lenn mono a vo gweredekaet evit an tonioù a zeu." +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Klask pennadoù nevez" @@ -1159,19 +1116,15 @@ msgstr "Klask pennadoù nevez" msgid "Check for updates" msgstr "Gwiriekaat an hizivadennoù" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Klask hizivadurioù..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Dibab doser krubuilh Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Choazit un anv evit ho roll seniñ spredek" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Choaz ent emgefreek" @@ -1217,13 +1170,13 @@ msgstr "O naetaat" msgid "Clear" msgstr "Goullonderiñ" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Skarzhañ ar roll seniñ" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1356,24 +1309,20 @@ msgstr "Livioù" msgid "Comma separated list of class:level, level is 0-3" msgstr "Listenn dispartiet gant ur virgulenn eus klas:live, live etre 0 ha 3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Evezhiadenn" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Skingomz ar gumunelezh " - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Leuniañ ar c'hlavioù ent emgefreek" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Leuniañ ar c'hlavioù ent emgefreek..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1404,15 +1353,11 @@ msgstr "Kefluniañ Spotify" msgid "Configure Subsonic..." msgstr "Kefluniañ Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Keflunian Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Kefluniañ an enklsak hollek..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Kefluniañ ar sonaoueg..." @@ -1446,16 +1391,16 @@ msgid "" "http://localhost:4040/" msgstr "Kennask nac'het gant an dafariad, gwiriekait URL an dafariad. Skouer : http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Ar c'hennask a lak re a amzer, gwiriekait URL an dafariad. Skouer : http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Kudennoù kennaskañ pe diweredekaet eo bet ar son gant an implijer" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Letrin" @@ -1479,20 +1424,16 @@ msgstr "Treuzkemm ar restroù son lossless a-raok kas anezhe d'ar pellurzhier." msgid "Convert lossless files" msgstr "Treuzkemm ar restroù lossless" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopiañ an url kenrannañ er golver" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopiañ d'ar golver" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopiañ war an drobarzhell" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Eilañ er sonaoueg..." @@ -1514,6 +1455,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Dibosubl eo krouiñ an elfenn GStreamer \"%1\" - gwiriekait ez eo staliet an enlugadelloù GStreamer diavaez" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "N'eus ket bet tu krouiñ ar roll-seniñ" @@ -1540,7 +1490,7 @@ msgstr "Dibosubl eo digeriñ ar restr ec'hankañ %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Merour ar godeligoù" @@ -1626,11 +1576,11 @@ msgid "" "recover your database" msgstr "Stlennvon kontronet dinoet. Lennit https://github.com/clementine-player/Clementine/wiki/Database-Corruption evit kaout titouroù a-benn atoriñ ho stlennvon" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Deizad krouadur" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Deizad kemmadur" @@ -1658,7 +1608,7 @@ msgstr "Digreskiñ an ampled" msgid "Default background image" msgstr "Skeudenn drekleur dre ziouer" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Trobarzhell dre ziouer war %1" @@ -1681,7 +1631,7 @@ msgid "Delete downloaded data" msgstr "Diverkañ ar roadennoù pellgarget" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Diverkañ restroù" @@ -1689,7 +1639,7 @@ msgstr "Diverkañ restroù" msgid "Delete from device..." msgstr "Diverkañ eus an drobarzhell" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Diverkañ eus ar bladenn" @@ -1714,11 +1664,15 @@ msgstr "Diverkañ ar restroù orin" msgid "Deleting files" msgstr "O tiverkañ restroù" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Dilemel ar roudoù diuzet diwar al listenn c'hortoz" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Dilemel ar roud-mañ diwar al listenn c'hortoz" @@ -1747,11 +1701,11 @@ msgstr "Anv an drobarzhell" msgid "Device properties..." msgstr "Oerzhioù an drobarzhell..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Trevnadoù" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Kendiviz" @@ -1798,7 +1752,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Diwederakaet" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1819,7 +1773,7 @@ msgstr "Dibarzhioù ar skrammañ" msgid "Display the on-screen-display" msgstr "Diskouez ar roll war ar skramm" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Ober un adc'hwilervadur eus ar sonaoueg a-bezh" @@ -1990,12 +1944,12 @@ msgstr "Meskaj dargouezhek dialuskel" msgid "Edit smart playlist..." msgstr "Kemmañ ar roll seniñ speredek..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Cheñch an tag \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Cheñch ar c'hlav..." @@ -2008,7 +1962,7 @@ msgid "Edit track information" msgstr "Cheñch deskrivadur ar roud" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Cheñch deskrivadur ar roud..." @@ -2028,10 +1982,6 @@ msgstr "Postel" msgid "Enable Wii Remote support" msgstr "Aktivañ Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Gweredekaat ar c'hrubuilh emgefreek" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Aktivañ ar c'hevataler" @@ -2116,7 +2066,7 @@ msgstr "Lakait an IP-mañ er poellad evit kennaskañ da Clementine" msgid "Entire collection" msgstr "Dastumadeg hollek" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Kevataler" @@ -2129,8 +2079,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Kenkoulz a --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Fazi" @@ -2150,6 +2100,11 @@ msgstr "Ur gudenn a zo savet e-kerzh kopiadur an tonioù" msgid "Error deleting songs" msgstr "Ur gudenn a zo savet e-kerzh dilamidigezh an tonioù" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Ur gudenn a zo savet o pellgargañ enlugellad Spotify" @@ -2270,7 +2225,7 @@ msgstr "Arveuz" msgid "Fading duration" msgstr "Padelezh an arveuz" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Kudenn en ul lenn ar CD" @@ -2349,27 +2304,23 @@ msgstr "Askouzehadenn ar restr" msgid "File formats" msgstr "Mentrezhoù restroù" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Anv ar restr" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Anv ar restr (hep an hent)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Patrom anv ar restr :" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Treugoù ar restr" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Ment ar restr" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2379,7 +2330,7 @@ msgstr "Stumm ar restr" msgid "Filename" msgstr "Anv ar restr" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Restroù" @@ -2391,10 +2342,6 @@ msgstr "Restroù da treuzkemmañ" msgid "Find songs in your library that match the criteria you specify." msgstr "Kavout an tonioù e-barzh ho sonaoueg a glot gant an dezverkoù bet meneget ganeoc'h." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Kavout an arzour-mañ" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "O genel ar roud audio" @@ -2463,6 +2410,7 @@ msgid "Form" msgstr "Form" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Mentrezh" @@ -2499,7 +2447,7 @@ msgstr "Full Treble" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Hollek" @@ -2507,7 +2455,7 @@ msgstr "Hollek" msgid "General settings" msgstr "Arventennoù hollek" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2540,11 +2488,11 @@ msgstr "Reiñ un anv:" msgid "Go" msgstr "Go" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Mont d'ar roll seniñ o tont" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Mont d'ar roll seniñ a-raok" @@ -2598,7 +2546,7 @@ msgstr "Strollañ dre Zoare/Albom" msgid "Group by Genre/Artist/Album" msgstr "Strollañ dre Zoare/Arzour/Albom" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2788,11 +2736,11 @@ msgstr "Staliaet" msgid "Integrity check" msgstr "O gwiriañ an anterinder" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Pourchaserien internet" @@ -2809,6 +2757,10 @@ msgstr "Roudennoù digeriñ" msgid "Invalid API key" msgstr "Alc'hwez API didalvoudek" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Mentrezh didalvoudek" @@ -2865,7 +2817,7 @@ msgstr "Stlennvon Jamendo" msgid "Jump to previous song right away" msgstr "Lammat diouzhtu d'an ton a-raok" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Mont d'ar roud lennet bremañ" @@ -2889,7 +2841,7 @@ msgstr "Leuskel da dreiñ pa 'z eo serret ar prenstr" msgid "Keep the original files" msgstr "Dec'hel ar restroù orin" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Bisig" @@ -2930,7 +2882,7 @@ msgstr "Barenn gostez ledan" msgid "Last played" msgstr "Selaouet e ziwezhañ" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Sonet e ziwezhañ" @@ -2971,12 +2923,12 @@ msgstr "Roudoù an nebeutañ plijet" msgid "Left" msgstr "Kleiz" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Padelezh" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Sonaoueg" @@ -2985,7 +2937,7 @@ msgstr "Sonaoueg" msgid "Library advanced grouping" msgstr "Strolladur ar sonaoueg kempleshoc'h" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Kemenn hizivadur ar sonaoueg" @@ -3025,7 +2977,7 @@ msgstr "Kargañ ar golo adalek ur bladenn..." msgid "Load playlist" msgstr "Kargañ ar roll seniñ" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Kargañ ar roll seniñ..." @@ -3061,8 +3013,7 @@ msgstr "O kargañ titouroù ar roud" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "O kargañ..." @@ -3071,7 +3022,6 @@ msgstr "O kargañ..." msgid "Loads files/URLs, replacing current playlist" msgstr "Kargañ restroù pe liammoù internet, hag eilec'hiañ ar roll seniñ" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3081,8 +3031,7 @@ msgstr "Kargañ restroù pe liammoù internet, hag eilec'hiañ ar roll seniñ" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Kennaskañ" @@ -3090,15 +3039,11 @@ msgstr "Kennaskañ" msgid "Login failed" msgstr "C'hwitet eo bet ar c'hennaskañ" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Digennaksañ" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Aelad Diougan Padus (ADP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Karout" @@ -3179,7 +3124,7 @@ msgstr "Aelad pennañ (MAIN)" msgid "Make it so!" msgstr "Ober evel-se !" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Gra an dra-mañ !" @@ -3225,10 +3170,6 @@ msgstr "Implij an holl gerioù enklsask (HA)" msgid "Match one or more search terms (OR)" msgstr "Implij unan pe meur a gerioù enklask (PE)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maks an disoc'hoù enklask hollek" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Fonnder uhelañ" @@ -3259,6 +3200,10 @@ msgstr "Fonnder izelañ" msgid "Minimum buffer fill" msgstr "Leuniadur minimum ar skurzer" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Ragarventennoù projectM a vank" @@ -3279,7 +3224,7 @@ msgstr "Lenn e mono" msgid "Months" msgstr "Mizioù" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Imor" @@ -3292,10 +3237,6 @@ msgstr "Doare ar varenn imor" msgid "Moodbars" msgstr "Barenn imor" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Muioc'h" - #: library/library.cpp:84 msgid "Most played" msgstr "Lennet an aliesañ" @@ -3313,7 +3254,7 @@ msgstr "Poentoù staliañ" msgid "Move down" msgstr "Dindan" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Dilec'hiañ davet ar sonaoueg..." @@ -3322,8 +3263,7 @@ msgstr "Dilec'hiañ davet ar sonaoueg..." msgid "Move up" msgstr "A-us" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Sonerezh" @@ -3332,22 +3272,10 @@ msgid "Music Library" msgstr "Sonaoueg" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Mut" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Va albomoù" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Ma Sonerezh" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Ma erbedadennoù" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3393,7 +3321,7 @@ msgstr "Morse kregiñ da lenn" msgid "New folder" msgstr "Teuliad nevez" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Roll seniñ nevez" @@ -3422,7 +3350,7 @@ msgid "Next" msgstr "Da-heul" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Roud o tont" @@ -3460,7 +3388,7 @@ msgstr "Bloc'h berr ebet" msgid "None" msgstr "Hini ebet" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Ton ebet eus ar reoù diuzet a oa mat evit bezañ kopiet war an drobarzhell" @@ -3509,10 +3437,6 @@ msgstr "N'eo ket kennasket" msgid "Not mounted - double click to mount" msgstr "N'est ket savet - daouglikañ evit sevel" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "N'eo bet kavet netra" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Doare kemenn" @@ -3594,7 +3518,7 @@ msgstr "Demerez" msgid "Open %1 in browser" msgstr "Digeriñ %1 er merdeer" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Lenn ur CD &audio" @@ -3614,7 +3538,7 @@ msgstr "Digeriñ ur c'havlec'h evit enporzhiañ ar sonerezh dioutañ" msgid "Open device" msgstr "Digeriñ an drobarzhell" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Digeriñ ur restr..." @@ -3668,7 +3592,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Aozañ ar restroù" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Aozañ ar restroù..." @@ -3680,7 +3604,7 @@ msgstr "Oc'h aozañ ar restroù" msgid "Original tags" msgstr "Klavioù orin" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3748,7 +3672,7 @@ msgstr "Fest" msgid "Password" msgstr "Ger-tremen" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Ehan" @@ -3761,7 +3685,7 @@ msgstr "Ehan al lenn" msgid "Paused" msgstr "Ehanet" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3776,14 +3700,14 @@ msgstr "Piksel" msgid "Plain sidebar" msgstr "Bareen gostez simpl" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Lenn" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Konter selaouadennoù" @@ -3814,7 +3738,7 @@ msgstr "Dibarzhioù al lenner" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Roll seniñ" @@ -3831,7 +3755,7 @@ msgstr "Dibarzhioù ar roll seniñ" msgid "Playlist type" msgstr "Doare ar roll seniñ" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Rolloù seniñ" @@ -3872,11 +3796,11 @@ msgstr "Gwellvezioù" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Gwellvezioù" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Gwellvezioù..." @@ -3936,7 +3860,7 @@ msgid "Previous" msgstr "A-raok" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Roud a-raok" @@ -3987,16 +3911,16 @@ msgstr "Perzhded" msgid "Querying device..." msgstr "Goulennadeg trobarzhell" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Merour listenn c'hortoz" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Lakaat ar roudoù da heul" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Lakaat ar roud da heul" @@ -4008,7 +3932,7 @@ msgstr "Skingomz (Ampled kevatal evit an holl roudoù)" msgid "Rain" msgstr "Glav" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Glav" @@ -4045,7 +3969,7 @@ msgstr "Lakaat 4 steredenn evit an ton lennet" msgid "Rate the current song 5 stars" msgstr "Lakaat 5 steredenn evit an ton lennet" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Notenn" @@ -4112,7 +4036,7 @@ msgstr "Tennañ" msgid "Remove action" msgstr "Tennañ an oberiadenn" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Tennañ an tonioù doubl eus ar roll seniñ" @@ -4120,15 +4044,7 @@ msgstr "Tennañ an tonioù doubl eus ar roll seniñ" msgid "Remove folder" msgstr "Tennañ an teuliad" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Tennañ eus va sonerezh" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Tennañ eus va merkoù-pajenn" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Tennañ kuit eus ar roll seniñ" @@ -4140,7 +4056,7 @@ msgstr "Tennañ ar roll seniñ" msgid "Remove playlists" msgstr "Tennañ ar rolloù seniñ" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Tennañ an tonioù dihegerz eus ar roll-seniñ" @@ -4152,7 +4068,7 @@ msgstr "Adenvel ar roll seniñ" msgid "Rename playlist..." msgstr "Adenvel ar roll seniñ..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Adniverenniñ ar roudoù en urzh-mañ..." @@ -4202,7 +4118,7 @@ msgstr "Adpoblañ" msgid "Require authentication code" msgstr "Ezhomm 'zo eus ur c'hod kennaskañ" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Adderaouiñ" @@ -4243,7 +4159,7 @@ msgstr "Eztennañ" msgid "Rip CD" msgstr "Eztennañ ar bladenn" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Eztennañ ar bladenn aodio" @@ -4273,8 +4189,9 @@ msgstr "Tennañ an drobarzhell diarvar" msgid "Safely remove the device after copying" msgstr "Tennañ an drobarzhell diarvar goude an eilañ" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Standilhonañ" @@ -4312,7 +4229,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Enrollañ ar roll seniñ" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Enrollañ ar roll seniñ..." @@ -4352,7 +4269,7 @@ msgstr "Aelad ar feur standilhonañ (SSR)" msgid "Scale size" msgstr "Cheñch ar ment" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Poentoù" @@ -4369,12 +4286,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Klask" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Klask" @@ -4517,7 +4434,7 @@ msgstr "Munudoù an dafariad" msgid "Service offline" msgstr "Servij ezlinenn" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Termeniñ %1 d'an talvoud %2..." @@ -4526,7 +4443,7 @@ msgstr "Termeniñ %1 d'an talvoud %2..." msgid "Set the volume to percent" msgstr "Termeniñ an ampled da dre gant" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Lakaat un talvoud evit an holll roudoù diuzet" @@ -4593,7 +4510,7 @@ msgstr "Diskouez un OSD brav" msgid "Show above status bar" msgstr "Diskouez a-us d'ar varenn stad" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Diskouez an holl tonioù" @@ -4613,16 +4530,12 @@ msgstr "Diskouez an dispartierien" msgid "Show fullsize..." msgstr "Diskouez er ment gwirion..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Diskouez ar strolladoù e disoc'hoù an enklask hollek" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Diskouez er merdeer retroù" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Diskouez er sonaoueg" @@ -4634,27 +4547,23 @@ msgstr "Diskouez e \"Arzourien Liesseurt\"" msgid "Show moodbar" msgstr "Diskouez ar varenn imor" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Diskouez an doublennoù nemetken" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Diskouez an tonioù hep klav nemetken" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Diskouez an ton o vezañ lennet war ho bajenn" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Diskouez alioù enklask." -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4690,7 +4599,7 @@ msgstr "Meskañ an albomoù" msgid "Shuffle all" msgstr "Meskañ an holl" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Meskañ ar roll seniñ" @@ -4726,7 +4635,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Mont a-drek er roll seniñ" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Konter tonioù lammet" @@ -4734,11 +4643,11 @@ msgstr "Konter tonioù lammet" msgid "Skip forwards in playlist" msgstr "Mont dirak er roll seniñ" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Tremen ar roudoù diuzet" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Tremen ar roud" @@ -4770,7 +4679,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Titouroù an ton" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Ton" @@ -4806,7 +4715,7 @@ msgstr "Urzhiañ" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Mammenn" @@ -4881,7 +4790,7 @@ msgid "Starting..." msgstr "O kregiñ..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Paouez" @@ -4897,7 +4806,7 @@ msgstr "Paouez goude pep roudenn" msgid "Stop after every track" msgstr "Paouez goude pep roudenn" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Paouez goude ar roud-mañ" @@ -4926,6 +4835,10 @@ msgstr "Paouezet" msgid "Stream" msgstr "Lanv" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5035,6 +4948,10 @@ msgstr "Golo an albom o vezañ lennet" msgid "The directory %1 is not valid" msgstr "An teuliad %1 a zo direizh" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "An eil talvoud a rank bezañ uheloc'h eget an hini kentañ" @@ -5053,7 +4970,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Ar mare amprouiñ evit an dafariad Subsonic a zo echuet. Roit arc'hant evit kaout un alc'hwez lañvaz mar plij. Kit war subsonic.org evit ar munudoù." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5095,7 +5012,7 @@ msgid "" "continue?" msgstr "Ar restroù-mañ a vo diverket eus an drobarzhell, sur oc'h da gaout c'hoant kenderc'hel ?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5179,7 +5096,7 @@ msgstr "An doare trobarzhell-mañ n'eo ket meret :%1" msgid "Time step" msgstr "Paz amzer" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5198,11 +5115,11 @@ msgstr "Gweredekaat/Diweredekaat an OSD brav" msgid "Toggle fullscreen" msgstr "Tremen e skramm leun" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Cheñch stad al listenn c'hortoz" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Cheñch ar scrobbling" @@ -5242,7 +5159,7 @@ msgstr "Niver a atersadennoù rouedad" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Roud" @@ -5251,7 +5168,7 @@ msgstr "Roud" msgid "Tracks" msgstr "Roudoù" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Treuzkodañ Sonerezh" @@ -5288,6 +5205,10 @@ msgstr "Lazhañ" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(où)" @@ -5313,9 +5234,9 @@ msgstr "N'eus ket tu pellgargañ %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Dianav" @@ -5332,11 +5253,11 @@ msgstr "Kudenn dianav" msgid "Unset cover" msgstr "Ar golo n'eo ket bet lakaet" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Nullañ tremen ar roudoù diuzet" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Nullañ tremen ar roud" @@ -5349,15 +5270,11 @@ msgstr "Digoumanantiñ" msgid "Upcoming Concerts" msgstr "Sonadegoù o-tont" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Hizivaat" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Hizivaat ar podkastoù" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Hizivaat teuliadoù kemmet ar sonaoueg" @@ -5467,7 +5384,7 @@ msgstr "Implij normalizadur an ampled" msgid "Used" msgstr "Implijet" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Etrefas implijer" @@ -5493,7 +5410,7 @@ msgid "Variable bit rate" msgstr "Fonnder kemmus" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Arzourien Liesseurt" @@ -5506,11 +5423,15 @@ msgstr "Handelv %1" msgid "View" msgstr "Gwelout" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Doare heweladur" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Heweladurioù" @@ -5518,10 +5439,6 @@ msgstr "Heweladurioù" msgid "Visualizations Settings" msgstr "Arventennoù heweladurioù" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Dinoer aktivelezh mouezh" @@ -5544,10 +5461,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Moger" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Gervel ac'hanon pa vez serret un ivinell roll seniñ" @@ -5650,7 +5563,7 @@ msgid "" "well?" msgstr "Ha c'hoant ho peus lakaat tonioù all an albom-mañ e Arzourien Liesseurt ?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "C'hoant ho peus d'ober ur c'hwilervadenn eus al levraoueg bremañ ?" @@ -5666,7 +5579,7 @@ msgstr "Skrivañ ar meta-roadennoù" msgid "Wrong username or password." msgstr "Anv-implijer pe ger-tremen fall." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/bs.po b/src/translations/bs.po index 7ce15d060..d120c1b27 100644 --- a/src/translations/bs.po +++ b/src/translations/bs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Bosnian (http://www.transifex.com/davidsansome/clementine/language/bs/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,11 +63,6 @@ msgstr " sekundi" msgid " songs" msgstr " pjesama" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -99,7 +94,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "%1 popisa pjesama (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 označeno od" @@ -124,7 +119,7 @@ msgstr "%1 pjesama pronađeno" msgid "%1 songs found (showing %2)" msgstr "%1 pjesama pronađeno (prikazano %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 pjesama" @@ -184,7 +179,7 @@ msgstr "&Sredina" msgid "&Custom" msgstr "&Vlastito" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -192,7 +187,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Pomoć" @@ -217,7 +212,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "" @@ -225,15 +220,15 @@ msgstr "" msgid "&None" msgstr "&Nijedan" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Izlaz" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -241,7 +236,7 @@ msgstr "" msgid "&Right" msgstr "&Desno" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -249,7 +244,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "&Razvuci red da odgovara veličini prozora" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "" @@ -285,7 +280,7 @@ msgstr "" msgid "1 day" msgstr "1 dan" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 pjesma" @@ -429,11 +424,11 @@ msgstr "" msgid "About %1" msgstr "O %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "O Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "O Qt-u..." @@ -443,7 +438,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Detalji o nalogu" @@ -497,19 +492,19 @@ msgstr "Dodaj još jedan tok..." msgid "Add directory..." msgstr "Dodaj fasciklu..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Dodaj datoteku..." @@ -517,12 +512,12 @@ msgstr "Dodaj datoteku..." msgid "Add files to transcode" msgstr "Dodaj datoteke za pretvorbu" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Dodaj fasciklu" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Dodaj fasciklu..." @@ -534,7 +529,7 @@ msgstr "Dodaj novu fasciklu..." msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -602,10 +597,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -614,18 +605,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Dodaj tok..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -634,14 +617,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Dodaj drugoj listi pjesama" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Dodaj u listu pjesama" @@ -651,10 +630,6 @@ msgstr "Dodaj u listu pjesama" msgid "Add to the queue" msgstr "Dodaj na listu čekanja" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Dodaj wiimotedev akciju" @@ -692,7 +667,7 @@ msgstr "" msgid "After copying..." msgstr "Poslije kopiranja..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -705,7 +680,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (idealna jačina za sve pjesme)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -720,10 +695,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "Informacije o albumu na jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumi sa omotom" @@ -736,11 +707,11 @@ msgstr "Albumi bez omota" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Sve datoteke (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -865,7 +836,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -874,7 +845,7 @@ msgstr "" msgid "Artist" msgstr "Izvođač" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Informacije o izvođaču" @@ -945,7 +916,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1002,7 +973,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Protok bitova" @@ -1055,7 +1027,7 @@ msgstr "Pretraži..." msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1079,19 +1051,6 @@ msgstr "" msgid "CUE sheet support" msgstr "CUE lista podrška" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1100,12 +1059,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Promjeni omot" @@ -1144,6 +1097,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1152,19 +1109,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Provjeri za nadogradnje..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Izaberite ime za svoju pametnu listu pjesama" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Izaberi automatski" @@ -1210,13 +1163,13 @@ msgstr "" msgid "Clear" msgstr "Čisto" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Isprazni listu pjesama" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1349,24 +1302,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Komentar" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Automatski završi oznake" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Automatski završi oznake..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1397,15 +1346,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Podesi biblioteku..." @@ -1439,16 +1384,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1472,20 +1417,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopiraj na uređaj..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopiraj u biblioteku..." @@ -1507,6 +1448,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Nije moguće napraviti GStreamer element \"%1\" - provjerite da li imate sve potrebne GStreamer dodatke instalirane." +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1533,7 +1483,7 @@ msgstr "Nemoguće otvoriti izlaznu datoteku %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Menadžer omota" @@ -1619,11 +1569,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Datum stvaranja" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Datum izmjenje" @@ -1651,7 +1601,7 @@ msgstr "Smanji glasnost" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1674,7 +1624,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Obriši datoteke" @@ -1682,7 +1632,7 @@ msgstr "Obriši datoteke" msgid "Delete from device..." msgstr "Obriši sa uređaja" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Obriši sa diska..." @@ -1707,11 +1657,15 @@ msgstr "Obriši orginalne datoteke" msgid "Deleting files" msgstr "Brišem datoteke" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Makni sa liste čekanja označene pjesme" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Makni sa liste čekanja označenu pjesmu" @@ -1740,11 +1694,11 @@ msgstr "Ime uređaja" msgid "Device properties..." msgstr "Osobine uređaja..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Uređaji" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1791,7 +1745,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1812,7 +1766,7 @@ msgstr "Opcije prikazivanje" msgid "Display the on-screen-display" msgstr "Prikaži prikaz na ekranu" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Uradi ponovni pregled biblioteke" @@ -1983,12 +1937,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2001,7 +1955,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2021,10 +1975,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2109,7 +2059,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2122,8 +2072,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2143,6 +2093,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2263,7 +2218,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2342,27 +2297,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2372,7 +2323,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2384,10 +2335,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2456,6 +2403,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2492,7 +2440,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2500,7 +2448,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2533,11 +2481,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2591,7 +2539,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2781,11 +2729,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2802,6 +2750,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2858,7 +2810,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2882,7 +2834,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2923,7 +2875,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2964,12 +2916,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2978,7 +2930,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3018,7 +2970,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3054,8 +3006,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3064,7 +3015,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3074,8 +3024,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3083,15 +3032,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3172,7 +3117,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3218,10 +3163,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3252,6 +3193,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3272,7 +3217,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3285,10 +3230,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3306,7 +3247,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3315,8 +3256,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3325,22 +3265,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3386,7 +3314,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3415,7 +3343,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3453,7 +3381,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3502,10 +3430,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3587,7 +3511,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3607,7 +3531,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3661,7 +3585,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3673,7 +3597,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3741,7 +3665,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3754,7 +3678,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3769,14 +3693,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3807,7 +3731,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3824,7 +3748,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3865,11 +3789,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3929,7 +3853,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3980,16 +3904,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4001,7 +3925,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4038,7 +3962,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4105,7 +4029,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4113,15 +4037,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4133,7 +4049,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4145,7 +4061,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4195,7 +4111,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4236,7 +4152,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4266,8 +4182,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4305,7 +4222,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4345,7 +4262,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4362,12 +4279,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4510,7 +4427,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4519,7 +4436,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4586,7 +4503,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4606,16 +4523,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4627,27 +4540,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4683,7 +4592,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4719,7 +4628,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4727,11 +4636,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4763,7 +4672,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4799,7 +4708,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4874,7 +4783,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4890,7 +4799,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4919,6 +4828,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5028,6 +4941,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5046,7 +4963,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5088,7 +5005,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5172,7 +5089,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5191,11 +5108,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5235,7 +5152,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5244,7 +5161,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5281,6 +5198,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5306,9 +5227,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5325,11 +5246,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5342,15 +5263,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5460,7 +5377,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5486,7 +5403,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5499,11 +5416,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5511,10 +5432,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5537,10 +5454,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5643,7 +5556,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5659,7 +5572,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/ca.po b/src/translations/ca.po index 38b5f79fb..010cf885f 100644 --- a/src/translations/ca.po +++ b/src/translations/ca.po @@ -16,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-19 19:15+0000\n" -"Last-Translator: Juanjo\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Catalan (http://www.transifex.com/davidsansome/clementine/language/ca/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -72,11 +72,6 @@ msgstr " segons" msgid " songs" msgstr " cançons" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 cançons)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -108,7 +103,7 @@ msgstr "%1 a %2" msgid "%1 playlists (%2)" msgstr "%1 llistes de reproducció (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 seleccionades de" @@ -133,7 +128,7 @@ msgstr "%1 cançons trobades" msgid "%1 songs found (showing %2)" msgstr "%1 cançons trobades (mostrant %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 peces" @@ -193,7 +188,7 @@ msgstr "&Centre" msgid "&Custom" msgstr "&Personalitzades" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "E&xtres" @@ -201,7 +196,7 @@ msgstr "E&xtres" msgid "&Grouping" msgstr "A&grupament" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Ajuda" @@ -226,7 +221,7 @@ msgstr "&Bloca la valoració" msgid "&Lyrics" msgstr "&Lletres" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Música" @@ -234,15 +229,15 @@ msgstr "&Música" msgid "&None" msgstr "&Cap" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Llista de reproducció" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Surt" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Mode de repetició" @@ -250,7 +245,7 @@ msgstr "Mode de repetició" msgid "&Right" msgstr "&Dreta" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Mode de mescla aleatòria" @@ -258,7 +253,7 @@ msgstr "Mode de mescla aleatòria" msgid "&Stretch columns to fit window" msgstr "&Encabeix les columnes a la finestra" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Eines" @@ -294,7 +289,7 @@ msgstr "0px" msgid "1 day" msgstr "1 dia" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 peça" @@ -438,11 +433,11 @@ msgstr "Interromp" msgid "About %1" msgstr "Quant al %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Quant al Clementine…" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Quant al Qt…" @@ -452,7 +447,7 @@ msgid "Absolute" msgstr "Absoluts" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Detalls del compte" @@ -506,19 +501,19 @@ msgstr "Afegeix un altre flux…" msgid "Add directory..." msgstr "Afegeix un directori…" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Afegeix un fitxer" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Afegeix un fitxer al convertidor" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Afegeix fitxer(s) al convertidor" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Afegeix un fitxer…" @@ -526,12 +521,12 @@ msgstr "Afegeix un fitxer…" msgid "Add files to transcode" msgstr "Afegeix fitxers per convertir-los" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Afegeix una carpeta" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Afegeix una carpeta…" @@ -543,7 +538,7 @@ msgstr "Afegeix una carpeta nova…" msgid "Add podcast" msgstr "Afegeix un podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Afegeix un podcast…" @@ -611,10 +606,6 @@ msgstr "Afegeix comptador de passades de cançó" msgid "Add song title tag" msgstr "Afegeix l’etiqueta de títol a la cançó" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Afegeix la cançó a la memòria cau" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Afegeix l’etiqueta de número de peça a la cançó" @@ -623,18 +614,10 @@ msgstr "Afegeix l’etiqueta de número de peça a la cançó" msgid "Add song year tag" msgstr "Afegeix l’etiqueta d’any a la cançó" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Afegeix cançons a La meva música en fer clic a «M’encanta»" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Afegeix un flux…" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Afegeix a La meva música" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Afegeix a les llistes de l’Spotify" @@ -643,14 +626,10 @@ msgstr "Afegeix a les llistes de l’Spotify" msgid "Add to Spotify starred" msgstr "Afegeix a les destacades de l’Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Afegeix a una altra llista de reproducció" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Afegeix als preferits" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Afegeix a la llista de reproducció" @@ -660,10 +639,6 @@ msgstr "Afegeix a la llista de reproducció" msgid "Add to the queue" msgstr "Afegeix a la cua" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Afegeix l’usuari/grup als preferits" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Afegeix una acció del Wiimotedev" @@ -701,7 +676,7 @@ msgstr "Després de" msgid "After copying..." msgstr "Després de copiar…" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -714,7 +689,7 @@ msgstr "Àlbum" msgid "Album (ideal loudness for all tracks)" msgstr "Àlbum (volum ideal per a totes les peces)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -729,10 +704,6 @@ msgstr "Caràtula de l’àlbum" msgid "Album info on jamendo.com..." msgstr "Informació de l’àlbum a jamendo.com…" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Àlbums" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Àlbums amb caràtules" @@ -745,11 +716,11 @@ msgstr "Àlbums sense caràtules" msgid "All" msgstr "Tot" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Tots els fitxers (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Lloem l’hipnogripau!" @@ -874,7 +845,7 @@ msgid "" "the songs of your library?" msgstr "Esteu segur que voleu escriure les estadístiques de les cançons en tots els fitxers de la vostra col·lecció?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -883,7 +854,7 @@ msgstr "Esteu segur que voleu escriure les estadístiques de les cançons en tot msgid "Artist" msgstr "Artista" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Inf.artista" @@ -954,7 +925,7 @@ msgstr "Mida d’imatge mitjà" msgid "BBC Podcasts" msgstr "Podcasts de la BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "PPM" @@ -1011,7 +982,8 @@ msgstr "Millor" msgid "Biography" msgstr "Biografia" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Taxa de bits" @@ -1064,7 +1036,7 @@ msgstr "Explora…" msgid "Buffer duration" msgstr "Durada de la memòria intermèdia" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Emplenant la memòria intermèdia" @@ -1088,19 +1060,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Compatibilitat amb fulles CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Ubicació de la memòria cau:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Emmagatzemant a la memòria cau" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Emmagatzemant %1 a la memòria cau" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Cancel·la" @@ -1109,12 +1068,6 @@ msgstr "Cancel·la" msgid "Cancel download" msgstr "Cancel·la la baixada" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Cal emplenar el «captcha».\nProveu d’iniciar la sessió en el Vk.com des del navegador per corregir el problema." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Canvia la caràtula" @@ -1153,6 +1106,10 @@ msgid "" "songs" msgstr "El canvi en el paràmetre de reproducció monofònic serà efectiu per a les següents cançons en reproducció" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Comprova si hi ha nous episodis" @@ -1161,19 +1118,15 @@ msgstr "Comprova si hi ha nous episodis" msgid "Check for updates" msgstr "Comprova si hi ha actualitzacions" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Comprova si hi ha actualitzacions…" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Trieu la carpeta de memòria cau del Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Trieu un nom per a la llista de reproducció intel·ligent" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Tria automàticament" @@ -1219,13 +1172,13 @@ msgstr "S’està netejant" msgid "Clear" msgstr "Neteja" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Neteja la llista de reproducció" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1358,24 +1311,20 @@ msgstr "Colors" msgid "Comma separated list of class:level, level is 0-3" msgstr "Llista separada per comes de classe:nivell, el nivell és 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Comentari" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Ràdio de la comunitat" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Completa les etiquetes automàticament" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Completa les etiquetes automàticament…" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1406,15 +1355,11 @@ msgstr "Configura l’Spotify…" msgid "Configure Subsonic..." msgstr "Configura Subsonic…" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Configura Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Configura la cerca global…" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Configura la col·lecció…" @@ -1448,16 +1393,16 @@ msgid "" "http://localhost:4040/" msgstr "El servidor ha rebutjat la connexió, comproveu l’URL del servidor. Exemple: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "S’ha esgotat el temps d’espera de la connexió, comproveu l’URL del servidor. Exemple: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Hi ha un problema en la connexió o el propietari ha inhabilitat l’àudio" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Terminal" @@ -1481,20 +1426,16 @@ msgstr "Converteix els fitxers sense pèrdues abans d’enviar-los al comandamen msgid "Convert lossless files" msgstr "Converteix els fitxers sense pèrdues" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Copia l’URL per compartir en el porta-retalls" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Copia al porta-retalls" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Copia al dispositiu…" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Copia a la col·lecció…" @@ -1516,6 +1457,15 @@ msgid "" "required GStreamer plugins installed" msgstr "No s’ha pogut crear l’element «%1» de GStreamer. Comproveu que teniu tots els connectors requerits de GStramer instal·lats" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "No s’ha pogut crear la llista de reproducció" @@ -1542,7 +1492,7 @@ msgstr "No s’ha pogut obrir el fitxer de sortida %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Gestor de caràtules" @@ -1628,11 +1578,11 @@ msgid "" "recover your database" msgstr "S’ha detectat un dany en la base de dades. Consulteu https://github.com/clementine-player/Clementine/wiki/Database-Corruption per obtenir instruccions de recuperació" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Data de creació" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Data de modificació" @@ -1660,7 +1610,7 @@ msgstr "Redueix el volum" msgid "Default background image" msgstr "Imatge de fons per defecte" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Dispositiu per defecte a %1" @@ -1683,7 +1633,7 @@ msgid "Delete downloaded data" msgstr "Suprimeix les dades baixades" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Suprimeix els fitxers" @@ -1691,7 +1641,7 @@ msgstr "Suprimeix els fitxers" msgid "Delete from device..." msgstr "Suprimeix del dispositiu…" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Suprimeix del disc…" @@ -1716,11 +1666,15 @@ msgstr "Suprimeix els fitxers originals" msgid "Deleting files" msgstr "S’estan suprimint els fitxers" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Treu de la cua les peces seleccionades" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Treu de la cua la peça" @@ -1749,11 +1703,11 @@ msgstr "Nom de dispositiu" msgid "Device properties..." msgstr "Propietats del dispositiu…" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Dispositius" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Diàleg" @@ -1800,7 +1754,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Inhabilitat" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1821,7 +1775,7 @@ msgstr "Opcions de visualització" msgid "Display the on-screen-display" msgstr "Mostrar la indicació-a-pantalla" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Analitza tota la col·lecció de nou" @@ -1992,12 +1946,12 @@ msgstr "Mescla dinàmica aleatòria" msgid "Edit smart playlist..." msgstr "Edita la llista de reproducció intel·ligent" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Edita l’etiqueta «%1»…" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Edita l’etiqueta…" @@ -2010,7 +1964,7 @@ msgid "Edit track information" msgstr "Edita la informació de la peça" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Edita la informació de la peça…" @@ -2030,10 +1984,6 @@ msgstr "Adreça electrònica" msgid "Enable Wii Remote support" msgstr "Habilita el comandament a distància del Wii" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Habilita l’emmagatzematge automàtic en memòria cau" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Habilita l’equalitzador" @@ -2118,7 +2068,7 @@ msgstr "Escriviu aquesta IP en l’aplicació per connectar amb Clementine." msgid "Entire collection" msgstr "Tota la col·lecció" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Equalitzador" @@ -2131,8 +2081,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Equivalent a --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Error" @@ -2152,6 +2102,11 @@ msgstr "S’ha produït un error en copiar les cançons" msgid "Error deleting songs" msgstr "S’ha produït un error en suprimir les cançons" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "S’ha produït un error en baixar el connector d’Spotify" @@ -2272,7 +2227,7 @@ msgstr "Esvaïment" msgid "Fading duration" msgstr "Durada de l’esvaïment" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Ha fallat la lectura de la unitat de CD" @@ -2351,27 +2306,23 @@ msgstr "Extensió del fitxer" msgid "File formats" msgstr "Format dels fitxers" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nom del fitxer" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Nom del fitxer (sense camí)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Patró del nom del fitxer:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Camins dels fitxers" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Mida del fitxer" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2381,7 +2332,7 @@ msgstr "Tipus de fitxer" msgid "Filename" msgstr "Nom de fitxer" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Fitxers" @@ -2393,10 +2344,6 @@ msgstr "Fitxers per convertir" msgid "Find songs in your library that match the criteria you specify." msgstr "Troba cançons en la vostra col·lecció que coincideixen amb el criteri especificat." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Troba a aquest artista" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "S’està identificant la cançó" @@ -2465,6 +2412,7 @@ msgid "Form" msgstr "Formulari" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2501,7 +2449,7 @@ msgstr "Aguts complets" msgid "Ge&nre" msgstr "Gè&nere" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "General" @@ -2509,7 +2457,7 @@ msgstr "General" msgid "General settings" msgstr "Configuració general" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2542,11 +2490,11 @@ msgstr "Doneu-li un nom:" msgid "Go" msgstr "Vés-hi" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Vés a la pestanya de la següent llista de reproducció" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Vés a la pestanya de l'anterior llista de reproducció" @@ -2600,7 +2548,7 @@ msgstr "Agrupa per gènere/àlbum" msgid "Group by Genre/Artist/Album" msgstr "Agrupa per gènere/artista/àlbum" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2790,11 +2738,11 @@ msgstr "Instal·lat" msgid "Integrity check" msgstr "Comprovació d’integritat" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Proveïdors d’Internet" @@ -2811,6 +2759,10 @@ msgstr "Peces d’introducció" msgid "Invalid API key" msgstr "La clau de l’API no és vàlida" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "El format no és vàlid" @@ -2867,7 +2819,7 @@ msgstr "Base de dades del Jamendo" msgid "Jump to previous song right away" msgstr "Vés a la peça anterior" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Vés a la peça que s’està reproduïnt" @@ -2891,7 +2843,7 @@ msgstr "Conserva l’aplicació executant-se en segon pla quan tanqueu la finest msgid "Keep the original files" msgstr "Conserva els fitxers originals" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Gatets" @@ -2932,7 +2884,7 @@ msgstr "Barra lateral gran" msgid "Last played" msgstr "Reproduïdes l’última vegada" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Darrera reproducció" @@ -2973,12 +2925,12 @@ msgstr "Cançons menys preferides" msgid "Left" msgstr "Esquerra" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Durada" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Col·lecció" @@ -2987,7 +2939,7 @@ msgstr "Col·lecció" msgid "Library advanced grouping" msgstr "Agrupació avançada de la col·lecció" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Avís de reescaneig de la col·lecció" @@ -3027,7 +2979,7 @@ msgstr "Carrega la caràtula des del disc…" msgid "Load playlist" msgstr "Carrega la llista de reproducció" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Carrega la llista de reproducció..." @@ -3063,8 +3015,7 @@ msgstr "S’està carregant la informació de les peces" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "S’està carregant…" @@ -3073,7 +3024,6 @@ msgstr "S’està carregant…" msgid "Loads files/URLs, replacing current playlist" msgstr "Carregar fitxers/URLs, substituïnt l'actual llista de reproducció" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3083,8 +3033,7 @@ msgstr "Carregar fitxers/URLs, substituïnt l'actual llista de reproducció" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Entra" @@ -3092,15 +3041,11 @@ msgstr "Entra" msgid "Login failed" msgstr "Ha fallat l'inici de sessió" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Finalitza la sessió" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Perfil de predicció a llarg termini (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "M’encanta" @@ -3181,7 +3126,7 @@ msgstr "Perfil principal (MAIN)" msgid "Make it so!" msgstr "Fes-ho doncs!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Fes-ho doncs!" @@ -3227,10 +3172,6 @@ msgstr "Tots els termes de cerca han de coincidir (AND)" msgid "Match one or more search terms (OR)" msgstr "Un o més termes de cerca han de coincidir (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Resultats globals de cerca màxims" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Màxima taxa de bits" @@ -3261,6 +3202,10 @@ msgstr "Taxa de bits mínima" msgid "Minimum buffer fill" msgstr "Valor mínim de memòria" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Falten les predefinicions del projectM" @@ -3281,7 +3226,7 @@ msgstr "Reproducció monofònica" msgid "Months" msgstr "Mesos" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Estat d’ànim" @@ -3294,10 +3239,6 @@ msgstr "Estil de barres d’ànim" msgid "Moodbars" msgstr "Barres d’ànim" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Més" - #: library/library.cpp:84 msgid "Most played" msgstr "Més reproduïdes" @@ -3315,7 +3256,7 @@ msgstr "Punts de muntatge" msgid "Move down" msgstr "Mou cap avall" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Mou a la col·lecció…" @@ -3324,8 +3265,7 @@ msgstr "Mou a la col·lecció…" msgid "Move up" msgstr "Mou cap amunt" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Música" @@ -3334,22 +3274,10 @@ msgid "Music Library" msgstr "Col·lecció de música" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Silenci" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Els meus àlbums" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "La meva música" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Les meves recomanacions" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3395,7 +3323,7 @@ msgstr "Mai comencis a reproduir" msgid "New folder" msgstr "Carpeta nova" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Llista de reproducció nova" @@ -3424,7 +3352,7 @@ msgid "Next" msgstr "Següent" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Peça següent" @@ -3462,7 +3390,7 @@ msgstr "No utilitzis blocs curs" msgid "None" msgstr "Cap" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Cap de les cançons seleccionades són adequades per copiar-les a un dispositiu" @@ -3511,10 +3439,6 @@ msgstr "No heu iniciat la sessió" msgid "Not mounted - double click to mount" msgstr "No s’ha muntat. Feu doble clic per muntar-ho" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "No s’ha trobat cap resultat" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Tipus de notificació" @@ -3596,7 +3520,7 @@ msgstr "Opacitat" msgid "Open %1 in browser" msgstr "Obre %1 en un navegador" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Obre un &CD d’àudio…" @@ -3616,7 +3540,7 @@ msgstr "Obriu una carpeta des d’on s’importarà la música" msgid "Open device" msgstr "Obrir dispositiu" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Obre un fitxer..." @@ -3670,7 +3594,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organitza fitxers" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organitza fitxers..." @@ -3682,7 +3606,7 @@ msgstr "Organitzant fitxers" msgid "Original tags" msgstr "Etiquetes originals" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3750,7 +3674,7 @@ msgstr "Festa" msgid "Password" msgstr "Contrasenya" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pausa" @@ -3763,7 +3687,7 @@ msgstr "Pausa la reproducció" msgid "Paused" msgstr "En pausa" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3778,14 +3702,14 @@ msgstr "Píxel" msgid "Plain sidebar" msgstr "Barra lateral senzilla" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Reprodueix" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Comptador de reproduccions" @@ -3816,7 +3740,7 @@ msgstr "Opcions del reproductor" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Llista de reproducció" @@ -3833,7 +3757,7 @@ msgstr "Opcions de la llista de reproducció" msgid "Playlist type" msgstr "Tipus de llista de reproducció" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Llistes" @@ -3874,11 +3798,11 @@ msgstr "Preferència" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Preferències" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Preferències…" @@ -3938,7 +3862,7 @@ msgid "Previous" msgstr "Anterior" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Peça anterior" @@ -3989,16 +3913,16 @@ msgstr "Qualitat" msgid "Querying device..." msgstr "S’està consultant el dispositiu…" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Gestor de la cua" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Afegeix les peces seleccionades a la cua" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Afegeix la peça a la cua" @@ -4010,7 +3934,7 @@ msgstr "Ràdio (mateix volum per a totes les peces)" msgid "Rain" msgstr "Pluja" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Pluja" @@ -4047,7 +3971,7 @@ msgstr "Puntua la cançó actual amb 4 estrelles" msgid "Rate the current song 5 stars" msgstr "Puntua la cançó actual amb 5 estrelles" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Puntuació" @@ -4114,7 +4038,7 @@ msgstr "Suprimeix" msgid "Remove action" msgstr "Elimina l’acció" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Esborra els duplicats de la llista de reproducció" @@ -4122,15 +4046,7 @@ msgstr "Esborra els duplicats de la llista de reproducció" msgid "Remove folder" msgstr "Suprimeix carpeta" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Esborra-ho de La meva música" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Suprimeix dels preferits" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Suprimeix de la llista de reproducció" @@ -4142,7 +4058,7 @@ msgstr "Esborra la llista de reproducció" msgid "Remove playlists" msgstr "Suprimeix llistes de reproducció" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Elimina les peces no disponibles de la llista de reproducció" @@ -4154,7 +4070,7 @@ msgstr "Renombra de la llista de reproducció" msgid "Rename playlist..." msgstr "Renombra de la llista de reproducció..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Posa els números de les peces en aquest ordre..." @@ -4204,7 +4120,7 @@ msgstr "Reomple" msgid "Require authentication code" msgstr "Sol·licita un codi d’autenticació" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Posa a zero" @@ -4245,7 +4161,7 @@ msgstr "Captura" msgid "Rip CD" msgstr "Captura un CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Captura CD d’àudio" @@ -4275,8 +4191,9 @@ msgstr "Treure el dispositiu amb seguretat" msgid "Safely remove the device after copying" msgstr "Treure el dispositiu amb seguretat després de copiar" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Freqüència de mostreig" @@ -4314,7 +4231,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Desa la llista de reproducció" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Desa la llista de reproducció..." @@ -4354,7 +4271,7 @@ msgstr "Perfil de freqüència de mostreig escalable (SSR)" msgid "Scale size" msgstr "Mida de l’escala" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Puntuació" @@ -4371,12 +4288,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Cerca" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Cerca" @@ -4519,7 +4436,7 @@ msgstr "Detalls del servidor" msgid "Service offline" msgstr "Servei fora de línia" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Estableix %1 a «%2»…" @@ -4528,7 +4445,7 @@ msgstr "Estableix %1 a «%2»…" msgid "Set the volume to percent" msgstr "Estableix el volum al percent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Estableix valor per a totes les peces seleccionades…" @@ -4595,7 +4512,7 @@ msgstr "Mostra un OSD bonic" msgid "Show above status bar" msgstr "Mostra sota la barra d'estat" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Mostra totes les cançons" @@ -4615,16 +4532,12 @@ msgstr "Mostra els separadors" msgid "Show fullsize..." msgstr "Mostra a mida completa..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Mostra grups en els resultats de la cerca global" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Mostra al gestor de fitxers" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Mostra a la col·lecció…" @@ -4636,27 +4549,23 @@ msgstr "Mostra en Artistes diversos" msgid "Show moodbar" msgstr "Mostra les barres d’ànim" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Mostra només els duplicats" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Mostra només les peces sense etiquetar" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Mostra o amaga la barra lateral" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Mostra la cançó en reproducció a la pàgina personal" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Mostra suggeriments de cerca" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Mostra la barra lateral" @@ -4692,7 +4601,7 @@ msgstr "Mescla els àlbums" msgid "Shuffle all" msgstr "Mescla-ho tot" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Mescla la llista de reproducció" @@ -4728,7 +4637,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Salta enrere en la llista de reproducció" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Comptador d’omissions" @@ -4736,11 +4645,11 @@ msgstr "Comptador d’omissions" msgid "Skip forwards in playlist" msgstr "Salta endavant en la llista de reproducció" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Omet les peces seleccionades" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Omet la peça" @@ -4772,7 +4681,7 @@ msgstr "Rock suau" msgid "Song Information" msgstr "Informació de la cançó" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Inf. cançó" @@ -4808,7 +4717,7 @@ msgstr "Ordenació" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Font" @@ -4883,7 +4792,7 @@ msgid "Starting..." msgstr "S’està iniciant…" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Atura" @@ -4899,7 +4808,7 @@ msgstr "Atura després de cada peça" msgid "Stop after every track" msgstr "Atura després de cada peça" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Atura després d’aquesta peça" @@ -4928,6 +4837,10 @@ msgstr "Aturat" msgid "Stream" msgstr "Flux de dades" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5037,6 +4950,10 @@ msgstr "La caràtula de l’àlbum de la cançó en reproducció" msgid "The directory %1 is not valid" msgstr "El directori %1 no es vàlid" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "El segon valor ha de ser major que el primer!" @@ -5055,7 +4972,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Ha acabat el període de prova del servidor de Subsonic. Fareu una donació per obtenir una clau de llicència. Visiteu subsonic.org para més detalls." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5097,7 +5014,7 @@ msgid "" "continue?" msgstr "Se suprimiran aquests fitxers del dispositiu, esteu segur que voleu continuar?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5181,7 +5098,7 @@ msgstr "Aquest tipus de dispositiu no és compatible: %1" msgid "Time step" msgstr "Salt en el temps" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5200,11 +5117,11 @@ msgstr "Activa la visualització per pantalla elegant" msgid "Toggle fullscreen" msgstr "Commuta a pantalla completa" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Commuta l’estat de la cua" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Commuta el «scrobbling»" @@ -5244,7 +5161,7 @@ msgstr "Total de sol·licituds de xarxa fetes" msgid "Trac&k" msgstr "&Peça" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Peça" @@ -5253,7 +5170,7 @@ msgstr "Peça" msgid "Tracks" msgstr "Peces" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Converteix música" @@ -5290,6 +5207,10 @@ msgstr "Atura" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5315,9 +5236,9 @@ msgstr "No es pot baixar %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Desconegut" @@ -5334,11 +5255,11 @@ msgstr "Error desconegut" msgid "Unset cover" msgstr "Esborra’n la caràtula" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "No ometis les peces seleccionades" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "No ometis la peça" @@ -5351,15 +5272,11 @@ msgstr "Canceleu la subscripció" msgid "Upcoming Concerts" msgstr "Propers concerts" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Actualitza" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Actualitza tots els podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Actualitza les carpetes de la col·lecció amb canvis" @@ -5469,7 +5386,7 @@ msgstr "Empra la normalització de volum" msgid "Used" msgstr "Usat" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Interfície d’usuari" @@ -5495,7 +5412,7 @@ msgid "Variable bit rate" msgstr "Taxa de bits variable" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Artistes diversos" @@ -5508,11 +5425,15 @@ msgstr "Versió %1" msgid "View" msgstr "Vista" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Mode de visualització" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualitzacions" @@ -5520,10 +5441,6 @@ msgstr "Visualitzacions" msgid "Visualizations Settings" msgstr "Paràmetres de visualització" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Detecció de veu" @@ -5546,10 +5463,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Mur" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Avisa’m abans de tancar una pestanya de llista de reproducció" @@ -5652,7 +5565,7 @@ msgid "" "well?" msgstr "Voleu moure també les altres cançons d’aquest àlbum a Artistes diversos?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Voleu fer de nou un escaneig complet ara?" @@ -5668,7 +5581,7 @@ msgstr "Escriu les metadades" msgid "Wrong username or password." msgstr "Nom d’usuari o contrasenya incorrectes." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/cs.po b/src/translations/cs.po index adfcac196..0de732304 100644 --- a/src/translations/cs.po +++ b/src/translations/cs.po @@ -11,6 +11,7 @@ # fri, 2013 # Jiří Vírava , 2012 # mandarinki , 2011 +# Miroslav Kucera , 2016 # Pavel Fric , 2010 # Pavel Fric , 2004,2010 # fri, 2011-2012 @@ -20,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Czech (http://www.transifex.com/davidsansome/clementine/language/cs/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -76,11 +77,6 @@ msgstr " sekund" msgid " songs" msgstr " písně" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 písní)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -112,7 +108,7 @@ msgstr "%1 na %2" msgid "%1 playlists (%2)" msgstr "%1 seznamů skladeb (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 vybráno z" @@ -137,7 +133,7 @@ msgstr "Bylo nalezeno %1 písní" msgid "%1 songs found (showing %2)" msgstr "Bylo nalezeno %1 písní (zobrazeno %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 skladeb" @@ -197,7 +193,7 @@ msgstr "&Na střed" msgid "&Custom" msgstr "Vl&astní" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Doplňky" @@ -205,7 +201,7 @@ msgstr "Doplňky" msgid "&Grouping" msgstr "&Seskupení" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Nápo&věda" @@ -230,7 +226,7 @@ msgstr "&Zamknout hodnocení" msgid "&Lyrics" msgstr "&Texty písní" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Hudba" @@ -238,15 +234,15 @@ msgstr "Hudba" msgid "&None" msgstr "Žád&né" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Seznam skladeb" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Ukončit" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Režim opakování" @@ -254,7 +250,7 @@ msgstr "Režim opakování" msgid "&Right" msgstr "&Vpravo" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Režim míchání" @@ -262,7 +258,7 @@ msgstr "Režim míchání" msgid "&Stretch columns to fit window" msgstr "Roztáhnout sloupce tak, aby se vešly do okna" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Nástroje" @@ -298,7 +294,7 @@ msgstr "0 px" msgid "1 day" msgstr "1 den" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 stopa" @@ -442,11 +438,11 @@ msgstr "Přerušit" msgid "About %1" msgstr "O %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "O Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "O Qt..." @@ -456,7 +452,7 @@ msgid "Absolute" msgstr "Absolutní" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Podrobnosti o účtu" @@ -510,19 +506,19 @@ msgstr "Přidat další proud..." msgid "Add directory..." msgstr "Přidat složku..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Přidat soubor" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Přidat soubor k překódování" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Přidat soubor(y) k překódování" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Přidat soubor..." @@ -530,12 +526,12 @@ msgstr "Přidat soubor..." msgid "Add files to transcode" msgstr "Přidat soubory pro překódování" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Přidat složku" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Přidat složku..." @@ -547,7 +543,7 @@ msgstr "Přidat novou složku..." msgid "Add podcast" msgstr "Přidat záznam" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Přidat zvukový záznam..." @@ -615,10 +611,6 @@ msgstr "Přidat počet přeskočení písně" msgid "Add song title tag" msgstr "Přidat značku název písně" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Přidat píseň do vyrovnávací paměti" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Přidat značku pořadí písně" @@ -627,18 +619,10 @@ msgstr "Přidat značku pořadí písně" msgid "Add song year tag" msgstr "Přidat značku rok písně" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Přidat písně do Moje hudba, když je klepnuto na tlačítko Oblíbit" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Přidat proud..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Přidat do Moje hudba" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Přidat do seznamů skladeb Spotify" @@ -647,14 +631,10 @@ msgstr "Přidat do seznamů skladeb Spotify" msgid "Add to Spotify starred" msgstr "Přidat do Spotify s hvězdičkou" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Přidat do jiného seznamu skladeb" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Přidat do záložek" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Přidat do seznamu skladeb" @@ -664,10 +644,6 @@ msgstr "Přidat do seznamu skladeb" msgid "Add to the queue" msgstr "Přidat do řady" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Přidat uživatele/skupinu do záložek" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Přidat činnost wiimotedev" @@ -705,7 +681,7 @@ msgstr "Po " msgid "After copying..." msgstr "Po zkopírování..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -718,7 +694,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (ideální hlasitost pro všechny skladby)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -733,10 +709,6 @@ msgstr "Obal alba" msgid "Album info on jamendo.com..." msgstr "Informace o albu na jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Alba" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Alba s obaly" @@ -749,14 +721,14 @@ msgstr "Alba bez obalů" msgid "All" msgstr "Vše" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Všechny soubory (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" -msgstr "Všechnu slávu hypnožábě!" +msgstr "Sláva hypnožábě!" #: ui/albumcovermanager.cpp:137 msgid "All albums" @@ -878,7 +850,7 @@ msgid "" "the songs of your library?" msgstr "Opravdu chcete ukládat statistiky písní do souboru písně u všech písní ve vaší sbírce?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -887,7 +859,7 @@ msgstr "Opravdu chcete ukládat statistiky písní do souboru písně u všech p msgid "Artist" msgstr "Umělec" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Umělec" @@ -958,7 +930,7 @@ msgstr "Průměrná velikost obrázku" msgid "BBC Podcasts" msgstr "Záznamy BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "ÚZM" @@ -1015,7 +987,8 @@ msgstr "Nejlepší" msgid "Biography" msgstr "Životopis" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Datový tok" @@ -1068,7 +1041,7 @@ msgstr "Procházet…" msgid "Buffer duration" msgstr "Délka vyrovnávací paměti" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Ukládá se do vyrovnávací paměti" @@ -1092,19 +1065,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Podpora pro list CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Cesta k vyrovnávací paměti:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Ukládá se do vyrovnávací paměti" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "%1 se ukládá do vyrovnávací paměti" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Zrušit" @@ -1113,12 +1073,6 @@ msgstr "Zrušit" msgid "Cancel download" msgstr "Zrušit stahování" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Jsou potřeba písmenka a číslice, co se potom musejí opisovat (captcha).\nZkuste se se svým prohlížečem přihlásit k Vk.com, abyste opravili tento problém." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Změnit obal" @@ -1157,6 +1111,10 @@ msgid "" "songs" msgstr "Změna nastavení jednokanálového přehrávání začne platit s dalšími přehrávanými skladbami" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Podívat se po nových dílech" @@ -1165,19 +1123,15 @@ msgstr "Podívat se po nových dílech" msgid "Check for updates" msgstr "Podívat se po aktualizacích" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Zkontrolovat aktualizace" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Vyberte adresář pro vyrovnávací paměť Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Vyberte název pro svůj chytrý seznam skladeb" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Vybrat automaticky" @@ -1223,13 +1177,13 @@ msgstr "Úklid" msgid "Clear" msgstr "Smazat" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Vyprázdnit seznam skladeb" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1362,24 +1316,20 @@ msgstr "Barvy" msgid "Comma separated list of class:level, level is 0-3" msgstr "Čárkou oddělený seznam class:level, level je 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Poznámka" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Společenské rádio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Doplnit značky automaticky" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Doplnit značky automaticky..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1410,15 +1360,11 @@ msgstr "Nastavit Spotify..." msgid "Configure Subsonic..." msgstr "Nastavit Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Nastavit Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Nastavit celkové hledání..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Nastavit sbírku..." @@ -1452,16 +1398,16 @@ msgid "" "http://localhost:4040/" msgstr "Spojení odmítnuto serverem, prověřte adresu serveru (URL). Příklad: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Spojení vypršelo, prověřte adresu serveru (URL). Příklad: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Potíže se spojením nebo je zvuk vlastníkem zakázán" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konzole" @@ -1485,20 +1431,16 @@ msgstr "Převést zvukové soubory v bezztrátovém formátu, před jejich odesl msgid "Convert lossless files" msgstr "Převést soubory v bezztrátovém formátu" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopírovat sdílenou adresu (URL) do schránky" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopírovat do schránky" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Zkopírovat do zařízení..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Zkopírovat do sbírky..." @@ -1520,6 +1462,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Nepodařilo se vytvořit prvek GStreamer \"%1\" - ujistěte se, že máte nainstalovány všechny požadované přídavné moduly GStreamer" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Nepodařilo se vytvořit seznam skladeb" @@ -1546,7 +1497,7 @@ msgstr "Nepodařilo se otevřít výstupní soubor %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Správce obalů" @@ -1632,11 +1583,11 @@ msgid "" "recover your database" msgstr "Zjištěno poškození databáze. Přečtěte si, prosím, https://github.com/clementine-player/Clementine/wiki/Database-Corruption kvůli pokynům, kterak svou databázi obnovit" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Datum vytvoření" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Datum změny" @@ -1664,7 +1615,7 @@ msgstr "Snížit hlasitost" msgid "Default background image" msgstr "Výchozí obrázek na pozadí" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Výchozí zařízení na %1" @@ -1687,7 +1638,7 @@ msgid "Delete downloaded data" msgstr "Smazat stažená data" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Smazat soubory" @@ -1695,7 +1646,7 @@ msgstr "Smazat soubory" msgid "Delete from device..." msgstr "Smazat ze zařízení..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Smazat z disku..." @@ -1720,11 +1671,15 @@ msgstr "Smazat původní soubory" msgid "Deleting files" msgstr "Probíhá mazání souborů" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Odstranit vybrané skladby z řady" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Odstranit skladbu z řady" @@ -1753,11 +1708,11 @@ msgstr "Název zařízení" msgid "Device properties..." msgstr "Vlastnosti zařízení..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Zařízení" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialog" @@ -1804,7 +1759,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Zakázáno" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1825,7 +1780,7 @@ msgstr "Volby zobrazení" msgid "Display the on-screen-display" msgstr "Zobrazovat informace na obrazovce (OSD)" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Znovu kompletně prohledat sbírku" @@ -1996,12 +1951,12 @@ msgstr "Dynamický náhodný výběr" msgid "Edit smart playlist..." msgstr "Upravit chytrý seznam skladeb..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Upravit značku \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Upravit značku..." @@ -2014,7 +1969,7 @@ msgid "Edit track information" msgstr "Upravit informace o skladbě" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Upravit informace o skladbě..." @@ -2034,10 +1989,6 @@ msgstr "E-mail" msgid "Enable Wii Remote support" msgstr "Povolit podporu dálkového ovládání Wii" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Povolit automatické ukládání do vyrovnávací paměti" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Povolit ekvalizér" @@ -2122,7 +2073,7 @@ msgstr "Zadejte tuto adresu IP v programu pro spojení s Clementine." msgid "Entire collection" msgstr "Celá sbírka" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekvalizér" @@ -2135,8 +2086,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Rovnocenné s --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Chyba" @@ -2156,6 +2107,11 @@ msgstr "Chyba při kopírování písní" msgid "Error deleting songs" msgstr "Chyba při mazání písní" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Chyba při stahování přídavného modulu Spotify" @@ -2276,7 +2232,7 @@ msgstr "Slábnutí" msgid "Fading duration" msgstr "Doba slábnutí" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Nepodařilo se číst z CD v mechanice" @@ -2355,27 +2311,23 @@ msgstr "Přípona souboru" msgid "File formats" msgstr "Formáty souborů" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Název souboru" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Název souboru bez cesty" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Vzor pro název souboru:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Souborové cesty" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Velikost souboru" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2385,7 +2337,7 @@ msgstr "Typ souboru" msgid "Filename" msgstr "Název souboru" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Soubory" @@ -2397,10 +2349,6 @@ msgstr "Soubory k překódování" msgid "Find songs in your library that match the criteria you specify." msgstr "Nalézt ve sbírce písně odpovídající vámi zadaným kritériím." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Najít tohoto umělce" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Určení písně" @@ -2469,6 +2417,7 @@ msgid "Form" msgstr "Formulář" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formát" @@ -2505,7 +2454,7 @@ msgstr "Plné výšky" msgid "Ge&nre" msgstr "Žá&nr" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Obecné" @@ -2513,7 +2462,7 @@ msgstr "Obecné" msgid "General settings" msgstr "Obecná nastavení" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2546,11 +2495,11 @@ msgstr "Pojmenujte to:" msgid "Go" msgstr "Jít" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Jít na další kartu seznamu skladeb" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Jít na předchozí kartu seznamu skladeb" @@ -2604,7 +2553,7 @@ msgstr "Seskupovat podle žánru/alba" msgid "Group by Genre/Artist/Album" msgstr "Seskupovat podle žánru/umělce/alba" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2794,11 +2743,11 @@ msgstr "Nainstalován" msgid "Integrity check" msgstr "Ověření celistvosti" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internetoví poskytovatelé" @@ -2815,6 +2764,10 @@ msgstr "Skladby úvodu" msgid "Invalid API key" msgstr "Neplatný klíč API" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Neplatný formát" @@ -2871,7 +2824,7 @@ msgstr "Databáze Jamendo" msgid "Jump to previous song right away" msgstr "Skočit ihned na předchozí píseň" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Skočit na nyní přehrávanou skladbu" @@ -2895,7 +2848,7 @@ msgstr "Při zavření okna nechat běžet na pozadí" msgid "Keep the original files" msgstr "Zachovat původní soubory" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Koťátka" @@ -2936,7 +2889,7 @@ msgstr "Velký postranní panel" msgid "Last played" msgstr "Naposledy hrané" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Naposledy hráno" @@ -2977,12 +2930,12 @@ msgstr "Nejméně oblíbené skladby" msgid "Left" msgstr "Vlevo" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Délka" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Sbírka" @@ -2991,7 +2944,7 @@ msgstr "Sbírka" msgid "Library advanced grouping" msgstr "Pokročilé seskupování sbírky" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Zpráva o prohledání sbírky" @@ -3031,7 +2984,7 @@ msgstr "Nahrát obal na disku..." msgid "Load playlist" msgstr "Nahrát seznam skladeb" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Nahrát seznam skladeb..." @@ -3067,8 +3020,7 @@ msgstr "Nahrávají se informace o skladbě" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Nahrává se..." @@ -3077,7 +3029,6 @@ msgstr "Nahrává se..." msgid "Loads files/URLs, replacing current playlist" msgstr "Nahraje soubory/adresy (URL), nahradí současný seznam skladeb" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3087,8 +3038,7 @@ msgstr "Nahraje soubory/adresy (URL), nahradí současný seznam skladeb" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Přihlášení" @@ -3096,15 +3046,11 @@ msgstr "Přihlášení" msgid "Login failed" msgstr "Přihlášení se nezdařilo" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Odhlásit se" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Dlouhodobý předpověďní profil" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Oblíbit" @@ -3137,7 +3083,7 @@ msgstr "Texty písní z %1" #: songinfo/taglyricsinfoprovider.cpp:29 msgid "Lyrics from the tag" -msgstr "" +msgstr "Text písně ze značky" #: transcoder/transcoder.cpp:235 msgid "M4A AAC" @@ -3183,12 +3129,12 @@ msgstr "Hlavní profil" #: core/backgroundstreams.cpp:52 msgid "Make it so!" -msgstr "Udělej to tak!" +msgstr "Proveďte!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" -msgstr "Udělej to tak!" +msgstr "Proveďte!" #: internet/spotify/spotifyservice.cpp:669 msgid "Make playlist available offline" @@ -3231,10 +3177,6 @@ msgstr "Porovnat všechny hledané výrazy (AND)" msgid "Match one or more search terms (OR)" msgstr "Porovnat jeden nebo více hledaných výrazů (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Nejvíce výsledků celkového hledání" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Nejvyšší datový tok" @@ -3265,6 +3207,10 @@ msgstr "Nejnižší datový tok" msgid "Minimum buffer fill" msgstr "Nejmenší naplnění vyrovnávací paměti" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Chybí přednastavení projectM" @@ -3285,7 +3231,7 @@ msgstr "Jednokanálové přehrávání" msgid "Months" msgstr "Měsíce" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Nálada" @@ -3298,10 +3244,6 @@ msgstr "Styl náladového proužku" msgid "Moodbars" msgstr "Náladové proužky" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Více" - #: library/library.cpp:84 msgid "Most played" msgstr "Nejvíce hráno" @@ -3319,7 +3261,7 @@ msgstr "Přípojné body" msgid "Move down" msgstr "Posunout dolů" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Přesunout do sbírky..." @@ -3328,8 +3270,7 @@ msgstr "Přesunout do sbírky..." msgid "Move up" msgstr "Posunout nahoru" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Hudba" @@ -3338,22 +3279,10 @@ msgid "Music Library" msgstr "Hudební sbírka" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Ztlumit" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Moje alba" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Moje hudba" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Má doporučení" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3399,7 +3328,7 @@ msgstr "Nikdy nezačít přehrávání" msgid "New folder" msgstr "Nová složka" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nový seznam skladeb" @@ -3428,7 +3357,7 @@ msgid "Next" msgstr "Další" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Další skladba" @@ -3466,7 +3395,7 @@ msgstr "Žádné krátké bloky" msgid "None" msgstr "Žádná" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Žádná z vybraných písní nebyla vhodná ke zkopírování do zařízení" @@ -3515,10 +3444,6 @@ msgstr "Nepřihlášen" msgid "Not mounted - double click to mount" msgstr "Nepřipojeno - dvojitým klepnutím připojíte" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nic nebylo nalezeno" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Druh oznámení" @@ -3600,7 +3525,7 @@ msgstr "Neprůhlednost" msgid "Open %1 in browser" msgstr "Otevřít %1 v prohlížeči" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Otevřít &zvukové CD..." @@ -3620,7 +3545,7 @@ msgstr "Otevřít adresář a zavést hudbu v něm" msgid "Open device" msgstr "Otevřít zařízení" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Otevřít soubor" @@ -3674,7 +3599,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Uspořádat soubory" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Uspořádat soubory..." @@ -3686,7 +3611,7 @@ msgstr "Uspořádávají se soubory" msgid "Original tags" msgstr "Původní značky" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3754,7 +3679,7 @@ msgstr "Oslava" msgid "Password" msgstr "Heslo" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pozastavit" @@ -3767,7 +3692,7 @@ msgstr "Pozastavit přehrávání" msgid "Paused" msgstr "Pozastaveno" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3782,14 +3707,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Prostý postranní panel" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Přehrát" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Počet přehrání" @@ -3820,7 +3745,7 @@ msgstr "Nastavení přehrávače" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Seznam skladeb" @@ -3837,7 +3762,7 @@ msgstr "Nastavení seznamu skladeb" msgid "Playlist type" msgstr "Typ seznamu skladeb" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Seznamy" @@ -3878,11 +3803,11 @@ msgstr "Nastavení" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Nastavení" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Nastavení..." @@ -3942,7 +3867,7 @@ msgid "Previous" msgstr "Předchozí" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Předchozí skladba" @@ -3993,16 +3918,16 @@ msgstr "Kvalita" msgid "Querying device..." msgstr "Dotazování se zařízení..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Správce řady" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Přidat vybrané skladby do řady" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Přidat skladbu do řady" @@ -4014,7 +3939,7 @@ msgstr "Rádio (shodná hlasitost pro všechny skladby)" msgid "Rain" msgstr "Déšť" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Déšť" @@ -4051,7 +3976,7 @@ msgstr "Ohodnotit současnou píseň čtyřmi hvězdičkami" msgid "Rate the current song 5 stars" msgstr "Ohodnotit současnou píseň pěti hvězdičkami" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Hodnocení" @@ -4118,7 +4043,7 @@ msgstr "Odstranit" msgid "Remove action" msgstr "Odstranit činnost" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Odstranit zdvojené ze seznamu skladeb" @@ -4126,15 +4051,7 @@ msgstr "Odstranit zdvojené ze seznamu skladeb" msgid "Remove folder" msgstr "Odstranit složku" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Odstranit z Moje hudba" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Odstranit ze záložek" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Odstranit ze seznamu skladeb" @@ -4146,7 +4063,7 @@ msgstr "Odstranit seznam skladeb" msgid "Remove playlists" msgstr "Odstranit seznamy skladeb" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Odstranit nedostupné skladby ze seznamu skladeb" @@ -4158,7 +4075,7 @@ msgstr "Přejmenovat seznam skladeb" msgid "Rename playlist..." msgstr "Přejmenovat seznam skladeb..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Přečíslovat skladby v tomto pořadí..." @@ -4208,7 +4125,7 @@ msgstr "Znovu zaplnit" msgid "Require authentication code" msgstr "Vyžadovat ověřovací kód" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Obnovit výchozí" @@ -4249,7 +4166,7 @@ msgstr "Vytáhnout" msgid "Rip CD" msgstr "Vytáhnout skladby z CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Vytáhnout skladby ze zvukového CD" @@ -4279,8 +4196,9 @@ msgstr "Bezpečně odebrat zařízení" msgid "Safely remove the device after copying" msgstr "Po dokončení kopírování bezpečně odebrat zařízení" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Vzorkovací kmitočet" @@ -4318,7 +4236,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Uložit seznam skladeb" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Uložit seznam skladeb..." @@ -4358,7 +4276,7 @@ msgstr "Profil škálovatelného vzorkovacího kmitočtu" msgid "Scale size" msgstr "Velikost měřítka" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Výsledek" @@ -4375,12 +4293,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Hledat" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Hledat" @@ -4523,7 +4441,7 @@ msgstr "Podrobnosti o serveru" msgid "Service offline" msgstr "Služba není dostupná" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Nastavit %1 na \"%2\"..." @@ -4532,7 +4450,7 @@ msgstr "Nastavit %1 na \"%2\"..." msgid "Set the volume to percent" msgstr "Nastavit hlasitost na procent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Nastavit hodnotu pro vybrané skladby..." @@ -4599,7 +4517,7 @@ msgstr "Ukazovat OSD" msgid "Show above status bar" msgstr "Ukazovat nad stavovým řádkem" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Ukázat všechny písně" @@ -4619,16 +4537,12 @@ msgstr "Ukazovat oddělovače" msgid "Show fullsize..." msgstr "Ukázat v plné velikosti..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Ukázat skupiny ve výsledcích celkového hledání" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Ukázat v prohlížeči souborů..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Ukazovat ve sbírce..." @@ -4640,27 +4554,23 @@ msgstr "Ukázat pod různými umělci" msgid "Show moodbar" msgstr "Ukázat náladový proužek" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Ukázat pouze zdvojené" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Ukázat pouze neoznačené" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Ukázat nebo skrýt postranní panel" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Ukázat přehrávanou píseň na vaší stránce" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Ukázat návrhy hledání" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Ukázat postranní panel" @@ -4696,7 +4606,7 @@ msgstr "Zamíchat alba" msgid "Shuffle all" msgstr "Zamíchat vše" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Zamíchat seznam skladeb" @@ -4732,7 +4642,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Předchozí skladba v seznamu skladeb" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Počet přeskočení" @@ -4740,11 +4650,11 @@ msgstr "Počet přeskočení" msgid "Skip forwards in playlist" msgstr "Další skladba v seznamu skladeb" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Přeskočit vybrané skladby" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Přeskočit skladbu" @@ -4776,7 +4686,7 @@ msgstr "Soft rock" msgid "Song Information" msgstr "Informace o písni" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Píseň" @@ -4812,7 +4722,7 @@ msgstr "Řazení" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Zdroj" @@ -4887,7 +4797,7 @@ msgid "Starting..." msgstr "Spouští se..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Zastavit" @@ -4903,7 +4813,7 @@ msgstr "Zastavit po každé skladbě" msgid "Stop after every track" msgstr "Zastavit po každé skladbě" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Zastavit po této skladbě" @@ -4932,6 +4842,10 @@ msgstr "Zastaveno" msgid "Stream" msgstr "Proud" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5041,6 +4955,10 @@ msgstr "Obal alba nyní přehrávané písně" msgid "The directory %1 is not valid" msgstr "Adresář \"%1\" je neplatný" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Druhá hodnota musí být větší než první!" @@ -5059,7 +4977,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Lhůta na vyzkoušení serveru Subsonic uplynula. Dejte, prosím, dar, abyste dostali licenční klíč. Navštivte subsonic.org kvůli podrobnostem." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5101,7 +5019,7 @@ msgid "" "continue?" msgstr "Tyto soubory budou smazány ze zařízení. Opravdu chcete pokračovat?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5185,7 +5103,7 @@ msgstr "Tento typ zařízení není podporován: %1" msgid "Time step" msgstr "Časový krok" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5204,11 +5122,11 @@ msgstr "Přepnout OSD" msgid "Toggle fullscreen" msgstr "Zapnout/Vypnout zobrazení na celou obrazovku" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Přepnout stav řady" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Přepnout odesílání informací o přehrávání" @@ -5248,7 +5166,7 @@ msgstr "Celkem uskutečněno síťových požadavků" msgid "Trac&k" msgstr "Skla&dby" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Skladba" @@ -5257,7 +5175,7 @@ msgstr "Skladba" msgid "Tracks" msgstr "Skladby" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Převést hudbu" @@ -5294,6 +5212,10 @@ msgstr "Vypnout" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Adresa (URL)" @@ -5319,9 +5241,9 @@ msgstr "Nepodařilo se stáhnout %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Neznámý" @@ -5338,11 +5260,11 @@ msgstr "Neznámá chyba" msgid "Unset cover" msgstr "Odebrat obal" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Zrušit přeskočení vybraných skladeb" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Zrušit přeskočení skladby" @@ -5355,15 +5277,11 @@ msgstr "Zrušit odběr" msgid "Upcoming Concerts" msgstr "Připravované koncerty" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Aktualizovat" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Obnovit všechny zvukovové záznamy" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Obnovit změněné složky sbírky" @@ -5473,7 +5391,7 @@ msgstr "Použít normalizaci hlasitosti" msgid "Used" msgstr "Použito" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Uživatelské rozhraní" @@ -5499,7 +5417,7 @@ msgid "Variable bit rate" msgstr "Proměnlivý datový tok" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Různí umělci" @@ -5512,11 +5430,15 @@ msgstr "Verze %1" msgid "View" msgstr "Pohled" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Režim vizualizací" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Vizualizace" @@ -5524,10 +5446,6 @@ msgstr "Vizualizace" msgid "Visualizations Settings" msgstr "Nastavení vizualizací" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Zjištění hlasové činnosti" @@ -5550,10 +5468,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Zeď" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Varovat při zavření karty se seznamem skladeb" @@ -5656,7 +5570,7 @@ msgid "" "well?" msgstr "Chcete další písně na tomto albu přesunout do Různí umělci?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Chcete spustit toto úplné nové prohledání hned teď?" @@ -5672,7 +5586,7 @@ msgstr "Zapsat popisná data" msgid "Wrong username or password." msgstr "Nesprávné uživatelské jméno nebo heslo." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/cy.po b/src/translations/cy.po index 27c06a693..66a5a4b3d 100644 --- a/src/translations/cy.po +++ b/src/translations/cy.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Welsh (http://www.transifex.com/davidsansome/clementine/language/cy/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,11 +63,6 @@ msgstr "" msgid " songs" msgstr "" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -99,7 +94,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "" @@ -124,7 +119,7 @@ msgstr "" msgid "%1 songs found (showing %2)" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "" @@ -184,7 +179,7 @@ msgstr "" msgid "&Custom" msgstr "" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -192,7 +187,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "" @@ -217,7 +212,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "" @@ -225,15 +220,15 @@ msgstr "" msgid "&None" msgstr "" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -241,7 +236,7 @@ msgstr "" msgid "&Right" msgstr "" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -249,7 +244,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "" @@ -285,7 +280,7 @@ msgstr "" msgid "1 day" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "" @@ -429,11 +424,11 @@ msgstr "" msgid "About %1" msgstr "" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "" @@ -443,7 +438,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -497,19 +492,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "" @@ -517,12 +512,12 @@ msgstr "" msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "" @@ -534,7 +529,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -602,10 +597,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -614,18 +605,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -634,14 +617,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -651,10 +630,6 @@ msgstr "" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -692,7 +667,7 @@ msgstr "" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -705,7 +680,7 @@ msgstr "" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -720,10 +695,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -736,11 +707,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -865,7 +836,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -874,7 +845,7 @@ msgstr "" msgid "Artist" msgstr "" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -945,7 +916,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1002,7 +973,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1055,7 +1027,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1079,19 +1051,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1100,12 +1059,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1144,6 +1097,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1152,19 +1109,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1210,13 +1163,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1349,24 +1302,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1397,15 +1346,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1439,16 +1384,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1472,20 +1417,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1507,6 +1448,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1533,7 +1483,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1619,11 +1569,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1651,7 +1601,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1674,7 +1624,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1682,7 +1632,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1707,11 +1657,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1740,11 +1694,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1791,7 +1745,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1812,7 +1766,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1983,12 +1937,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2001,7 +1955,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2021,10 +1975,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2109,7 +2059,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2122,8 +2072,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2143,6 +2093,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2263,7 +2218,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2342,27 +2297,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2372,7 +2323,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2384,10 +2335,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2456,6 +2403,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2492,7 +2440,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2500,7 +2448,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2533,11 +2481,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2591,7 +2539,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2781,11 +2729,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2802,6 +2750,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2858,7 +2810,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2882,7 +2834,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2923,7 +2875,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2964,12 +2916,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2978,7 +2930,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3018,7 +2970,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3054,8 +3006,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3064,7 +3015,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3074,8 +3024,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3083,15 +3032,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3172,7 +3117,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3218,10 +3163,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3252,6 +3193,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3272,7 +3217,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3285,10 +3230,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3306,7 +3247,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3315,8 +3256,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3325,22 +3265,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3386,7 +3314,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3415,7 +3343,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3453,7 +3381,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3502,10 +3430,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3587,7 +3511,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3607,7 +3531,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3661,7 +3585,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3673,7 +3597,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3741,7 +3665,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3754,7 +3678,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3769,14 +3693,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3807,7 +3731,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3824,7 +3748,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3865,11 +3789,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3929,7 +3853,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3980,16 +3904,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4001,7 +3925,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4038,7 +3962,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4105,7 +4029,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4113,15 +4037,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4133,7 +4049,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4145,7 +4061,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4195,7 +4111,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4236,7 +4152,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4266,8 +4182,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4305,7 +4222,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4345,7 +4262,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4362,12 +4279,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4510,7 +4427,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4519,7 +4436,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4586,7 +4503,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4606,16 +4523,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4627,27 +4540,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4683,7 +4592,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4719,7 +4628,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4727,11 +4636,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4763,7 +4672,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4799,7 +4708,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4874,7 +4783,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4890,7 +4799,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4919,6 +4828,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5028,6 +4941,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5046,7 +4963,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5088,7 +5005,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5172,7 +5089,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5191,11 +5108,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5235,7 +5152,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5244,7 +5161,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5281,6 +5198,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5306,9 +5227,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5325,11 +5246,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5342,15 +5263,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5460,7 +5377,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5486,7 +5403,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5499,11 +5416,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5511,10 +5432,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5537,10 +5454,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5643,7 +5556,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5659,7 +5572,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/da.po b/src/translations/da.po index 8445fbd5c..1805488cc 100644 --- a/src/translations/da.po +++ b/src/translations/da.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the Clementine package. # # Translators: +# Allan Nordhøy , 2016 # Anders J. Sørensen, 2013 # andersrh.arh , 2014 # FIRST AUTHOR , 2010 @@ -18,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Danish (http://www.transifex.com/davidsansome/clementine/language/da/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -74,11 +75,6 @@ msgstr " sekunder" msgid " songs" msgstr " sange" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 sange)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -110,7 +106,7 @@ msgstr "%1 på %2" msgid "%1 playlists (%2)" msgstr "%1 playlister (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 valgt ud af" @@ -135,7 +131,7 @@ msgstr "%1 sange fundet" msgid "%1 songs found (showing %2)" msgstr "%1 sange fundet (viser %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 numre" @@ -195,7 +191,7 @@ msgstr "&Centrer" msgid "&Custom" msgstr "&Brugervalgt" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extra" @@ -203,7 +199,7 @@ msgstr "&Extra" msgid "&Grouping" msgstr "&Gruppering" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Hjælp" @@ -228,7 +224,7 @@ msgstr "&Låsbedømmelse" msgid "&Lyrics" msgstr "&Sangtekster" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Musik" @@ -236,15 +232,15 @@ msgstr "Musik" msgid "&None" msgstr "&Ingen" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Afspilningsliste" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Afslut" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Gentagelsestilstand" @@ -252,7 +248,7 @@ msgstr "Gentagelsestilstand" msgid "&Right" msgstr "&Højre" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Tilfældighed&stilstand" @@ -260,7 +256,7 @@ msgstr "Tilfældighed&stilstand" msgid "&Stretch columns to fit window" msgstr "&Udvid søjler til at passe til vindue" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Værktøjer" @@ -296,7 +292,7 @@ msgstr "0px" msgid "1 day" msgstr "1 dag" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 nummer" @@ -341,7 +337,7 @@ msgid "" "directly into the file each time they changed.

Please note it might " "not work for every format and, as there is no standard for doing so, other " "music players might not be able to read them.

" -msgstr "

Hvis ikke valgt, så vil Clementine forsøge at gemme dine bedømmelser og anden statistik i en separat database og undlade at ændre dine filer.

Hvis valgt, vil programmet gemme statistik både i databasen og direkte i filen hver gang der er ændringer.

Bemærk venligst at det ikke fungerer for alle formater og at der ikke er en standard for dette så andre musikafspillere kan sandsynligvis ikke læse dem.

" +msgstr "

Hvis ikke valgt, så vil Clementine forsøge at gemme dine bedømmelser og anden statistik i en separat database og undlade at ændre dine filer.

Hvis valgt, vil programmet gemme statistik både i databasen og direkte i filen hver gang der er ændringer.

Bemærk at det ikke fungerer for alle formater og at der ikke er en standard for dette så andre musikafspillere kan sandsynligvis ikke læse dem.

" #: ../bin/src/ui_libraryfilterwidget.h:104 #, qt-format @@ -440,11 +436,11 @@ msgstr "Afbryd" msgid "About %1" msgstr "Om %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Om Clementine ..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Om Qt ..." @@ -454,7 +450,7 @@ msgid "Absolute" msgstr "Absolut" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Kontodetaljer" @@ -508,19 +504,19 @@ msgstr "Henter udsendelser ..." msgid "Add directory..." msgstr "Tilføj mappe ..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Tilføj fil" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Tilføj fil til omkoder" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Tilføj filer til omkoder" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Tilføj fil ..." @@ -528,12 +524,12 @@ msgstr "Tilføj fil ..." msgid "Add files to transcode" msgstr "Tilføj fil til omkodning" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Tilføj mappe" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Tilføj mappe ..." @@ -545,7 +541,7 @@ msgstr "Tilføj ny mappe ..." msgid "Add podcast" msgstr "Tilføj podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Tilføj podcast ..." @@ -613,10 +609,6 @@ msgstr "Tilføj antal overspringninger" msgid "Add song title tag" msgstr "Tilføj sangtitel-mærke" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Tilføj sang til cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Tilføj sangnummer-mærke" @@ -625,18 +617,10 @@ msgstr "Tilføj sangnummer-mærke" msgid "Add song year tag" msgstr "Tilføj sangår-mærke" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Tilføj sange til »Min musik« når knappen »Elsker« trykkes ned" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Genopfrisk udsendelser ..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Tilføj til Min Musik" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Tilføj til Spotify-afspilningslister" @@ -645,14 +629,10 @@ msgstr "Tilføj til Spotify-afspilningslister" msgid "Add to Spotify starred" msgstr "Tilføj til Spotify starred" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Tilføj til en anden playliste" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Tilføj til bogmærker" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Føj til afspilningsliste" @@ -662,10 +642,6 @@ msgstr "Føj til afspilningsliste" msgid "Add to the queue" msgstr "Tilføj til køen" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Tilføj user/gruppe til bogmærker" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Tilføj wiimotedev handling" @@ -703,7 +679,7 @@ msgstr "Efter" msgid "After copying..." msgstr "Efter kopiering ..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -716,7 +692,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (ideel lydstyrke for alle numre)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -731,10 +707,6 @@ msgstr "Pladeomslag" msgid "Album info on jamendo.com..." msgstr "Album info på jamendo.com" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Album" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albummer med omslag" @@ -747,11 +719,11 @@ msgstr "Albummer uden omslag" msgid "All" msgstr "Alle" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Alle Filer (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Al ære til Hypnotudsen!" @@ -876,7 +848,7 @@ msgid "" "the songs of your library?" msgstr "Er du sikker på, at du ønsker at skrive sangens statistik ind i sangfilen for alle sange i dit bibliotek?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -885,7 +857,7 @@ msgstr "Er du sikker på, at du ønsker at skrive sangens statistik ind i sangfi msgid "Artist" msgstr "Kunstner" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Kunstnerinfo" @@ -956,7 +928,7 @@ msgstr "Gns. billedstørrelse" msgid "BBC Podcasts" msgstr "BBC Podcasts" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1013,7 +985,8 @@ msgstr "Bedst" msgid "Biography" msgstr "Biografi" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitrate" @@ -1066,7 +1039,7 @@ msgstr "Gennemse ..." msgid "Buffer duration" msgstr "Buffervarighed" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Buffering" @@ -1090,19 +1063,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Understøttelse af indeksark" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Mellemlagersti:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Mellemlagring" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Mellemlager %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Annuller" @@ -1111,12 +1071,6 @@ msgstr "Annuller" msgid "Cancel download" msgstr "Afbryd overførsel" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha er krævet.\nPrøv at logge ind på Vk.com med din internetbrowser for at rette dette problem." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Skift omslag" @@ -1155,6 +1109,10 @@ msgid "" "songs" msgstr "Ændring af mono afspilningspræference vil først træde i kraft for de næste afspillede sange" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Søg efter nye episoder" @@ -1163,19 +1121,15 @@ msgstr "Søg efter nye episoder" msgid "Check for updates" msgstr "Tjek for opdateringer" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Kontroller for opdateringer ..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Vælg Vk.com-mellemlagermappe" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Vælg et navn til den smarte afspilningsliste" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Vælg automatisk" @@ -1221,13 +1175,13 @@ msgstr "Rydder op" msgid "Clear" msgstr "Ryd" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Ryd afspilningsliste" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1360,24 +1314,20 @@ msgstr "Farver" msgid "Comma separated list of class:level, level is 0-3" msgstr "Komma-separeret liste af klasse:level, level er 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Kommentar" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Lokalradio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Fuldfør mærker automatisk" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Fuldfør mærker automatisk ..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1408,15 +1358,11 @@ msgstr "Konfigurer Spotify ..." msgid "Configure Subsonic..." msgstr "Konfigurer Subsonic ..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Konfigurer Vk.com ..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Konfigurer Global søgning ..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Indstil bibliotek ..." @@ -1450,16 +1396,16 @@ msgid "" "http://localhost:4040/" msgstr "Forbindelse afvist af server, kontroller serveradresse. Eksempel: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Forbindelsen fik tidsudløb, kontroller serveradressen. Eksempel: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Forbindelsesproblem eller lyd er deaktiveret af ejeren" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsol" @@ -1483,20 +1429,16 @@ msgstr "Konverter lydfiler uden kvalitetstab før de sendes." msgid "Convert lossless files" msgstr "Konverter filer uden kvalitetstab" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopier delingsadresse til udklipsholderen" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopier til udklipsholder" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopier til enhed ..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopier til bibliotek ..." @@ -1518,6 +1460,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Kunne ikke oprette GStreamer-elementet »%1« - sørg for at du har alle de nødvendige GStreamer-udvidelsesmoduler installeret" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Kunne ikke oprette afspilningsliste" @@ -1544,7 +1495,7 @@ msgstr "Kunne ikke åbne output fil %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Omslagshåndtering" @@ -1630,11 +1581,11 @@ msgid "" "recover your database" msgstr "Database korruption opdaget. Læs https://github.com/clementine-player/Clementine/wiki/Database-Corruption for at få instruktioner om, hvordan du gendanner din database" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Oprettelsesdato" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Ændringsdato" @@ -1662,7 +1613,7 @@ msgstr "Dæmp lydstyrke" msgid "Default background image" msgstr "Standard baggrundsbillede" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Standardenhed på %1" @@ -1685,7 +1636,7 @@ msgid "Delete downloaded data" msgstr "Sletter hentet data" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Slet filer" @@ -1693,7 +1644,7 @@ msgstr "Slet filer" msgid "Delete from device..." msgstr "Slet fra enhed ..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Slet fra disk ..." @@ -1718,11 +1669,15 @@ msgstr "Slet de originale filer" msgid "Deleting files" msgstr "Sletter filer" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Fjern valgte numre fra afspilningskøen" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Fjern nummeret fra afspilningskøen" @@ -1751,11 +1706,11 @@ msgstr "Enhedsnavn" msgid "Device properties..." msgstr "Enhedsindstillinger ..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Enhed" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialog" @@ -1802,7 +1757,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Deaktiver" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1823,7 +1778,7 @@ msgstr "Visningsegenskaber" msgid "Display the on-screen-display" msgstr "Vis on-screen-display" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Genindlæs hele biblioteket" @@ -1994,12 +1949,12 @@ msgstr "Dynamisk tilfældig mix" msgid "Edit smart playlist..." msgstr "Rediger smart afspilningsliste ..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Rediger mærke »%1« ..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Rediger mærke ..." @@ -2012,7 +1967,7 @@ msgid "Edit track information" msgstr "Rediger nummerinformation" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Rediger information om nummer ..." @@ -2032,10 +1987,6 @@ msgstr "E-post" msgid "Enable Wii Remote support" msgstr "Aktiver støtte for Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Aktiver automatisk mellemlagring" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Aktiver equalizer" @@ -2120,7 +2071,7 @@ msgstr "Indtast denne IP i app'en for at forbinde til Clementine." msgid "Entire collection" msgstr "Hele samlingen" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Equalizer" @@ -2133,8 +2084,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Svarende til --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Fejl" @@ -2154,6 +2105,11 @@ msgstr "Fejl ved kopiering af sang" msgid "Error deleting songs" msgstr "Fejl ved sletning af sang" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Fejl ved hentning af Spotify plugin" @@ -2274,7 +2230,7 @@ msgstr "Fading" msgid "Fading duration" msgstr "Varighed af fade" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Fejl ved læsning af CD-drev" @@ -2353,27 +2309,23 @@ msgstr "File suffiks" msgid "File formats" msgstr "Filformater" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Filnavn" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Filnavn (uden sti)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Filnavnmønster:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Filstier" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Filstørrelse" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2383,7 +2335,7 @@ msgstr "Filtype" msgid "Filename" msgstr "Filnavn" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Filer" @@ -2395,10 +2347,6 @@ msgstr "Filer som skal omkodes" msgid "Find songs in your library that match the criteria you specify." msgstr "Find sange i biblioteket, baseret på de kriterier du opgiver." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Find denne kunstner" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Giver sangen fingeraftryk" @@ -2467,6 +2415,7 @@ msgid "Form" msgstr "Formular" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2503,7 +2452,7 @@ msgstr "Fuld diskant" msgid "Ge&nre" msgstr "&Genre" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Generelt" @@ -2511,7 +2460,7 @@ msgstr "Generelt" msgid "General settings" msgstr "Generelle indstillinger" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2544,11 +2493,11 @@ msgstr "Giv det et navn:" msgid "Go" msgstr "Start" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Gå til næste faneblad på afspilningslisten" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Gå til forrige faneblad på afspilningslisten" @@ -2602,7 +2551,7 @@ msgstr "Gruppér efter genre/album" msgid "Group by Genre/Artist/Album" msgstr "Gruppér efter genre/kunstner/album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2792,11 +2741,11 @@ msgstr "Installeret" msgid "Integrity check" msgstr "Integritetskontrol" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internet udbydere" @@ -2813,6 +2762,10 @@ msgstr "Intronumre" msgid "Invalid API key" msgstr "Ugyldig API-nøgle" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Ugyldig format" @@ -2869,7 +2822,7 @@ msgstr "Jamendo database" msgid "Jump to previous song right away" msgstr "Gå til forrige sang nu" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Gå til nummeret som afspilles nu" @@ -2893,7 +2846,7 @@ msgstr "Fortsæt i baggrunden selv om du lukker vinduet" msgid "Keep the original files" msgstr "Behold de originale filer" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Killinger" @@ -2934,7 +2887,7 @@ msgstr "Stort sidepanel" msgid "Last played" msgstr "Sidst afspillet" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Sidst afspillet" @@ -2975,12 +2928,12 @@ msgstr "Numre med færrest stemmer" msgid "Left" msgstr "Venstre" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Længde" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Bibliotek" @@ -2989,7 +2942,7 @@ msgstr "Bibliotek" msgid "Library advanced grouping" msgstr "Avanceret bibliotektsgruppering" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Meddelelse om genindlæsning af biblioteket" @@ -3029,7 +2982,7 @@ msgstr "Hent omslag fra disk" msgid "Load playlist" msgstr "Åbn afspilningsliste" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Åbn afspilningsliste ..." @@ -3065,8 +3018,7 @@ msgstr "Henter information om numre" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Åbner ..." @@ -3075,7 +3027,6 @@ msgstr "Åbner ..." msgid "Loads files/URLs, replacing current playlist" msgstr "Indlæser filer/adresser og erstatter nuværende afspilningsliste" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3085,8 +3036,7 @@ msgstr "Indlæser filer/adresser og erstatter nuværende afspilningsliste" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Log ind" @@ -3094,15 +3044,11 @@ msgstr "Log ind" msgid "Login failed" msgstr "Login mislykkedes" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Log ud" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Long term prediction-profil (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Elsker" @@ -3183,7 +3129,7 @@ msgstr "Main profile (MAIN)" msgid "Make it so!" msgstr "Sæt igang!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Sæt i gang!" @@ -3229,10 +3175,6 @@ msgstr "Match alle søgeord (OG)" msgid "Match one or more search terms (OR)" msgstr "Match på hvilket som helst søgeord (ELLER)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maks. globale søgeresultater" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Højeste bitrate" @@ -3263,6 +3205,10 @@ msgstr "Minimal bitrate" msgid "Minimum buffer fill" msgstr "Minimum mellemlagerudfyldning" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Manglende projectM-forvalg" @@ -3283,7 +3229,7 @@ msgstr "Mono afspilning" msgid "Months" msgstr "Måneder" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Humør" @@ -3296,10 +3242,6 @@ msgstr "Stemningslinje stil" msgid "Moodbars" msgstr "Stemningslinier" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Mere" - #: library/library.cpp:84 msgid "Most played" msgstr "Mest afspillede" @@ -3317,7 +3259,7 @@ msgstr "Monteringspunkter" msgid "Move down" msgstr "Flyt ned" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Flyt til bibliotek ..." @@ -3326,8 +3268,7 @@ msgstr "Flyt til bibliotek ..." msgid "Move up" msgstr "Flyt op" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musik" @@ -3336,22 +3277,10 @@ msgid "Music Library" msgstr "Musikbibliotek" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Slå lyden fra" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Mine album" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Min Musik" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Mine anbefalinger" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3397,7 +3326,7 @@ msgstr "Begynd aldrig afspilning" msgid "New folder" msgstr "Ny folder" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Ny afspilningsliste" @@ -3426,7 +3355,7 @@ msgid "Next" msgstr "Næste" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Næste nummer" @@ -3464,7 +3393,7 @@ msgstr "Ingen korte blokke" msgid "None" msgstr "Ingen" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Kunne ikke kopiere nogen af de valgte sange til enheden" @@ -3513,10 +3442,6 @@ msgstr "Ikke logget ind" msgid "Not mounted - double click to mount" msgstr "Ikke monteret - dobbeltklik for at montere" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Intet fundet" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Påmindelsestype" @@ -3598,7 +3523,7 @@ msgstr "Uigennemsigtighed" msgid "Open %1 in browser" msgstr "Åbn %1 i internetbrowser" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Åbn lyd-&cd ..." @@ -3618,7 +3543,7 @@ msgstr "Åbn en mappe hvor musik skal importeres fra" msgid "Open device" msgstr "Åbn enhed" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Åbn fil ..." @@ -3672,7 +3597,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organiser filer" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organiser filer ..." @@ -3684,7 +3609,7 @@ msgstr "Organiserer filer" msgid "Original tags" msgstr "Oprindelige mærker" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3752,7 +3677,7 @@ msgstr "Party" msgid "Password" msgstr "Kodeord" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pause" @@ -3765,7 +3690,7 @@ msgstr "Pause i afspilning" msgid "Paused" msgstr "På pause" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3780,14 +3705,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Simpelt sidepanel" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Afspil" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Antal gange afspillet" @@ -3818,7 +3743,7 @@ msgstr "Afspiller indstillinger" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Afspilningsliste" @@ -3835,13 +3760,13 @@ msgstr "Indstillinger for afspilningsliste" msgid "Playlist type" msgstr "Afspilningslistetype" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Afspilningslister" #: ../data/oauthsuccess.html:38 msgid "Please close your browser and return to Clementine." -msgstr "Luk venligst din hjemmesidelæser, og returner til Clementine" +msgstr "Luk din hjemmesidelæser, og returner til Clementine" #: ../bin/src/ui_spotifysettingspage.h:213 msgid "Plugin status:" @@ -3876,11 +3801,11 @@ msgstr "Præference" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Indstillinger" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Præferencer ..." @@ -3940,7 +3865,7 @@ msgid "Previous" msgstr "Forrige" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Forrige nummer" @@ -3991,16 +3916,16 @@ msgstr "Kvalitet" msgid "Querying device..." msgstr "Forespørger enhed ..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Køhåndterer" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Sæt valgte numre i kø" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Sæt nummer i kø" @@ -4012,7 +3937,7 @@ msgstr "Radio (samme lydstyrke for alle numre)" msgid "Rain" msgstr "Regn" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Regn" @@ -4049,7 +3974,7 @@ msgstr "Giv 4 stjerner til denne sang" msgid "Rate the current song 5 stars" msgstr "Giv 5 stjerner til denne sang" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Pointgivning" @@ -4116,7 +4041,7 @@ msgstr "Fjern" msgid "Remove action" msgstr "Fjern handling" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Fjern dubletter fra afspilningsliste" @@ -4124,15 +4049,7 @@ msgstr "Fjern dubletter fra afspilningsliste" msgid "Remove folder" msgstr "Fjern mappe" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Fjern fra Min Musik" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Fjern fra bogmærker" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Fjern fra afspilningsliste" @@ -4144,7 +4061,7 @@ msgstr "Fjern afspilningsliste" msgid "Remove playlists" msgstr "Fjern afspilningslister" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Fjern utilgængelige numre fra afspilningsliste" @@ -4156,7 +4073,7 @@ msgstr "Giv afspilningslisten et nyt navn" msgid "Rename playlist..." msgstr "Giv afspilningslisten et nyt navn ..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Lav ny rækkefølge for numre ..." @@ -4206,7 +4123,7 @@ msgstr "Genudfyld" msgid "Require authentication code" msgstr "Forlang autentificeringskode" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Nulstil" @@ -4247,7 +4164,7 @@ msgstr "Rip" msgid "Rip CD" msgstr "Rip CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Rip lyd-CD" @@ -4277,8 +4194,9 @@ msgstr "Sikker fjernelse af enhed" msgid "Safely remove the device after copying" msgstr "Sikker fjernelse af enhed efter kopiering" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Samplingsrate" @@ -4316,7 +4234,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Gem afspilningsliste" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Gem afspilningsliste ..." @@ -4356,7 +4274,7 @@ msgstr "Skalerbar samplingsfrekvens-profil (SSR)" msgid "Scale size" msgstr "Skaler størrelse" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Karakter" @@ -4373,12 +4291,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Søg" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Søg" @@ -4521,16 +4439,16 @@ msgstr "Server detaljer" msgid "Service offline" msgstr "Tjeneste offline" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." -msgstr "Sæt %1 til »%2« ..." +msgstr "Sæt %1 til »%2« …" #: core/commandlineoptions.cpp:160 msgid "Set the volume to percent" msgstr "Sæt lydstyrken til percent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Sæt værdi på alle valgte numre ..." @@ -4597,7 +4515,7 @@ msgstr "Vis en køn OSD" msgid "Show above status bar" msgstr "Vis over statuslinjen" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Vis alle sange" @@ -4617,16 +4535,12 @@ msgstr "Vis adskillere" msgid "Show fullsize..." msgstr "Vis i fuld størrelse ..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Vis grupper i globalt søgeresultat" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Vis i filbrowser" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Vis i biblioteket ..." @@ -4638,27 +4552,23 @@ msgstr "Vis under Diverse kunstnere" msgid "Show moodbar" msgstr "Vis stemningslinie" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Vis kun dubletter" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Vis kun filer uden mærker" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Vis afspillende sang på din side" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Vis søgeforslag" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4694,7 +4604,7 @@ msgstr "Bland albummer" msgid "Shuffle all" msgstr "Bland alle" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Bland afspilningsliste" @@ -4730,7 +4640,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Gå tilbage i afspilningslisten" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Antal gange sprunget over" @@ -4738,11 +4648,11 @@ msgstr "Antal gange sprunget over" msgid "Skip forwards in playlist" msgstr "Gå fremad i afspilningslisten" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Udelad valgte numre" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Udelad nummer" @@ -4774,7 +4684,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Information om sangen" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Info om sangen" @@ -4810,7 +4720,7 @@ msgstr "Sortering" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Kilde" @@ -4885,7 +4795,7 @@ msgid "Starting..." msgstr "Starter…" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Stop" @@ -4901,7 +4811,7 @@ msgstr "Stop efter hvert nummer" msgid "Stop after every track" msgstr "Stop efter hvert nummer" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Stop efter dette nummer" @@ -4930,6 +4840,10 @@ msgstr "Stoppet" msgid "Stream" msgstr "Udsendelse" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5039,6 +4953,10 @@ msgstr "Nuværende sangs pladeomslag" msgid "The directory %1 is not valid" msgstr "Mappen %1 er ugyldig" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Værdi nummer to skal være større end værdi nummer et!" @@ -5055,9 +4973,9 @@ msgstr "Siden du søgte efter er ikke et billede!" msgid "" "The trial period for the Subsonic server is over. Please donate to get a " "license key. Visit subsonic.org for details." -msgstr "Prøveperioden for Subsonic-serveren er ovre. Doner venligst for at få en licens-nøgle. Besøg subsonic.org for flere detaljer." +msgstr "Prøveperioden for Subsonic-serveren er ovre. Doner for at få en licens-nøgle. Besøg subsonic.org for flere detaljer." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5091,7 +5009,7 @@ msgstr "Der var et problem ved at kopiere nogle sange. Følgende filer kunne ik msgid "" "There were problems deleting some songs. The following files could not be " "deleted:" -msgstr "Der var et problem ved at kopiere nogle sange. Følgende filer kunne ikke kopieres:" +msgstr "Der var et problem ved at kopiere nogle sange. Følgende filer kunne ikke slettes:" #: devices/deviceview.cpp:409 msgid "" @@ -5099,7 +5017,7 @@ msgid "" "continue?" msgstr "Disse filer vil blive slettet fra disken, er du sikker på at du vil fortsætte?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5168,7 +5086,7 @@ msgstr "Det er første gang du tilslutter denne enhed. Clementine gennemsøger #: playlist/playlisttabbar.cpp:197 msgid "This option can be changed in the \"Behavior\" preferences" -msgstr "Denne indstilling kan ændres præferencerne for »Opførsel" +msgstr "Denne indstilling kan ændres præferencerne for »Opførsel«" #: internet/lastfm/lastfmservice.cpp:265 msgid "This stream is for paid subscribers only" @@ -5183,7 +5101,7 @@ msgstr "Denne enhedstype (%1) er ikke understøttet." msgid "Time step" msgstr "Tidstrin" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5202,11 +5120,11 @@ msgstr "Slå pæn OSD til/fra" msgid "Toggle fullscreen" msgstr "Slå fuldskærmstilstand til/fra" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Slå køstatus til/fra" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Slå scrobbling til/fra" @@ -5246,7 +5164,7 @@ msgstr "Totalt antal forespørgsler over nettet" msgid "Trac&k" msgstr "&Nummer" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Nummer" @@ -5255,7 +5173,7 @@ msgstr "Nummer" msgid "Tracks" msgstr "Numre" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Omkod musik" @@ -5292,6 +5210,10 @@ msgstr "Slå fra" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Adresser" @@ -5317,9 +5239,9 @@ msgstr "Kunne ikke hente %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Ukendt" @@ -5336,11 +5258,11 @@ msgstr "Ukendt fejl" msgid "Unset cover" msgstr "Fravælg omslag" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Fjern udelad for valgte numre" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Fjern udelad for nummer" @@ -5353,15 +5275,11 @@ msgstr "Opsig abonnement" msgid "Upcoming Concerts" msgstr "Kommende Koncerter" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Opdater" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Ajourfør alle podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Opdater ændrede bibliotekskataloger" @@ -5471,7 +5389,7 @@ msgstr "Brug volumen normalisering" msgid "Used" msgstr "Brugt" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Brugergrænseflade" @@ -5497,7 +5415,7 @@ msgid "Variable bit rate" msgstr "Variabel bitrate" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Diverse kunstnere" @@ -5510,11 +5428,15 @@ msgstr "Version %1" msgid "View" msgstr "Vis" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Visualiseringstilstand" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualiseringer" @@ -5522,10 +5444,6 @@ msgstr "Visualiseringer" msgid "Visualizations Settings" msgstr "Indstilling af visualiseringer" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Stemmeaktivitet opdaget" @@ -5548,10 +5466,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Væg" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Advar ved nedlukning af en afspilningslistes fane" @@ -5654,7 +5568,7 @@ msgid "" "well?" msgstr "Vil du også flytte de andre sange i dette album til Diverse kunstnere?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Vil du genindlæse hele biblioteket nu?" @@ -5670,7 +5584,7 @@ msgstr "Skriv metadata" msgid "Wrong username or password." msgstr "Forkert brugernavn og/eller password." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 @@ -5759,11 +5673,11 @@ msgstr "Du behøver ikke at være logget på for at søge og til at lytte til mu msgid "" "You have been logged out of Spotify, please re-enter your password in the " "Settings dialog." -msgstr "Du er blevet logget ud fra Spotify, genindtast venligst dit kodeord i Indstillingsdialogen." +msgstr "Du er blevet logget ud fra Spotify, genindtast dit kodeord i Indstillingsdialogen." #: internet/spotify/spotifysettingspage.cpp:160 msgid "You have been logged out of Spotify, please re-enter your password." -msgstr "Du er blevet logget ud fra Spotify, genindtast venligst dit kodeord." +msgstr "Du er blevet logget ud fra Spotify, genindtast dit kodeord." #: songinfo/lastfmtrackinfoprovider.cpp:85 msgid "You love this track" diff --git a/src/translations/de.po b/src/translations/de.po index 0e1a033f0..5fda2b0a2 100644 --- a/src/translations/de.po +++ b/src/translations/de.po @@ -49,6 +49,7 @@ # robfloop , 2012 # Robin Cornelio Thomas , 2012 # Mosley , 2011 +# Sven Eppler , 2016 # El_Zorro_Loco , 2011, 2012 # Tobias Bannert , 2013 # Tobias Bannert , 2013-2016 @@ -60,8 +61,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-23 12:53+0000\n" -"Last-Translator: Ettore Atalan \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: German (http://www.transifex.com/davidsansome/clementine/language/de/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -116,11 +117,6 @@ msgstr " Sekunden" msgid " songs" msgstr "Titel" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 Titel)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -152,7 +148,7 @@ msgstr "%1 an %2" msgid "%1 playlists (%2)" msgstr "%1 Wiedergabelisten (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 ausgewählt von" @@ -177,7 +173,7 @@ msgstr "%1 Titel gefunden" msgid "%1 songs found (showing %2)" msgstr "%1 Titel gefunden (%2 werden angezeigt)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 Titel" @@ -237,7 +233,7 @@ msgstr "&Zentriert" msgid "&Custom" msgstr "&Benutzerdefiniert" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extras" @@ -245,7 +241,7 @@ msgstr "&Extras" msgid "&Grouping" msgstr "&Gruppierung" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Hilfe" @@ -270,7 +266,7 @@ msgstr "Bewertung &sperren" msgid "&Lyrics" msgstr "&Liedtext" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musik" @@ -278,15 +274,15 @@ msgstr "&Musik" msgid "&None" msgstr "&Keine" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Wiedergabeliste" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Beenden" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Wiederholung" @@ -294,7 +290,7 @@ msgstr "&Wiederholung" msgid "&Right" msgstr "&Rechts" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Zufallsmodus" @@ -302,7 +298,7 @@ msgstr "&Zufallsmodus" msgid "&Stretch columns to fit window" msgstr "&Spalten an Fenstergröße anpassen" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Werk&zeuge" @@ -338,7 +334,7 @@ msgstr "0px" msgid "1 day" msgstr "1 Tag" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 Titel" @@ -482,11 +478,11 @@ msgstr "Abbrechen" msgid "About %1" msgstr "Über %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Über Clementine …" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Über Qt …" @@ -496,7 +492,7 @@ msgid "Absolute" msgstr "Absolut" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Benutzerkonto" @@ -550,19 +546,19 @@ msgstr "Einen weiteren Datenstrom hinzufügen …" msgid "Add directory..." msgstr "Verzeichnis hinzufügen …" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Datei hinzufügen" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Datei zum Umwandler hinzufügen" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Datei(en) zum Umwandler hinzufügen" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Datei hinzufügen …" @@ -570,12 +566,12 @@ msgstr "Datei hinzufügen …" msgid "Add files to transcode" msgstr "Dateien zum Umwandeln hinzufügen" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Ordner hinzufügen" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Ordner hinzufügen …" @@ -587,7 +583,7 @@ msgstr "Neuen Ordner hinzufügen …" msgid "Add podcast" msgstr "Podcast hinzufügen" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "&Podcast hinzufügen …" @@ -655,10 +651,6 @@ msgstr "Titelübersprungzähler hinzufügen" msgid "Add song title tag" msgstr "Titelname hinzufügen" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Titel zum Zwischenspeicher hinzufügen" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Titelnummer hinzufügen" @@ -667,18 +659,10 @@ msgstr "Titelnummer hinzufügen" msgid "Add song year tag" msgstr "Titelerscheinungsjahr hinzufügen" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Titel zu »Meine Musik« hinzufügen, wenn »Lieben« geklickt wurde" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Datenstrom hinzufügen …" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Zu »Meine Musik« hinzufügen" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Zur Spotify-Wiedergabeliste hinzufügen" @@ -687,14 +671,10 @@ msgstr "Zur Spotify-Wiedergabeliste hinzufügen" msgid "Add to Spotify starred" msgstr "Markierte Titel von Spotify hinzufügen" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Zu anderer Wiedergabeliste hinzufügen" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Zu Lesezeichen hinzufügen" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Zur Wiedergabeliste hinzufügen" @@ -704,10 +684,6 @@ msgstr "Zur Wiedergabeliste hinzufügen" msgid "Add to the queue" msgstr "In die Warteschlange einreihen" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Nutzer/Gruppe zu Lesezeichen hinzufügen" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Aktion für Wii-Fernbedienung hinzufügen" @@ -745,7 +721,7 @@ msgstr "Nach " msgid "After copying..." msgstr "Nach dem Kopieren …" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -758,7 +734,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (idealer Pegel für alle Titel)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -773,10 +749,6 @@ msgstr "Titelbild" msgid "Album info on jamendo.com..." msgstr "Albuminformationen auf jamendo.com …" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Alben" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Alben mit Titelbildern" @@ -789,11 +761,11 @@ msgstr "Alben ohne Titelbilder" msgid "All" msgstr "Alle" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Alle Dateien (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Aller Ruhm der Hypnosekröte!" @@ -918,7 +890,7 @@ msgid "" "the songs of your library?" msgstr "Sind Sie sicher, dass Sie für alle Titel Ihrer Bibliothek, die Titelstatistiken in die Titeldatei schreiben wollen?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -927,7 +899,7 @@ msgstr "Sind Sie sicher, dass Sie für alle Titel Ihrer Bibliothek, die Titelsta msgid "Artist" msgstr "Interpret" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Künstlerinfo" @@ -998,7 +970,7 @@ msgstr "Durchschnittliche Bildgröße" msgid "BBC Podcasts" msgstr "BBC Podcasts" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1055,7 +1027,8 @@ msgstr "Optimal" msgid "Biography" msgstr "Biografie" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitrate" @@ -1108,7 +1081,7 @@ msgstr "Durchsuchen …" msgid "Buffer duration" msgstr "Pufferdauer" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Puffern" @@ -1132,19 +1105,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Unterstützung von Cuesheets" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Zwischenspeicherpfad:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Zwischenspeichern" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "%1 wird zwischengespeichert" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Abbrechen" @@ -1153,12 +1113,6 @@ msgstr "Abbrechen" msgid "Cancel download" msgstr "Herunterladen abbrechen" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Anmeldung nur mit Captcha möglich.\nBitte melden Sie sich mit Ihrem Browser auf Vk.com an, um das Problem zu beheben." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Titelbilder ändern" @@ -1197,6 +1151,10 @@ msgid "" "songs" msgstr "Die Monowiedergabeeinstellung wird für den nächsten Titel wirksam." +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Nach neuen Episoden suchen" @@ -1205,19 +1163,15 @@ msgstr "Nach neuen Episoden suchen" msgid "Check for updates" msgstr "Auf Aktualisierungen suchen" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Nach Aktualisierungen suchen …" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Zwischenspeicherverzeichnis für Vk.com auswählen" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Wählen Sie einen Namen für Ihre intelligente Wiedergabeliste" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Automatisch auswählen" @@ -1235,7 +1189,7 @@ msgstr "Von der Liste wählen" #: smartplaylists/querywizardplugin.cpp:161 msgid "Choose how the playlist is sorted and how many songs it will contain." -msgstr "Wählen Sie, wie die Wiedergabeliste sortiert wird und wie viele Titel sie enthalten soll." +msgstr "Bitte auswählen, wie die Wiedergabeliste sortiert wird und wie viele Titel sie enthalten soll." #: internet/podcasts/podcastsettingspage.cpp:143 msgid "Choose podcast download directory" @@ -1243,7 +1197,7 @@ msgstr "Herunterladeverzeichnis für Podcasts auswählen" #: ../bin/src/ui_internetshowsettingspage.h:85 msgid "Choose the internet services you want to show." -msgstr "Wählen Sie die Internetdienste aus, die Sie anzeigen möchten." +msgstr "Bitte die Internetdienste auswählen, die Sie anzeigen möchten." #: ../bin/src/ui_songinfosettingspage.h:159 msgid "" @@ -1263,13 +1217,13 @@ msgstr "Bereinigen" msgid "Clear" msgstr "Leeren" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Wiedergabeliste leeren" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1402,24 +1356,20 @@ msgstr "Farben" msgid "Comma separated list of class:level, level is 0-3" msgstr "Komma getrennte Liste mit »class:level« (Level ist 0-3)" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Kommentar" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Gemeinschaftsradio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Schlagworte automatisch vervollständigen" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Schlagworte automatisch vervollständigen …" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1450,15 +1400,11 @@ msgstr "Spotify konfigurieren …" msgid "Configure Subsonic..." msgstr "Subsonic wird konfiguriert …" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Vk.com konfigurieren …" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Globale Suche konfigurieren …" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Bibliothek einrichten …" @@ -1492,16 +1438,16 @@ msgid "" "http://localhost:4040/" msgstr "Verbindung vom Server verweigert, bitte Server-Adresse überprüfen. Beispiel: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Zeitüberschreitung, bitte überprüfen Sie die Server-Adresse. Beispiel: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Verbindungsproblem, oder der Ton wurde vom Besitzer deaktiviert" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsole" @@ -1525,20 +1471,16 @@ msgstr "Tondateien verlustfrei umrechnen, bevor sie zur Fernsteuerung gesendet w msgid "Convert lossless files" msgstr "Verlustfreie Dateien umwandeln" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Adresse zum freigeben in Zwischenablage kopieren" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopieren" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Auf das Gerät kopieren …" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Zur Bibliothek kopieren …" @@ -1560,6 +1502,15 @@ msgid "" "required GStreamer plugins installed" msgstr "GStreamer-Element »%1« konnte nicht erstellt werden. Stellen Sie sicher, dass alle nötigen GStreamer-Erweiterungen installiert sind." +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Wiedergabeliste konnte nicht erstellt werden" @@ -1586,7 +1537,7 @@ msgstr "Ausgabedatei %1 konnte nicht geöffnet werden" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Titelbildverwaltung" @@ -1672,11 +1623,11 @@ msgid "" "recover your database" msgstr "Die Datenbank ist beschädigt. Bitte https://github.com/clementine-player/Clementine/wiki/Database-Corruption besuchen, um zu erfahren, wie Sie Ihre Datenbank wiederherstellen können." -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Erstellt" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Geändert" @@ -1704,7 +1655,7 @@ msgstr "Lautstärke verringern" msgid "Default background image" msgstr "Standard Hintergrundbild" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Standardgerät an %1" @@ -1727,7 +1678,7 @@ msgid "Delete downloaded data" msgstr "Heruntergeladene Dateien löschen" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Dateien löschen" @@ -1735,7 +1686,7 @@ msgstr "Dateien löschen" msgid "Delete from device..." msgstr "Vom Gerät löschen …" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Vom Datenträger löschen …" @@ -1760,11 +1711,15 @@ msgstr "Ursprüngliche Dateien löschen" msgid "Deleting files" msgstr "Dateien werden gelöscht" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Titel aus der Warteschlange nehmen" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Titel aus der Warteschlange nehmen" @@ -1793,11 +1748,11 @@ msgstr "Gerätename" msgid "Device properties..." msgstr "Geräteeinstellungen …" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Geräte" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialog" @@ -1844,7 +1799,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Deaktiviert" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1865,7 +1820,7 @@ msgstr "Anzeigeoptionen" msgid "Display the on-screen-display" msgstr "Bildschirmanzeige anzeigen" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Bibliothek erneut einlesen" @@ -2036,12 +1991,12 @@ msgstr "Dynamischer Zufallsmix" msgid "Edit smart playlist..." msgstr "Intelligente Wiedergabeliste bearbeiten …" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Schlagwort »%1« bearbeiten …" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Schlagwort bearbeiten …" @@ -2054,7 +2009,7 @@ msgid "Edit track information" msgstr "Metadaten bearbeiten" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Metadaten bearbeiten …" @@ -2074,10 +2029,6 @@ msgstr "E-Mail" msgid "Enable Wii Remote support" msgstr "Unterstützung für Wii-Fernbedienungen aktivieren" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Automatisches Zwischenspeichern aktivieren" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Equalizer aktivieren" @@ -2162,7 +2113,7 @@ msgstr "Diese IP in der App eingeben, um mit Clementine zu verbinden." msgid "Entire collection" msgstr "Gesamte Sammlung" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Equalizer" @@ -2175,8 +2126,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Äquivalent zu --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Fehler" @@ -2196,6 +2147,11 @@ msgstr "Fehler beim Kopieren der Titel" msgid "Error deleting songs" msgstr "Fehler beim Löschen der Titel" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Fehler beim herunterladen der Spotify-Erweiterung" @@ -2316,7 +2272,7 @@ msgstr "Überblenden" msgid "Fading duration" msgstr "Dauer:" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "CD-Laufwerk kann nicht gelesen werden" @@ -2395,27 +2351,23 @@ msgstr "Dateiendung" msgid "File formats" msgstr "Dateiformate" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Dateiname" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Dateiname (ohne Dateipfad)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Dateinamenmuster:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Dateipfade" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Dateigröße" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2425,7 +2377,7 @@ msgstr "Dateityp" msgid "Filename" msgstr "Dateiname" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Dateien" @@ -2437,10 +2389,6 @@ msgstr "Dateien zum Umwandeln" msgid "Find songs in your library that match the criteria you specify." msgstr "Titel in Ihrer Bibliothek finden, die den Kriterien entsprechen." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Diesen Interpret finden" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Titel wird analysiert" @@ -2509,6 +2457,7 @@ msgid "Form" msgstr "Formular" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2545,7 +2494,7 @@ msgstr "Maximale Höhen" msgid "Ge&nre" msgstr "Ge&nre" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Allgemein" @@ -2553,7 +2502,7 @@ msgstr "Allgemein" msgid "General settings" msgstr "Allgemeine Einstellungen" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2586,11 +2535,11 @@ msgstr "Namen angeben:" msgid "Go" msgstr "Start" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Zum nächsten Wiedergabelistenreiter wechseln" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Zum vorherigen Wiedergabelistenreiter wechseln" @@ -2644,7 +2593,7 @@ msgstr "Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Genre/Interpret/Album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2834,11 +2783,11 @@ msgstr "Installiert" msgid "Integrity check" msgstr "Integritätsprüfung" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internetdienstanbieter" @@ -2855,6 +2804,10 @@ msgstr "Einleitungstitel" msgid "Invalid API key" msgstr "Ungültiger API-Schlüssel" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Ungültiges Format" @@ -2911,7 +2864,7 @@ msgstr "Jamendo-Datenbank" msgid "Jump to previous song right away" msgstr "Gleich zum vorherigen Titel springen" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Zum aktuellen Titel springen" @@ -2935,7 +2888,7 @@ msgstr "Im Hintergrund weiterlaufen, wenn das Fenster geschlossen wurde" msgid "Keep the original files" msgstr "Ursprüngliche Dateien behalten" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kätzchen" @@ -2976,7 +2929,7 @@ msgstr "Große Seitenleiste" msgid "Last played" msgstr "Zuletzt gespielt" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Zuletzt wiedergegeben" @@ -3017,12 +2970,12 @@ msgstr "Am wenigsten gemochte Titel" msgid "Left" msgstr "Links" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Länge" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Bibliothek" @@ -3031,7 +2984,7 @@ msgstr "Bibliothek" msgid "Library advanced grouping" msgstr "Erweiterte Bibliothekssortierung" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Hinweis beim erneuten durchsuchen der Bibliothek" @@ -3071,7 +3024,7 @@ msgstr "Titelbild von Datenträger wählen …" msgid "Load playlist" msgstr "Wiedergabeliste laden" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Wiedergabeliste laden …" @@ -3107,8 +3060,7 @@ msgstr "Titelinfo wird geladen" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Wird geladen …" @@ -3117,7 +3069,6 @@ msgstr "Wird geladen …" msgid "Loads files/URLs, replacing current playlist" msgstr "Dateien/Adressen laden und die Wiedergabeliste ersetzen" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3127,8 +3078,7 @@ msgstr "Dateien/Adressen laden und die Wiedergabeliste ersetzen" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Anmelden" @@ -3136,15 +3086,11 @@ msgstr "Anmelden" msgid "Login failed" msgstr "Anmeldung fehlgeschlagen" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Abmelden" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Langzeitvorhersageprofil (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Lieben" @@ -3225,7 +3171,7 @@ msgstr "Hauptprofil (MAIN)" msgid "Make it so!" msgstr "Machen Sie es so!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Machen Sie es so!" @@ -3271,10 +3217,6 @@ msgstr "Alle Suchbegriffe kommen vor (UND)" msgid "Match one or more search terms (OR)" msgstr "Mindestens ein Suchbegriff kommt vor (ODER)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maximale globale Suchergebnisse" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maximale Bitrate" @@ -3305,6 +3247,10 @@ msgstr "Minimale Bitrate" msgid "Minimum buffer fill" msgstr "Mindestpufferfüllung" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "projectM-Voreinstellungen fehlen" @@ -3325,7 +3271,7 @@ msgstr "Monowiedergabe" msgid "Months" msgstr "Monate" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Stimmung" @@ -3338,10 +3284,6 @@ msgstr "Stimmungsbarometerstil" msgid "Moodbars" msgstr "Stimmungsbarometer" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Mehr" - #: library/library.cpp:84 msgid "Most played" msgstr "Meistgespielt" @@ -3359,7 +3301,7 @@ msgstr "Einhängepunkte" msgid "Move down" msgstr "Nach unten" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Zur Bibliothek verschieben …" @@ -3368,8 +3310,7 @@ msgstr "Zur Bibliothek verschieben …" msgid "Move up" msgstr "Nach oben" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musik" @@ -3378,22 +3319,10 @@ msgid "Music Library" msgstr "Musikbibliothek" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Stumm" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Meine Alben" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Meine Musik" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Meine Empfehlungen" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3439,7 +3368,7 @@ msgstr "Nie mit der Wiedergabe beginnen" msgid "New folder" msgstr "Neuer Ordner" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Neue Wiedergabeliste" @@ -3468,7 +3397,7 @@ msgid "Next" msgstr "Weiter" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Nächster Titel" @@ -3506,7 +3435,7 @@ msgstr "Keine kurzen Blöcke" msgid "None" msgstr "Nichts" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Keiner der gewählten Titel war zum Kopieren auf ein Gerät geeignet." @@ -3555,10 +3484,6 @@ msgstr "Nicht angemeldet" msgid "Not mounted - double click to mount" msgstr "Nicht eingehängt – doppelklicken zum Einhängen" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nichts gefunden" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Art der Benachrichtigung" @@ -3640,7 +3565,7 @@ msgstr "Deckkraft" msgid "Open %1 in browser" msgstr "%1 im Browser öffnen" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "&Audio-CD öffnen …" @@ -3660,7 +3585,7 @@ msgstr "Verzeichnis öffnen, um Musik von dort zu importieren" msgid "Open device" msgstr "Gerät öffnen" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "&Datei öffnen …" @@ -3714,7 +3639,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Dateien organisieren" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Dateien organisieren …" @@ -3726,7 +3651,7 @@ msgstr "Dateien organisieren" msgid "Original tags" msgstr "Ursprüngliche Schlagworte" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3794,7 +3719,7 @@ msgstr "Party" msgid "Password" msgstr "Passwort:" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pause" @@ -3807,7 +3732,7 @@ msgstr "Wiedergabe pausieren" msgid "Paused" msgstr "Pausiert" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3822,14 +3747,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Einfache Seitenleiste" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Wiedergabe" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Wiedergabezähler" @@ -3860,7 +3785,7 @@ msgstr "Spielereinstellungen" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Wiedergabeliste" @@ -3877,7 +3802,7 @@ msgstr "Wiedergabeliste einrichten" msgid "Playlist type" msgstr "Art der Wiedergabeliste" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Wiedergabelisten" @@ -3918,11 +3843,11 @@ msgstr "Einstellung" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Einstellungen" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Einstellungen …" @@ -3982,7 +3907,7 @@ msgid "Previous" msgstr "Vorheriger" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Vorherigen Titel" @@ -4033,16 +3958,16 @@ msgstr "Qualität" msgid "Querying device..." msgstr "Gerät wird abgefragt …" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Warteschlangenverwaltung" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Titel in die Warteschlange einreihen" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Titel in die Warteschlange einreihen" @@ -4054,7 +3979,7 @@ msgstr "Radio (gleicher Pegel für alle Titel)" msgid "Rain" msgstr "Regen" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Regen" @@ -4091,7 +4016,7 @@ msgstr "Den aktuellen Titel mit 4 Sternen bewerten" msgid "Rate the current song 5 stars" msgstr "Den aktuellen Titel mit 5 Sternen bewerten" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Bewertung" @@ -4158,7 +4083,7 @@ msgstr "Entfernen" msgid "Remove action" msgstr "Aktion entfernen" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Doppelte aus der Wiedergabeliste entfernen" @@ -4166,15 +4091,7 @@ msgstr "Doppelte aus der Wiedergabeliste entfernen" msgid "Remove folder" msgstr "Ordner entfernen" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Aus »Meine Musik« entfernen" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Aus den Lesezeichen entfernen" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Aus der Wiedergabeliste entfernen" @@ -4186,7 +4103,7 @@ msgstr "Wiedergabeliste entfernen" msgid "Remove playlists" msgstr "Wiedergabeliste entfernen" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Nicht verfügbare Titel von der Wiedergabeliste entfernen" @@ -4198,7 +4115,7 @@ msgstr "Wiedergabeliste umbenennen" msgid "Rename playlist..." msgstr "Wiedergabeliste umbenennen …" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Musiktitel in dieser Reihenfolge neu nummerieren …" @@ -4248,7 +4165,7 @@ msgstr "Neu bestücken" msgid "Require authentication code" msgstr "Legitimierungscode erzwingen" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Zurücksetzen" @@ -4289,7 +4206,7 @@ msgstr "Auslesen" msgid "Rip CD" msgstr "CD auslesen" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Audio-CD auslesen" @@ -4319,8 +4236,9 @@ msgstr "Gerät sicher entfernen" msgid "Safely remove the device after copying" msgstr "Das Gerät nach dem Kopiervorgang sicher entfernen" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Abtastrate" @@ -4358,7 +4276,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Wiedergabeliste speichern" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Wiedergabeliste speichern …" @@ -4398,7 +4316,7 @@ msgstr "Skalierbares Abtastratenprofil (SSR)" msgid "Scale size" msgstr "Bildgröße anpassen" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Punkte" @@ -4408,19 +4326,19 @@ msgstr "Titel, die ich höre, »scrobbeln«" #: ../bin/src/ui_behavioursettingspage.h:313 msgid "Scroll over icon to change track" -msgstr "Blättern Sie über ein Symbol, um den Titel zu ändern" +msgstr "Mausrad auf dem Benachrichtigungsfeld ändert Titel statt Lautstärke." #: ../bin/src/ui_seafilesettingspage.h:164 msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Suche" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Suche" @@ -4563,7 +4481,7 @@ msgstr "Server-Details" msgid "Service offline" msgstr "Dienst nicht verfügbar" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "%1 zu »%2« einstellen …" @@ -4572,7 +4490,7 @@ msgstr "%1 zu »%2« einstellen …" msgid "Set the volume to percent" msgstr "Setze Lautstärke auf %" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Wert für ausgewählte Titel einstellen …" @@ -4639,7 +4557,7 @@ msgstr "Clementine-Bildschirmanzeige anzeigen" msgid "Show above status bar" msgstr "Oberhalb der Statusleiste anzeigen" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Alle Titel anzeigen" @@ -4659,16 +4577,12 @@ msgstr "Trenner anzeigen" msgid "Show fullsize..." msgstr "In Originalgröße anzeigen …" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Gruppen in den globalen Suchergebnissen anzeigen" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "In Dateiverwaltung anzeigen …" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "In Bibliothek anzeigen …" @@ -4680,27 +4594,23 @@ msgstr "Unter »Verschiedene Interpreten« anzeigen" msgid "Show moodbar" msgstr "Stimmungsbarometer anzeigen" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Nur Doppelte anzeigen" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Nur ohne Schlagworte anzeigen" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Seitenleiste anzeigen oder ausblenden" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Aktuell wiedergegebenen Titel auf Ihrer Seite anzeigen" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Suchvorschläge anzeigen" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Seitenleiste anzeigen" @@ -4736,7 +4646,7 @@ msgstr "Zufällige Albenreihenfolge" msgid "Shuffle all" msgstr "Zufällige Titelreihenfolge" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Wiedergabeliste mischen" @@ -4772,7 +4682,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Vorherigen Titel in der Wiedergabeliste" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Übersprungzähler" @@ -4780,11 +4690,11 @@ msgstr "Übersprungzähler" msgid "Skip forwards in playlist" msgstr "Nächsten Titel in der Wiedergabeliste" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Ausgewählte Titel überspringen" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Titel überspringen" @@ -4816,7 +4726,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Titelinformationen" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Titelinfo" @@ -4852,7 +4762,7 @@ msgstr "Sortierung" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Quelle" @@ -4927,7 +4837,7 @@ msgid "Starting..." msgstr "Starten …" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Anhalten" @@ -4943,7 +4853,7 @@ msgstr "Wiedergabe nach jedem Titel anhalten" msgid "Stop after every track" msgstr "Wiedergabe nach jedem Titel anhalten" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Wiedergabe nach diesem Titel anhalten" @@ -4972,6 +4882,10 @@ msgstr "Angehalten" msgid "Stream" msgstr "Datenstrom" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5081,6 +4995,10 @@ msgstr "Das Titelbild des gerade abgespielten Titels" msgid "The directory %1 is not valid" msgstr "Verzeichnis %1 ist ungültig" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Der zweite Wert muss größer als der erste sein!" @@ -5099,7 +5017,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Die Versuchsperiode für den Subsonic-Server ist abgelaufen. Bitte machen Sie eine Spende, um einen Lizenzschlüssel zu erhalten. Details finden sich auf subsonic.org." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5141,7 +5059,7 @@ msgid "" "continue?" msgstr "Diese Dateien werden vom Gerät gelöscht. Möchten Sie wirklich fortfahren?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5225,7 +5143,7 @@ msgstr "Diese Geräteart wird nicht unterstützt: %1" msgid "Time step" msgstr "Zeitschritt" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5244,11 +5162,11 @@ msgstr "Clementine-Bildschirmanzeige umschalten" msgid "Toggle fullscreen" msgstr "Vollbild an/aus" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Einreihungsstatus ändern" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Scrobbeln ein- oder ausschalten" @@ -5288,7 +5206,7 @@ msgstr "Insgesamt gestellte Netzwerkanfragen" msgid "Trac&k" msgstr "&Titel" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Titel-Nr." @@ -5297,7 +5215,7 @@ msgstr "Titel-Nr." msgid "Tracks" msgstr "Titel" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Musik umwandeln" @@ -5334,6 +5252,10 @@ msgstr "Ausschalten" msgid "URI" msgstr "Adresse" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Adresse(n)" @@ -5359,9 +5281,9 @@ msgstr "Konnte %1 nicht herunterladen (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Unbekannt" @@ -5378,11 +5300,11 @@ msgstr "Unbekannter Fehler" msgid "Unset cover" msgstr "Titelbild entfernen" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Überspringen der ausgewählten Titel aufheben" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Titel nicht überspringen" @@ -5395,15 +5317,11 @@ msgstr "Abonnement kündigen" msgid "Upcoming Concerts" msgstr "Nächste Konzerte" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Aktualisieren" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Alle Podcasts aktualisieren" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Geänderte Bibliotheksordner aktualisieren" @@ -5513,7 +5431,7 @@ msgstr "Lautstärkepegel angleichen" msgid "Used" msgstr "Belegt" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Benutzeroberfläche" @@ -5539,7 +5457,7 @@ msgid "Variable bit rate" msgstr "Variable Bitrate" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Verschiedene Interpreten" @@ -5552,11 +5470,15 @@ msgstr "Version %1" msgid "View" msgstr "Ansicht" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Art der Visualisierung" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualisierungen" @@ -5564,10 +5486,6 @@ msgstr "Visualisierungen" msgid "Visualizations Settings" msgstr "Visualisierungseinstellungen" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Sprachaktivitätserkennung" @@ -5590,10 +5508,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Pinnwand" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Hinweis beim Schließen eines Wiedergabelistenreiters anzeigen" @@ -5696,7 +5610,7 @@ msgid "" "well?" msgstr "Möchten Sie die anderen Titel dieses Albums ebenfalls unter »Verschiedene Interpreten« anzeigen?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Möchten Sie jetzt Ihre Musiksammlung erneut einlesen?" @@ -5712,7 +5626,7 @@ msgstr "Metadaten schreiben" msgid "Wrong username or password." msgstr "Benutzername oder Passwort falsch." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/el.po b/src/translations/el.po index cf248e564..3600e4b7e 100644 --- a/src/translations/el.po +++ b/src/translations/el.po @@ -23,7 +23,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Greek (http://www.transifex.com/davidsansome/clementine/language/el/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -79,11 +79,6 @@ msgstr " δευτερόλεπτα" msgid " songs" msgstr " τραγούδια" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 τραγούδια)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -115,7 +110,7 @@ msgstr "%1 στο %2" msgid "%1 playlists (%2)" msgstr "%1 λίστες αναπαραγωγής (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 επιλεγμένα από" @@ -140,7 +135,7 @@ msgstr "βρέθηκαν %1 τραγούδια" msgid "%1 songs found (showing %2)" msgstr "βρέθηκαν %1 τραγούδια (εμφάνιση %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 κομμάτια" @@ -200,7 +195,7 @@ msgstr "&Κέντρο" msgid "&Custom" msgstr "&Προσαρμοσμένο" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Επιπρόσθετα" @@ -208,7 +203,7 @@ msgstr "&Επιπρόσθετα" msgid "&Grouping" msgstr "&Ομαδοποίηση" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Βοήθεια" @@ -233,7 +228,7 @@ msgstr "&Κλείδωμα της αξιολόγησης" msgid "&Lyrics" msgstr "&Στίχοι" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Μουσική" @@ -241,15 +236,15 @@ msgstr "Μουσική" msgid "&None" msgstr "&Καμία" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Λίστα αναπαραγωγής" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Έξοδος" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Λειτουργία &επανάληψης " @@ -257,7 +252,7 @@ msgstr "Λειτουργία &επανάληψης " msgid "&Right" msgstr "&Δεξιά" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Λειτουργία &ανακατέματος" @@ -265,7 +260,7 @@ msgstr "Λειτουργία &ανακατέματος" msgid "&Stretch columns to fit window" msgstr "Επέκταση των στηλών για να χωρέσει το παράθυρο" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Εργαλεία" @@ -301,7 +296,7 @@ msgstr "0px" msgid "1 day" msgstr "1 ημέρα" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 κομμάτι" @@ -445,11 +440,11 @@ msgstr "Ματαίωση" msgid "About %1" msgstr "Περί %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Περί του Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Περί του Qt..." @@ -459,7 +454,7 @@ msgid "Absolute" msgstr "Απόλυτο" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Λεπτομέρειες λογαριασμού" @@ -513,19 +508,19 @@ msgstr "Προσθήκη άλλης ροής..." msgid "Add directory..." msgstr "Προσθήκη καταλόγου..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Προσθήκη αρχείου" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Προσθήκη αρχείου για διακωδικοποίηση" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Προσθήκη αρχείου(ων) για διακωδικοποίηση" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Προσθήκη αρχείου..." @@ -533,12 +528,12 @@ msgstr "Προσθήκη αρχείου..." msgid "Add files to transcode" msgstr "Προσθήκη αρχείων για επανακωδικοποίηση" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Προσθήκη φακέλου" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Προσθήκη φακέλου" @@ -550,7 +545,7 @@ msgstr "Προσθήκη νέου φακέλου..." msgid "Add podcast" msgstr "Προσθήκη διαδικτυακής εκπομπής" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Προσθήκη διαδικτυακής εκπομπής..." @@ -618,10 +613,6 @@ msgstr "Προσθήκη τραγουδιού για παράληψη της σ msgid "Add song title tag" msgstr "Προσθήκη ετικέτας τίτλου τραγουδιού" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Προσθήκη τραγουδιού στην προσωρινή αποθήκευση" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Προσθήκη ετικέτας αριθμού τραγουδιού" @@ -630,18 +621,10 @@ msgstr "Προσθήκη ετικέτας αριθμού τραγουδιού" msgid "Add song year tag" msgstr "Προσθήκη ετικέτας χρονολογίας τραγουδιού" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Προσθέτει τραγούδια στο \"Η Μουσική μου\" όταν γίνεται \"κλικ\" στο κουμπί \"Αγάπη\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Προσθήκη ροής..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Προσθήκη στη Μουσική μου" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Προσθήκη στην λίστα αναπαραγωγής Spotify" @@ -650,14 +633,10 @@ msgstr "Προσθήκη στην λίστα αναπαραγωγής Spotify" msgid "Add to Spotify starred" msgstr "Προσθήκη για Spotify πρωταγωνίστησε" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Προσθήκη σε άλλη λίστα" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Προσθήκη στους σελιδοδείκτες" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Προσθήκη στη λίστα" @@ -667,10 +646,6 @@ msgstr "Προσθήκη στη λίστα" msgid "Add to the queue" msgstr "Προσθήκη στην λίστα αναμονής" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Προσθήκη χρήστη/ομάδας στους σελιδοδείκτες" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Προσθήκη ενέργειας wiimotedev" @@ -708,7 +683,7 @@ msgstr "Μετά " msgid "After copying..." msgstr "Μετά την αντιγραφή..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -721,7 +696,7 @@ msgstr "Άλμπουμ" msgid "Album (ideal loudness for all tracks)" msgstr "Άλμπουμ (ιδανική ένταση για όλα τα κομμάτια)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -736,10 +711,6 @@ msgstr "Εξώφυλλο άλμπουμ" msgid "Album info on jamendo.com..." msgstr "Πληροφορίες άλμπουμ στο jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Άλμπουμ" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Άλμπουμ με εξώφυλλα" @@ -752,11 +723,11 @@ msgstr "Άλμπουμ χωρίς εξώφυλλα" msgid "All" msgstr "όλα" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Όλα τα αρχεία (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Όλη η δόξα στον Hypnotoad!" @@ -881,7 +852,7 @@ msgid "" "the songs of your library?" msgstr "Είστε σίγουροι πως θέλετε να γράψετε τα στατιστικά των τραγουδιών στα αρχεία των τραγουδιών για όλα τα τραγούδια στη βιβλιοθήκη σας;" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -890,7 +861,7 @@ msgstr "Είστε σίγουροι πως θέλετε να γράψετε τα msgid "Artist" msgstr "Καλλιτέχνης" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Πληρ. καλλιτέχνη" @@ -961,7 +932,7 @@ msgstr "Μέσο μέγεθος εικόνας" msgid "BBC Podcasts" msgstr "Διαδικτυακές εκπομπές BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1018,7 +989,8 @@ msgstr "Βέλτιστος" msgid "Biography" msgstr "&Βιογραφία" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Ρυθμός bit" @@ -1071,7 +1043,7 @@ msgstr "Αναζήτηση..." msgid "Buffer duration" msgstr "Διάρκεια της ενδιάμεσης μνήμης" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Φόρτωση" @@ -1095,19 +1067,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Υποστήριξη φύλλων CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Διαδρομή προσωρινής αποθήκευσης" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Προσωρινή αποθήκευση" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Προσωρινή αποθήκευση %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Άκυρο" @@ -1116,12 +1075,6 @@ msgstr "Άκυρο" msgid "Cancel download" msgstr "Ακύρωση της λήψης" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Το CAPTCHA είναι αναγκαίο.\nΠροσπαθήστε για συνδεθείτε στο Vk.com με τον περιηγητή σας, για να διορθώσετε αυτό το πρόβλημα." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Αλλαγή εξώφυλλου καλλιτέχνη" @@ -1160,6 +1113,10 @@ msgid "" "songs" msgstr "Η αλλαγή αναπαραγωγής mono θα ενεργοποιηθεί για τα επόμενα τραγούδια " +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Έλεγχος για νέα επεισόδια" @@ -1168,19 +1125,15 @@ msgstr "Έλεγχος για νέα επεισόδια" msgid "Check for updates" msgstr "Έλεγχος για ενημερώσεις" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Έλεγχος για ενημερώσεις" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Επιλογή του Vk.com κατάλογου προσωρινής μνήμης " - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Επιλέξτε ένα όνομα για την έξυπνη λίστα αναπαραγωγής" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Αυτόματη επιλογή" @@ -1226,13 +1179,13 @@ msgstr "Καθάρισμα" msgid "Clear" msgstr "Καθαρισμός" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Καθαρισμός λίστας" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1365,24 +1318,20 @@ msgstr "Χρώματα" msgid "Comma separated list of class:level, level is 0-3" msgstr "Λίστα χωρισμένη με κόμμα από class:level, το level είναι 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Σχόλια" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Κοινοτικό ραδιόφωνο" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Συμπλήρωση των ετικετών αυτόματα" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Συμπλήρωση των ετικετών αυτόματα..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1413,15 +1362,11 @@ msgstr "Ρύθμιση του Spotify..." msgid "Configure Subsonic..." msgstr "Ρύθμιση του Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Διαμόρφωση του Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Ρύθμιση καθολικής αναζήτησης..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Παραμετροποίηση της βιβλιοθήκης" @@ -1455,16 +1400,16 @@ msgid "" "http://localhost:4040/" msgstr "Ο διακομιστής αρνήθηκε τη σύνδεση, ελέγξτε το URL του διακομιστή. Παράδειγμα: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Η σύνδεση διακόπηκε, ελέγξτε το URL του διακομιστή. Παράδειγμα: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Προβλήματα σύνδεσης ή ήχου έχουν απενεργοποιηθεί από τον ιδιοκτήτη" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Τερματικό" @@ -1488,20 +1433,16 @@ msgstr "Μετατροπή αρχείων ήχου χωρίς απώλειες msgid "Convert lossless files" msgstr "Μετατροπή χωρίς απώλειες αρχείων" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Αντιγραφή στο πρόχειρο" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Αντιγραφή στο πρόχειρο" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Αντιγραφή στην συσκευή..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Αντιγραφή στην βιβλιοθήκη..." @@ -1523,6 +1464,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Δεν μπόρεσε να δημιουργηθεί το στοιχείο \"%1\" του GStreamer - βεβαιωθείτε ότι έχετε όλα τα απαραίτητα πρόσθετα του GStreamer εγκατεστημένα" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Δεν ήταν δυνατή η δημιουργία λίστας αναπαραγωγής" @@ -1549,7 +1499,7 @@ msgstr "Δεν μπορεί να ανοίξει το αρχείο εξόδου % #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Διαχείριση εξώφυλλων" @@ -1635,11 +1585,11 @@ msgid "" "recover your database" msgstr "Ανιχνεύτηκε αλλοίωση της βάσης δεδομένων. Παρακαλώ διαβάστε το https://github.com/clementine-player/Clementine/wiki/Database-Corruption για οδηγίες σχετικά με με την ανάκτηση της βάσης δεδομένων" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Ημερομηνία δημιουργίας" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Ημερομηνία τροποποίησης" @@ -1667,7 +1617,7 @@ msgstr "Μείωση έντασης" msgid "Default background image" msgstr "Προεπιλεγμένη εικόνα φόντου" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Προεπιλεγμένη συσκευή στο %1" @@ -1690,7 +1640,7 @@ msgid "Delete downloaded data" msgstr "Διαγραφή ληφθέντων δεδομένων" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Διαγραφή αρχείων" @@ -1698,7 +1648,7 @@ msgstr "Διαγραφή αρχείων" msgid "Delete from device..." msgstr "Διαγραφή από την συσκευή..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Διαγραφή από τον δίσκο..." @@ -1723,11 +1673,15 @@ msgstr "Διαγραφή των αρχικών αρχείων" msgid "Deleting files" msgstr "Γίνεται διαγραφή αρχείων" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Αφαίρεση των επιλεγμένων κομματιών από την λίστα αναμονής" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Αφαίρεση του κομματιού από την λίστα αναμονής" @@ -1756,11 +1710,11 @@ msgstr "Όνομα συσκευής" msgid "Device properties..." msgstr "Ιδιότητες συσκευής..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Συσκευές" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Διάλογος" @@ -1807,7 +1761,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Απενεργοποιημένο" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1828,7 +1782,7 @@ msgstr "Επιλογές απεικόνισης" msgid "Display the on-screen-display" msgstr "Εμφάνιση της «απεικόνισης στην οθόνη»" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Εκτελέστε μία πλήρη επανασάρωση της βιβλιοθήκης" @@ -1999,12 +1953,12 @@ msgstr "Δυναμική τυχαία ανάμιξη" msgid "Edit smart playlist..." msgstr "Τροποποίηση έξυπνης λίστας αναπαραγωγής" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Τροποποίηση ετικέτας \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Τροποποίηση ετικέτας..." @@ -2017,7 +1971,7 @@ msgid "Edit track information" msgstr "Τροποποίηση πληροφοριών κομματιού" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Τροποποίηση πληροφοριών κομματιού..." @@ -2037,10 +1991,6 @@ msgstr "Ηλ. αλληλογραφία" msgid "Enable Wii Remote support" msgstr "Ενεργοποίηση της υποστήριξης χειριστηρίων Wii" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Ενεργοποίηση αυτόματης προσωρινής αποθήκευσης " - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Ενεργοποίηση του ισοσταθμιστή" @@ -2125,7 +2075,7 @@ msgstr "Εισάγετε αυτή την διεύθυνση IP στο App για msgid "Entire collection" msgstr "Ολόκληρη η συλλογή" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ισοσταθμιστής" @@ -2138,8 +2088,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Ισοδύναμο με --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Σφάλμα" @@ -2159,6 +2109,11 @@ msgstr "Σφάλμα κατά την αντιγραφή τραγουδιών" msgid "Error deleting songs" msgstr "Σφάλμα κατά την διαγραφή τραγουδιών" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Σφάλμα στην λήψη του πρόσθετου του Spotify" @@ -2279,7 +2234,7 @@ msgstr "Εξομάλυνση" msgid "Fading duration" msgstr "Διάρκεια εξομάλυνσης" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Αποτυχία ανάγνωσης της μονάδας CD" @@ -2358,27 +2313,23 @@ msgstr "Επέκταση αρχείου" msgid "File formats" msgstr "Μορφή αρχείων" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Όνομα αρχείου" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Όνομα αρχείου (χωρίς διαδρομή)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Σχηματομορφή του ονόματος του αρχείου:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "διαδρομές των αρχείων" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Μέγεθος αρχείου" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2388,7 +2339,7 @@ msgstr "Τύπος αρχείου" msgid "Filename" msgstr "Όνομα αρχείου" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Αρχεία" @@ -2400,10 +2351,6 @@ msgstr "Αρχεία προς αλλαγή του τύπου συμπίεσης" msgid "Find songs in your library that match the criteria you specify." msgstr "Εύρεση τραγουδιών στην βιβλιοθήκη που πληρούν τα κριτήρια που ορίσατε." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Εύρεση αυτού του τραγουδιστή" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Δακτυλοσκόπηση τραγουδιού" @@ -2472,6 +2419,7 @@ msgid "Form" msgstr "Μορφή" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Μορφή" @@ -2508,7 +2456,7 @@ msgstr "Πλήρως πρίμα" msgid "Ge&nre" msgstr "Εί&δος" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Γενικά" @@ -2516,7 +2464,7 @@ msgstr "Γενικά" msgid "General settings" msgstr "Γενικές ρυθμίσεις" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2549,11 +2497,11 @@ msgstr "Δώστε του ένα όνομα:" msgid "Go" msgstr "Μετάβαση" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Μετάβαση στην επόμενη καρτέλα της λίστας αναπαραγωγής" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Μετάβαση στην προηγούμενη καρτέλα της λίστας αναπαραγωγής" @@ -2607,7 +2555,7 @@ msgstr "Ομαδοποίηση κατά Είδος/Άλμπουμ" msgid "Group by Genre/Artist/Album" msgstr "Ομαδοποίηση κατά Είδος/Καλλιντέχνη/Άλμπουμ" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2797,11 +2745,11 @@ msgstr "Εγκατεστημένο" msgid "Integrity check" msgstr "έλεγχος ακεραιότητας" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Διαδίκτυο" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Παροχείς διαδικτύου" @@ -2818,6 +2766,10 @@ msgstr "Εισαγωγικά κομμάτια" msgid "Invalid API key" msgstr "Εσφαλμένο κλειδί API" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Εσφαλμένη διαμόρφωση" @@ -2874,7 +2826,7 @@ msgstr "Βάση δεδομένων Jamendo" msgid "Jump to previous song right away" msgstr "Μετάβαση στο προηγούμενο τραγούδι αμέσως" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Μετάβαση στο τρέχον κομμάτι που παίζει" @@ -2898,7 +2850,7 @@ msgstr "Συνέχιση της εκτέλεσης στο παρασκήνιο msgid "Keep the original files" msgstr "Διατήρηση των αρχικών αρχείων" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Γατάκια" @@ -2939,7 +2891,7 @@ msgstr "Μεγάλη πλευρική μπάρα" msgid "Last played" msgstr "Τελευταία εκτέλεση" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Τελευταία εκτέλεση" @@ -2980,12 +2932,12 @@ msgstr "Λιγότερο αγαπημένα κομμάτια" msgid "Left" msgstr "Αριστερά" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Διάρκεια" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Βιβλιοθήκη" @@ -2994,7 +2946,7 @@ msgstr "Βιβλιοθήκη" msgid "Library advanced grouping" msgstr "Προχωρημένη ομαδοποίηση βιβλιοθήκης" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Ειδοποίηση σάρωσης βιβλιοθήκης" @@ -3034,7 +2986,7 @@ msgstr "Φόρτωση εξώφυλλου από τον δίσκο..." msgid "Load playlist" msgstr "Φόρτωση λίστας αναπαραγωγής" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Φόρτωση λίστας αναπαραγωγής..." @@ -3070,8 +3022,7 @@ msgstr "Φόρτωση πληροφοριών κομματιού" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Φόρτωση..." @@ -3080,7 +3031,6 @@ msgstr "Φόρτωση..." msgid "Loads files/URLs, replacing current playlist" msgstr "Φορτώνει αρχεία/URL, αντικαθιστώντας την τρέχουσα λίστα αναπαραγωγής" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3090,8 +3040,7 @@ msgstr "Φορτώνει αρχεία/URL, αντικαθιστώντας την #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Είσοδος" @@ -3099,15 +3048,11 @@ msgstr "Είσοδος" msgid "Login failed" msgstr "Αποτυχία εισόδου" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Αποσύνδεση" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Προφίλ χρόνιας πρόβλεψης (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Αγάπη" @@ -3140,7 +3085,7 @@ msgstr "Στίχοι από %1" #: songinfo/taglyricsinfoprovider.cpp:29 msgid "Lyrics from the tag" -msgstr "" +msgstr "Στίχοι από την ετικέτα" #: transcoder/transcoder.cpp:235 msgid "M4A AAC" @@ -3188,7 +3133,7 @@ msgstr "Κύριο προφίλ (MAIN)" msgid "Make it so!" msgstr "Κάνε το!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Κάνε το!" @@ -3234,10 +3179,6 @@ msgstr "Ταίριασμα όλων των όρων αναζήτησης (λογ msgid "Match one or more search terms (OR)" msgstr "Ταίριασμα ενός ή περισσότερων όρων αναζήτησης (λογικό Ή)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Μέγιστα αποτελέσματα παγκόσμιας αναζήτησης" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Μέγιστος ρυθμός bit" @@ -3268,6 +3209,10 @@ msgstr "Ελάχιστος ρυθμός bit" msgid "Minimum buffer fill" msgstr "Ελάχιστο πλήρωσης ρυθμιστικό" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Απόντες projectM προεπιλογές" @@ -3288,7 +3233,7 @@ msgstr "Αναπαραγωγή Mono" msgid "Months" msgstr "Μήνες" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Mood" @@ -3301,10 +3246,6 @@ msgstr "Στυλ moodbar" msgid "Moodbars" msgstr "Moodbars" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Περισσότερα" - #: library/library.cpp:84 msgid "Most played" msgstr "Έπαιξαν περισσότερο" @@ -3322,7 +3263,7 @@ msgstr "Σημεία φόρτωσης (mount points)" msgid "Move down" msgstr "Μετακίνηση κάτω" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Μετακίνηση στην βιβλιοθήκη..." @@ -3331,8 +3272,7 @@ msgstr "Μετακίνηση στην βιβλιοθήκη..." msgid "Move up" msgstr "Μετακίνηση πάνω" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Μουσική" @@ -3341,22 +3281,10 @@ msgid "Music Library" msgstr "Μουσική βιβλιοθήκη" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Σίγαση" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Τα άλμπουμ μου" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Η μουσική μου" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Οι Προτάσεις μου" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3402,7 +3330,7 @@ msgstr "Ποτέ μην ξεκινά η αναπαραγωγή" msgid "New folder" msgstr "Νέος φάκελος" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Νέα λίστα" @@ -3431,7 +3359,7 @@ msgid "Next" msgstr "Επόμενο" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Επόμενο κομμάτι" @@ -3469,7 +3397,7 @@ msgstr "Όχι βραχαία μπλοκς" msgid "None" msgstr "Κανένα" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Κανένα από τα επιλεγμένα τραγούδια δεν ήταν κατάλληλο για αντιγραφή σε μία συσκευή" @@ -3518,10 +3446,6 @@ msgstr "Δεν είστε συνδεδεμένος" msgid "Not mounted - double click to mount" msgstr "Δεν είναι φορτωμένο - διπλό \"κλικ\" για φόρτωση" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Τίποτα δεν βρέθηκε" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Τύπος ειδοποίησης" @@ -3603,7 +3527,7 @@ msgstr "Αδιαφάνεια" msgid "Open %1 in browser" msgstr "Άνοιγμα του %1 στον περιηγητή" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Άνοιγμα CD ή&χου..." @@ -3623,7 +3547,7 @@ msgstr "Άνοιγμα ένος κατάλογου για εισάγωγη μο msgid "Open device" msgstr "Άνοιγμα συσκευής" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Άνοιγμα αρχείου..." @@ -3677,7 +3601,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Οργάνωση Αρχείων" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Οργάνωση αρχείων..." @@ -3689,7 +3613,7 @@ msgstr "Γίνετε οργάνωση αρχείων" msgid "Original tags" msgstr "Αρχικές ετικέτες" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3757,7 +3681,7 @@ msgstr "Πάρτι" msgid "Password" msgstr "Συνθηματικό" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Παύση" @@ -3770,7 +3694,7 @@ msgstr "Παύση αναπαραγωγής" msgid "Paused" msgstr "Σταματημένο" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3785,14 +3709,14 @@ msgstr "Εικονοστοιχεία" msgid "Plain sidebar" msgstr "Απλή πλευρική μπάρα" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Αναπαραγωγή" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Μετρητής εκτελέσεων" @@ -3823,7 +3747,7 @@ msgstr "Επιλογές αναπαραγωγής" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Λίστα" @@ -3840,7 +3764,7 @@ msgstr "Επιλογές λίστας αναπαραγωγής" msgid "Playlist type" msgstr "Τύπος λίστας αναπαραγωγής" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Λίστες" @@ -3881,11 +3805,11 @@ msgstr "Προτιμήσεις" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Προτιμήσεις" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Προτιμήσεις..." @@ -3945,7 +3869,7 @@ msgid "Previous" msgstr "Προηγούμενο" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Προηγούμενο κομμάτι" @@ -3996,16 +3920,16 @@ msgstr "Ποιότητα" msgid "Querying device..." msgstr "Ερώτηση συσκευής..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Διαχειριστής λίστας αναμονής" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Τοποθέτηση στη λίστας αναμονής τα επιλεγμένα κομμάτια" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Τοποθέτηση στη λίστας αναμονής του κομματιού" @@ -4017,7 +3941,7 @@ msgstr "Ραδιόφωνο (ίση ένταση για όλα τα κομμάτ msgid "Rain" msgstr "Βροχή" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Βροχή" @@ -4054,7 +3978,7 @@ msgstr "Βαθμολογία τρέχοντος τραγουδιού με 4 ασ msgid "Rate the current song 5 stars" msgstr "Βαθμολογία τρέχοντος τραγουδιού με 5 αστέρια" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Βαθμολόγηση" @@ -4121,7 +4045,7 @@ msgstr "Αφαίρεση" msgid "Remove action" msgstr "Αφαίρεση ενέργειας" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Αφαίρεση διπλότυπων από την λίστα" @@ -4129,15 +4053,7 @@ msgstr "Αφαίρεση διπλότυπων από την λίστα" msgid "Remove folder" msgstr "Αφαίρεση φακέλου" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Αφαίρεση από την Μουσική Μου" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Κατάργηση από τους σελιδοδείκτες" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Αφαίρεση από την λίστα" @@ -4149,7 +4065,7 @@ msgstr "Αφαίρεση λίστας αναπαραγωγής" msgid "Remove playlists" msgstr "Αφαίρεση λίστας αναπαραγωγής" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Αφαίρεση διαθέσιμων κομμάτιων από την λίστα αναπαραγωγής" @@ -4161,7 +4077,7 @@ msgstr "Μετονομασία λίστας αναπαραγωγής" msgid "Rename playlist..." msgstr "Μετονομασία λίστας αναπαραγωγής..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Επαναρίθμησε τα κομμάτια κατά αυτή την σειρά..." @@ -4211,7 +4127,7 @@ msgstr "Επανασυμπλήρωση" msgid "Require authentication code" msgstr "Απαίτηση κωδικού επαλήθευσης" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Επαναφορά" @@ -4252,7 +4168,7 @@ msgstr "Αντιγραφή" msgid "Rip CD" msgstr "Αντιγραφή CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Αντιγραφή CD ήχου" @@ -4282,8 +4198,9 @@ msgstr "Ασφαλής αφαίρεση συσκευής" msgid "Safely remove the device after copying" msgstr "Ασφαλής αφαίρεση συσκευής μετά την αντιγραφή" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Ρυθμός δειγματοληψίας" @@ -4321,7 +4238,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Αποθήκευση λίστας αναπαραγωγής" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Αποθήκευση λίστας αναπαραγωγής..." @@ -4361,7 +4278,7 @@ msgstr "Προφίλ κλιμακούμενου ρυθμού δειγματολ msgid "Scale size" msgstr "Διαβάθμιση μεγέθους" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Σκορ" @@ -4378,12 +4295,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Αναζήτηση" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Αναζήτηση" @@ -4526,7 +4443,7 @@ msgstr "Λεπτομέρειες διακομιστή" msgid "Service offline" msgstr "Υπηρεσία εκτός σύνδεσης" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Δώσε %1 στο \"%2\"..." @@ -4535,7 +4452,7 @@ msgstr "Δώσε %1 στο \"%2\"..." msgid "Set the volume to percent" msgstr "Ρύθμιση της έντασης ήχου στο της εκατό" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Δώσε τιμή σε όλα τα επιλεγμένα κομμάτια..." @@ -4602,7 +4519,7 @@ msgstr "Εμφάνισε ένα όμορφο OSD" msgid "Show above status bar" msgstr "Εμφάνιση πάνω από την μπάρα κατάστασης" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Εμφάνιση όλων των τραγουδιών" @@ -4622,16 +4539,12 @@ msgstr "Εμφάνιση διαχωριστών" msgid "Show fullsize..." msgstr "Εμφάνισε σε πλήρες μέγεθος..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Εμφάνιση ομάδων με συνολικό αποτέλεσμα αναζήτησης" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Εμφάνιση στον περιηγητή αρχείων..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Εμφάνιση στην βιβλιοθήκη" @@ -4643,27 +4556,23 @@ msgstr "Εμφάνιση στους διάφορους καλλιτέχνες" msgid "Show moodbar" msgstr "Εμφάνιση της γραμμής διάθεσης" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Εμφάνιση μόνο διπλότυπων" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Εμφάνιση μόνο μη επισημασμένων" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Εμφάνιση ή απόκρυψη της πλευρικής στήλης" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Εμφάνιση του τραγουδιού που εκτελείται στη σελίδα σας" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Εμφάνιση προτάσεων αναζήτησης" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Εμφάνιση της πλευρικής στήλης" @@ -4699,7 +4608,7 @@ msgstr "Ανακάτεμα άλμπουμ" msgid "Shuffle all" msgstr "Ανακάτεμα όλων" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Ανακάτεμα λίστας" @@ -4735,7 +4644,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Παράλειψη προς τα πίσω στη λίστα" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Μετρητής παραλήψεων" @@ -4743,11 +4652,11 @@ msgstr "Μετρητής παραλήψεων" msgid "Skip forwards in playlist" msgstr "Παράλειψη προς τα μπροστά στη λίστα" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Παράκαμψη επιλεγμένων κομματιών" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Παράκαμψη κομματιού" @@ -4779,7 +4688,7 @@ msgstr "Απαλή Rock" msgid "Song Information" msgstr "Πληρ. τραγουδιού" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Πληρ. τραγουδιού" @@ -4815,7 +4724,7 @@ msgstr "Ταξινόμηση" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Πηγή" @@ -4890,7 +4799,7 @@ msgid "Starting..." msgstr "Εκκίνηση..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Σταμάτημα" @@ -4906,7 +4815,7 @@ msgstr "Σταμάτημα μετά από κάθε κομμάτι" msgid "Stop after every track" msgstr "Σταμάτημα μετά από κάθε κομμάτι" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Σταμάτημα μετά από αυτό το κομμάτι" @@ -4935,6 +4844,10 @@ msgstr "Σταματημένο" msgid "Stream" msgstr "Ροή" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5044,6 +4957,10 @@ msgstr "Το εξώφυλλο του άλμπουμ του τραγουδιού msgid "The directory %1 is not valid" msgstr "Ο κατάλογος %1 δεν είναι έγκυρος" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Η δεύτερη τιμή πρέπει να είναι μεγαλύτερη από την πρώτη!" @@ -5062,7 +4979,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Η δοκιμαστική περίοδος του Subsonic τελείωσε. Παρακαλώ κάντε μια δωρεά για να λάβετε ένα κλειδί άδειας. Δείτε στο subsonic.org για λεπτομέρειες." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5104,7 +5021,7 @@ msgid "" "continue?" msgstr "Αυτά τα αρχεία θα διαγραφούν από την συσκευή, θέλετε σίγουρα να συνεχίσετε;" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5188,7 +5105,7 @@ msgstr "Αυτού του τύπου η συσκευή δεν υποστηρίζ msgid "Time step" msgstr "Βήμα χρόνου" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5207,11 +5124,11 @@ msgstr "Εναλλαγή Όμορφου OSD" msgid "Toggle fullscreen" msgstr "Εναλλαγή πλήρης οθόνης" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Εναλλαγή της κατάστασης της λίστας αναμονής" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Εναλλαγή του μουσικού προφίλ" @@ -5251,7 +5168,7 @@ msgstr "Συνολικές αιτήσεις δικτύου που πραγματ msgid "Trac&k" msgstr "Κο&μμάτι" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Κομμάτι" @@ -5260,7 +5177,7 @@ msgstr "Κομμάτι" msgid "Tracks" msgstr "Κομμάτια" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Διακωδικοποίηση μουσικής" @@ -5297,6 +5214,10 @@ msgstr "Απενεργοποίηση" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL" @@ -5322,9 +5243,9 @@ msgstr "Αδυναμία λήψης του %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Άγνωστο" @@ -5341,11 +5262,11 @@ msgstr "Άγνωστο σφάλμα" msgid "Unset cover" msgstr "Αφαίρεση εξώφυλλου" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Καταργήση της παράλειψης επιλεγμένων κομματιών" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Καταργήση της παράλειψης τροχιάς" @@ -5358,15 +5279,11 @@ msgstr "Ακύρωση συνδρομής" msgid "Upcoming Concerts" msgstr "Προσεχής συναυλίες" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Ενημέρωση" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Ενημέρωση όλων των διαδικτυακών εκπομπών" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Ενημέρωση φακέλων βιβλιοθήκης που άλλαξαν" @@ -5476,7 +5393,7 @@ msgstr "Χρήση κανονικοποίησης ήχου" msgid "Used" msgstr "Σε χρήση" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Διασύνδεση χρήστη" @@ -5502,7 +5419,7 @@ msgid "Variable bit rate" msgstr "Μεταβαλλόμενος ρυθμός bit" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Διάφοροι καλλιτέχνες" @@ -5515,11 +5432,15 @@ msgstr "Έκδοση %1" msgid "View" msgstr "Προβολή" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Τρόπος λειτουργίας οπτικών εφέ" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Οπτικά εφέ" @@ -5527,10 +5448,6 @@ msgstr "Οπτικά εφέ" msgid "Visualizations Settings" msgstr "Ρυθμίσεις οπτικών εφέ" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Ανίχνευση δραστηριότητας φωνής" @@ -5553,10 +5470,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Τοίχος" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Προειδοποίηση κατά το κλείσιμο μίας λίστας αναπαραγωγής" @@ -5659,7 +5572,7 @@ msgid "" "well?" msgstr "Θα θέλατε να μετακινήσετε και τα άλλα τραγούδια σε αυτό το άλμπουμ στο Διάφοροι Καλλιτέχνες;" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Θέλετε να εκτελέσετε μία πλήρη επανασάρωση αμέσως τώρα;" @@ -5675,7 +5588,7 @@ msgstr "Εγγραφή μεταδεδομένων" msgid "Wrong username or password." msgstr "Λανθασμένο όνομα χρήστη ή συνθηματικό" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/en_CA.po b/src/translations/en_CA.po index 511645c37..3789a773b 100644 --- a/src/translations/en_CA.po +++ b/src/translations/en_CA.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: English (Canada) (http://www.transifex.com/davidsansome/clementine/language/en_CA/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -65,11 +65,6 @@ msgstr " seconds" msgid " songs" msgstr "songs" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 songs)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -101,7 +96,7 @@ msgstr "%1 on %2" msgid "%1 playlists (%2)" msgstr "%1 playlists (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 selected of" @@ -126,7 +121,7 @@ msgstr "%1 songs found" msgid "%1 songs found (showing %2)" msgstr "%1 songs found (showing %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 tracks" @@ -186,7 +181,7 @@ msgstr "&Centre" msgid "&Custom" msgstr "&Custom" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extras" @@ -194,7 +189,7 @@ msgstr "&Extras" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Help" @@ -219,7 +214,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Music" @@ -227,15 +222,15 @@ msgstr "Music" msgid "&None" msgstr "&None" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Playlist" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Quit" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Repeat mode" @@ -243,7 +238,7 @@ msgstr "Repeat mode" msgid "&Right" msgstr "&Right" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Shuffle mode" @@ -251,7 +246,7 @@ msgstr "Shuffle mode" msgid "&Stretch columns to fit window" msgstr "&Stretch columns to fit window" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Tools" @@ -287,7 +282,7 @@ msgstr "0px" msgid "1 day" msgstr "1 day" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 track" @@ -431,11 +426,11 @@ msgstr "Abort" msgid "About %1" msgstr "About %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "About Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "About Qt..." @@ -445,7 +440,7 @@ msgid "Absolute" msgstr "Absolute" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Account details" @@ -499,19 +494,19 @@ msgstr "Add another stream..." msgid "Add directory..." msgstr "Add directory..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Add file" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Add file to transcoder" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Add file(s) to transcoder" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Add file..." @@ -519,12 +514,12 @@ msgstr "Add file..." msgid "Add files to transcode" msgstr "Add files to transcode" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Add folder" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Add folder..." @@ -536,7 +531,7 @@ msgstr "Add new folder..." msgid "Add podcast" msgstr "Add podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Add podcast..." @@ -604,10 +599,6 @@ msgstr "Add song skip count" msgid "Add song title tag" msgstr "Add song title tag" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Add song to cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Add song track tag" @@ -616,18 +607,10 @@ msgstr "Add song track tag" msgid "Add song year tag" msgstr "Add song year tag" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Add songs to \"My Music\" when the \"Love\" button is clicked" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Add stream..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Add to My Music" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Add to Spotify playlists" @@ -636,14 +619,10 @@ msgstr "Add to Spotify playlists" msgid "Add to Spotify starred" msgstr "Add to Spotify starred" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Add to another playlist" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Add to bookmarks" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Add to playlist" @@ -653,10 +632,6 @@ msgstr "Add to playlist" msgid "Add to the queue" msgstr "Add to the queue" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Add user/group to bookmarks" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Add wiimotedev action" @@ -694,7 +669,7 @@ msgstr "After " msgid "After copying..." msgstr "After copying..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -707,7 +682,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (ideal loudness for all tracks)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -722,10 +697,6 @@ msgstr "Album cover" msgid "Album info on jamendo.com..." msgstr "Album info on jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albums" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albums with covers" @@ -738,11 +709,11 @@ msgstr "Albums without covers" msgid "All" msgstr "All" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "All Files (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "All Glory to the Hypnotoad!" @@ -867,7 +838,7 @@ msgid "" "the songs of your library?" msgstr "Are you sure you want to write song's statistics into song's file for all the songs of your library?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -876,7 +847,7 @@ msgstr "Are you sure you want to write song's statistics into song's file for al msgid "Artist" msgstr "Artist" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Artist info" @@ -947,7 +918,7 @@ msgstr "Average image size" msgid "BBC Podcasts" msgstr "BBC Podcasts" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1004,7 +975,8 @@ msgstr "Best" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bit rate" @@ -1057,7 +1029,7 @@ msgstr "Browse..." msgid "Buffer duration" msgstr "Buffer duration" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Buffering" @@ -1081,19 +1053,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE sheet support" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Cache path:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Caching" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Caching %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Cancel" @@ -1102,12 +1061,6 @@ msgstr "Cancel" msgid "Cancel download" msgstr "Cancel download" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha is needed.\nTry to login into Vk.com with your browser,to fix this problem." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Change cover art" @@ -1146,6 +1099,10 @@ msgid "" "songs" msgstr "Changing mono playback preference will be effective for the next playing songs" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Check for new episodes" @@ -1154,19 +1111,15 @@ msgstr "Check for new episodes" msgid "Check for updates" msgstr "Check for updates" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Check for updates..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Choose Vk.com cache directory" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Choose a name for your smart playlist" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Choose automatically" @@ -1212,13 +1165,13 @@ msgstr "Cleaning up" msgid "Clear" msgstr "Clear" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Clear playlist" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1351,24 +1304,20 @@ msgstr "Colours" msgid "Comma separated list of class:level, level is 0-3" msgstr "Comma separated list of class:level, level is 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Comment" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Community Radio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Complete tags automatically" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Complete tags automatically..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1399,15 +1348,11 @@ msgstr "Configure Spotify..." msgid "Configure Subsonic..." msgstr "Configure Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Configure Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Configure global search..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Configure library..." @@ -1441,16 +1386,16 @@ msgid "" "http://localhost:4040/" msgstr "Connection refused by server, check server URL. Example: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Connection timed out, check server URL. Example: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Connection trouble or audio is disabled by owner" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Console" @@ -1474,20 +1419,16 @@ msgstr "Convert lossless audiofiles before sending them to the remote." msgid "Convert lossless files" msgstr "Convert lossless files" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Copy share url to clipboard" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Copy to clipboard" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Copy to device..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Copy to library..." @@ -1509,6 +1450,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Could not create the GStreamer element \"%1\" - make sure you have all the required GStreamer plugins installed" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Couldn't create playlist" @@ -1535,7 +1485,7 @@ msgstr "Couldn't open output file %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Cover Manager" @@ -1621,11 +1571,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Date created" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Date modified" @@ -1653,7 +1603,7 @@ msgstr "Decrease volume" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1676,7 +1626,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1684,7 +1634,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1709,11 +1659,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1742,11 +1696,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1793,7 +1747,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1814,7 +1768,7 @@ msgstr "Display options" msgid "Display the on-screen-display" msgstr "Display the on-screen-display" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1985,12 +1939,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Edit tag..." @@ -2003,7 +1957,7 @@ msgid "Edit track information" msgstr "Edit track information" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Edit track information..." @@ -2023,10 +1977,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Enable equalizer" @@ -2111,7 +2061,7 @@ msgstr "" msgid "Entire collection" msgstr "Entire collection" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Equalizer" @@ -2124,8 +2074,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2145,6 +2095,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2265,7 +2220,7 @@ msgstr "Fading" msgid "Fading duration" msgstr "Fading duration" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Failed reading CD drive" @@ -2344,27 +2299,23 @@ msgstr "File extension" msgid "File formats" msgstr "File formats" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "File name" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "File name (without path)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "File name pattern:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "File paths" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "File size" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2374,7 +2325,7 @@ msgstr "File type" msgid "Filename" msgstr "Filename" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Files" @@ -2386,10 +2337,6 @@ msgstr "Files to transcode" msgid "Find songs in your library that match the criteria you specify." msgstr "Find songs in your library that match the criteria you specify." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Find this artist" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Fingerprinting song" @@ -2458,6 +2405,7 @@ msgid "Form" msgstr "Form" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2494,7 +2442,7 @@ msgstr "Full Treble" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "General" @@ -2502,7 +2450,7 @@ msgstr "General" msgid "General settings" msgstr "General settings" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2535,11 +2483,11 @@ msgstr "Give it a name:" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2593,7 +2541,7 @@ msgstr "Group by Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Group by Genre/Artist/Album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2783,11 +2731,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2804,6 +2752,10 @@ msgstr "" msgid "Invalid API key" msgstr "Invalid API key" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Invalid format" @@ -2860,7 +2812,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Jump to the currently playing track" @@ -2884,7 +2836,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2925,7 +2877,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2966,12 +2918,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Length" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Library" @@ -2980,7 +2932,7 @@ msgstr "Library" msgid "Library advanced grouping" msgstr "Library advanced grouping" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3020,7 +2972,7 @@ msgstr "" msgid "Load playlist" msgstr "Load playlist" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Load playlist..." @@ -3056,8 +3008,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3066,7 +3017,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "Loads files/URLs, replacing current playlist" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3076,8 +3026,7 @@ msgstr "Loads files/URLs, replacing current playlist" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3085,15 +3034,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Love" @@ -3174,7 +3119,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3220,10 +3165,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3254,6 +3195,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3274,7 +3219,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3287,10 +3232,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3308,7 +3249,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Move to library..." @@ -3317,8 +3258,7 @@ msgstr "Move to library..." msgid "Move up" msgstr "Move up" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Music" @@ -3327,22 +3267,10 @@ msgid "Music Library" msgstr "Music Library" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Mute" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "My Albums" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "My Music" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "My Recommendations" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3388,7 +3316,7 @@ msgstr "Never start playing" msgid "New folder" msgstr "New folder" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "New playlist" @@ -3417,7 +3345,7 @@ msgid "Next" msgstr "Next" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Next track" @@ -3455,7 +3383,7 @@ msgstr "No short blocks" msgid "None" msgstr "None" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "None of the selected songs were suitable for copying to a device" @@ -3504,10 +3432,6 @@ msgstr "Not logged in" msgid "Not mounted - double click to mount" msgstr "Not mounted - double click to mount" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nothing found" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Notification type" @@ -3589,7 +3513,7 @@ msgstr "Opacity" msgid "Open %1 in browser" msgstr "Open %1 in browser" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Open &audio CD..." @@ -3609,7 +3533,7 @@ msgstr "Open a directory to import music from" msgid "Open device" msgstr "Open device" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3663,7 +3587,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3675,7 +3599,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3743,7 +3667,7 @@ msgstr "Party" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pause" @@ -3756,7 +3680,7 @@ msgstr "Pause playback" msgid "Paused" msgstr "Paused" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3771,14 +3695,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Play" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3809,7 +3733,7 @@ msgstr "Player options" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Playlist" @@ -3826,7 +3750,7 @@ msgstr "Playlist options" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3867,11 +3791,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3931,7 +3855,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Previous track" @@ -3982,16 +3906,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4003,7 +3927,7 @@ msgstr "Radio (equal loudness for all tracks)" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4040,7 +3964,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4107,7 +4031,7 @@ msgstr "Remove" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4115,15 +4039,7 @@ msgstr "" msgid "Remove folder" msgstr "Remove folder" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Remove from playlist" @@ -4135,7 +4051,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4147,7 +4063,7 @@ msgstr "Rename playlist" msgid "Rename playlist..." msgstr "Rename playlist..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Renumber tracks in this order..." @@ -4197,7 +4113,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4238,7 +4154,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4268,8 +4184,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Sample rate" @@ -4307,7 +4224,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Save playlist..." @@ -4347,7 +4264,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4364,12 +4281,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4512,7 +4429,7 @@ msgstr "" msgid "Service offline" msgstr "Service offline" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Set %1 to \"%2\"..." @@ -4521,7 +4438,7 @@ msgstr "Set %1 to \"%2\"..." msgid "Set the volume to percent" msgstr "Set the volume to percent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Set value for all selected tracks..." @@ -4588,7 +4505,7 @@ msgstr "Show a pretty OSD" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4608,16 +4525,12 @@ msgstr "" msgid "Show fullsize..." msgstr "Show fullsize..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4629,27 +4542,23 @@ msgstr "Show in various artists" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4685,7 +4594,7 @@ msgstr "Shuffle albums" msgid "Shuffle all" msgstr "Shuffle all" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Shuffle playlist" @@ -4721,7 +4630,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Skip backwards in playlist" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Skip count" @@ -4729,11 +4638,11 @@ msgstr "Skip count" msgid "Skip forwards in playlist" msgstr "Skip forwards in playlist" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Skip selected tracks" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Skip track" @@ -4765,7 +4674,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4801,7 +4710,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4876,7 +4785,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Stop" @@ -4892,7 +4801,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Stop after this track" @@ -4921,6 +4830,10 @@ msgstr "Stopped" msgid "Stream" msgstr "Stream" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5030,6 +4943,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5048,7 +4965,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5090,7 +5007,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5174,7 +5091,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5193,11 +5110,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5237,7 +5154,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Track" @@ -5246,7 +5163,7 @@ msgstr "Track" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transcode Music" @@ -5283,6 +5200,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5308,9 +5229,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Unknown" @@ -5327,11 +5248,11 @@ msgstr "Unknown error" msgid "Unset cover" msgstr "Unset cover" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5344,15 +5265,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5462,7 +5379,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5488,7 +5405,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Various artists" @@ -5501,11 +5418,15 @@ msgstr "Version %1" msgid "View" msgstr "View" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Visualisation mode" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualisations" @@ -5513,10 +5434,6 @@ msgstr "Visualisations" msgid "Visualizations Settings" msgstr "Visualisations Settings" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5539,10 +5456,6 @@ msgstr "WAV" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5645,7 +5558,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5661,7 +5574,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/en_GB.po b/src/translations/en_GB.po index 040108721..4216084eb 100644 --- a/src/translations/en_GB.po +++ b/src/translations/en_GB.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/davidsansome/clementine/language/en_GB/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -65,11 +65,6 @@ msgstr " seconds" msgid " songs" msgstr " songs" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 songs)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -101,7 +96,7 @@ msgstr "%1 on %2" msgid "%1 playlists (%2)" msgstr "%1 playlists (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 selected of" @@ -126,7 +121,7 @@ msgstr "%1 songs found" msgid "%1 songs found (showing %2)" msgstr "%1 songs found (showing %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 tracks" @@ -186,7 +181,7 @@ msgstr "&Centre" msgid "&Custom" msgstr "&Custom" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extras" @@ -194,7 +189,7 @@ msgstr "&Extras" msgid "&Grouping" msgstr "&Grouping" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Help" @@ -219,7 +214,7 @@ msgstr "&Lock Rating" msgid "&Lyrics" msgstr "&Lyrics" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Music" @@ -227,15 +222,15 @@ msgstr "Music" msgid "&None" msgstr "&None" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Playlist" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Quit" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Repeat mode" @@ -243,7 +238,7 @@ msgstr "Repeat mode" msgid "&Right" msgstr "&Right" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Shuffle mode" @@ -251,7 +246,7 @@ msgstr "Shuffle mode" msgid "&Stretch columns to fit window" msgstr "&Stretch columns to fit window" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Tools" @@ -287,7 +282,7 @@ msgstr "0px" msgid "1 day" msgstr "1 day" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 track" @@ -360,7 +355,7 @@ msgid "" "href=\"%1\">%2, which is released under the Creative Commons" " Attribution-Share-Alike License 3.0.

" -msgstr "" +msgstr "

This article uses material from the Wikipedia article %2, which is released under the Creative Commons Attribution-Share-Alike Licence 3.0.

" #: ../bin/src/ui_organisedialog.h:250 msgid "" @@ -431,11 +426,11 @@ msgstr "Abort" msgid "About %1" msgstr "About %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "About Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "About Qt..." @@ -445,7 +440,7 @@ msgid "Absolute" msgstr "Absolute" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Account details" @@ -499,19 +494,19 @@ msgstr "Add another stream..." msgid "Add directory..." msgstr "Add directory..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Add file" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Add file to transcoder" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Add file(s) to transcoder" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Add file..." @@ -519,12 +514,12 @@ msgstr "Add file..." msgid "Add files to transcode" msgstr "Add files to transcode" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Add folder" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Add folder..." @@ -536,7 +531,7 @@ msgstr "Add new folder..." msgid "Add podcast" msgstr "Add podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Add podcast..." @@ -604,10 +599,6 @@ msgstr "Add song skip count" msgid "Add song title tag" msgstr "Add song title tag" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Add song to cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Add song track tag" @@ -616,18 +607,10 @@ msgstr "Add song track tag" msgid "Add song year tag" msgstr "Add song year tag" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Add songs to \"My Music\" when the \"Love\" button is clicked" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Add stream..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Add to My Music" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Add to Spotify playlists" @@ -636,14 +619,10 @@ msgstr "Add to Spotify playlists" msgid "Add to Spotify starred" msgstr "Add to Spotify starred" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Add to another playlist" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Add to bookmarks" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Add to playlist" @@ -653,10 +632,6 @@ msgstr "Add to playlist" msgid "Add to the queue" msgstr "Add to the queue" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Add user/group to bookmarks" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Add wiimotedev action" @@ -694,7 +669,7 @@ msgstr "After " msgid "After copying..." msgstr "After copying..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -707,7 +682,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (ideal loudness for all tracks)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -722,10 +697,6 @@ msgstr "Album cover" msgid "Album info on jamendo.com..." msgstr "Album info on jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albums" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albums with covers" @@ -738,11 +709,11 @@ msgstr "Albums without covers" msgid "All" msgstr "All" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "All Files (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "All Glory to the Hypnotoad!" @@ -867,7 +838,7 @@ msgid "" "the songs of your library?" msgstr "Are you sure you want to write song statistics to file for all the songs in your library?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -876,7 +847,7 @@ msgstr "Are you sure you want to write song statistics to file for all the songs msgid "Artist" msgstr "Artist" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Artist info" @@ -947,7 +918,7 @@ msgstr "Average image size" msgid "BBC Podcasts" msgstr "BBC Podcasts" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1004,7 +975,8 @@ msgstr "Best" msgid "Biography" msgstr "Biography" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bit rate" @@ -1057,7 +1029,7 @@ msgstr "Browse…" msgid "Buffer duration" msgstr "Buffer duration" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Buffering" @@ -1081,19 +1053,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE sheet support" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Cache path:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Caching" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Caching %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Cancel" @@ -1102,12 +1061,6 @@ msgstr "Cancel" msgid "Cancel download" msgstr "Cancel download" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha is needed.\nTry to login into Vk.com with your browser to fix this problem." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Change cover art" @@ -1146,6 +1099,10 @@ msgid "" "songs" msgstr "Changing mono playback preference will be effective for the next playing songs" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Check for new episodes" @@ -1154,19 +1111,15 @@ msgstr "Check for new episodes" msgid "Check for updates" msgstr "Check for updates" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Check for updates..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Choose Vk.com cache directory" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Choose a name for your smart playlist" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Choose automatically" @@ -1212,13 +1165,13 @@ msgstr "Cleaning up" msgid "Clear" msgstr "Clear" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Clear playlist" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1351,24 +1304,20 @@ msgstr "Colours" msgid "Comma separated list of class:level, level is 0-3" msgstr "Comma separated list of class:level, level is 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Comment" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Community Radio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Complete tags automatically" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Complete tags automatically..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1399,15 +1348,11 @@ msgstr "Configure Spotify..." msgid "Configure Subsonic..." msgstr "Configure Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Configure Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Configure global search..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Configure library..." @@ -1441,16 +1386,16 @@ msgid "" "http://localhost:4040/" msgstr "Connection refused by server, check server URL. Example: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Connection timed out, check server URL. Example: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Connection trouble or audio is disabled by owner" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Console" @@ -1474,20 +1419,16 @@ msgstr "Convert lossless audiofiles before sending them to the remote." msgid "Convert lossless files" msgstr "Convert lossless files" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Copy share URL to clipboard" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Copy to clipboard" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Copy to device..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Copy to library..." @@ -1509,6 +1450,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Could not create the GStreamer element \"%1\" - make sure you have all the required GStreamer plugins installed" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Couldn't create playlist" @@ -1535,7 +1485,7 @@ msgstr "Couldn't open output file %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Cover Manager" @@ -1568,7 +1518,7 @@ msgstr "Covers from %1" #: core/commandlineoptions.cpp:172 msgid "Create a new playlist with files/URLs" -msgstr "" +msgstr "Create a new playlist with files/URLs" #: ../bin/src/ui_playbacksettingspage.h:344 msgid "Cross-fade when changing tracks automatically" @@ -1621,11 +1571,11 @@ msgid "" "recover your database" msgstr "Database corruption detected. Please read https://github.com/clementine-player/Clementine/wiki/Database-Corruption for instructions on how to recover your database" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Date created" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Date modified" @@ -1653,7 +1603,7 @@ msgstr "Decrease volume" msgid "Default background image" msgstr "Default background image" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Default device on %1" @@ -1676,7 +1626,7 @@ msgid "Delete downloaded data" msgstr "Delete downloaded data" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Delete files" @@ -1684,7 +1634,7 @@ msgstr "Delete files" msgid "Delete from device..." msgstr "Delete from device..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Delete from disk..." @@ -1709,11 +1659,15 @@ msgstr "Delete the original files" msgid "Deleting files" msgstr "Deleting files" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Dequeue selected tracks" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Dequeue track" @@ -1742,11 +1696,11 @@ msgstr "Device name" msgid "Device properties..." msgstr "Device properties..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Devices" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialog" @@ -1793,7 +1747,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Disabled" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1814,7 +1768,7 @@ msgstr "Display options" msgid "Display the on-screen-display" msgstr "Display the on-screen-display" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Do a full library rescan" @@ -1985,12 +1939,12 @@ msgstr "Dynamic random mix" msgid "Edit smart playlist..." msgstr "Edit smart playlist..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Edit tag \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Edit tag..." @@ -2003,7 +1957,7 @@ msgid "Edit track information" msgstr "Edit track information" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Edit track information..." @@ -2023,10 +1977,6 @@ msgstr "Email" msgid "Enable Wii Remote support" msgstr "Enable Wii Remote support" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Enable automatic caching" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Enable equalizer" @@ -2111,7 +2061,7 @@ msgstr "Enter this IP in the App to connect to Clementine." msgid "Entire collection" msgstr "Entire collection" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Equalizer" @@ -2124,8 +2074,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Equivalent to --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Error" @@ -2145,6 +2095,11 @@ msgstr "Error copying songs" msgid "Error deleting songs" msgstr "Error deleting songs" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Error downloading Spotify plugin" @@ -2265,7 +2220,7 @@ msgstr "Fading" msgid "Fading duration" msgstr "Fading duration" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Failed reading CD drive" @@ -2344,27 +2299,23 @@ msgstr "File extension" msgid "File formats" msgstr "File formats" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "File name" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "File name (without path)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "File name pattern:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "File paths" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "File size" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2374,7 +2325,7 @@ msgstr "File type" msgid "Filename" msgstr "Filename" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Files" @@ -2386,10 +2337,6 @@ msgstr "Files to transcode" msgid "Find songs in your library that match the criteria you specify." msgstr "Find songs in your library that match the criteria you specify." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Find this artist" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Fingerprinting song" @@ -2458,6 +2405,7 @@ msgid "Form" msgstr "Form" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2494,7 +2442,7 @@ msgstr "Full Treble" msgid "Ge&nre" msgstr "Ge&nre" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "General" @@ -2502,7 +2450,7 @@ msgstr "General" msgid "General settings" msgstr "General settings" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2535,11 +2483,11 @@ msgstr "Give it a name:" msgid "Go" msgstr "Go" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Go to next playlist tab" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Go to previous playlist tab" @@ -2571,7 +2519,7 @@ msgstr "Group by Album" #: library/libraryfilterwidget.cpp:150 msgid "Group by Album artist/Album" -msgstr "" +msgstr "Group by Album artist/Album" #: library/libraryfilterwidget.cpp:143 msgid "Group by Artist" @@ -2593,7 +2541,7 @@ msgstr "Group by Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Group by Genre/Artist/Album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2783,11 +2731,11 @@ msgstr "Installed" msgid "Integrity check" msgstr "Integrity check" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internet providers" @@ -2804,6 +2752,10 @@ msgstr "Intro tracks" msgid "Invalid API key" msgstr "Invalid API key" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Invalid format" @@ -2860,7 +2812,7 @@ msgstr "Jamendo database" msgid "Jump to previous song right away" msgstr "Jump to previous song right away" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Jump to the currently playing track" @@ -2884,7 +2836,7 @@ msgstr "Keep running in the background when the window is closed" msgid "Keep the original files" msgstr "Keep the original files" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kittens" @@ -2925,7 +2877,7 @@ msgstr "Large sidebar" msgid "Last played" msgstr "Last played" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Last played" @@ -2966,12 +2918,12 @@ msgstr "Least favourite tracks" msgid "Left" msgstr "Left" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Length" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Library" @@ -2980,7 +2932,7 @@ msgstr "Library" msgid "Library advanced grouping" msgstr "Library advanced grouping" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Library rescan notice" @@ -3020,7 +2972,7 @@ msgstr "Load cover from disk..." msgid "Load playlist" msgstr "Load playlist" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Load playlist..." @@ -3056,8 +3008,7 @@ msgstr "Loading tracks info" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Loading..." @@ -3066,7 +3017,6 @@ msgstr "Loading..." msgid "Loads files/URLs, replacing current playlist" msgstr "Loads files/URLs, replacing current playlist" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3076,8 +3026,7 @@ msgstr "Loads files/URLs, replacing current playlist" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Login" @@ -3085,15 +3034,11 @@ msgstr "Login" msgid "Login failed" msgstr "Login failed" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Logout" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Long term prediction profile (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Love" @@ -3126,7 +3071,7 @@ msgstr "Lyrics from %1" #: songinfo/taglyricsinfoprovider.cpp:29 msgid "Lyrics from the tag" -msgstr "" +msgstr "Lyrics from the tag" #: transcoder/transcoder.cpp:235 msgid "M4A AAC" @@ -3174,7 +3119,7 @@ msgstr "Main profile (MAIN)" msgid "Make it so!" msgstr "Make it so!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Make it so!" @@ -3220,10 +3165,6 @@ msgstr "Match every search term (AND)" msgid "Match one or more search terms (OR)" msgstr "Match one or more search terms (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Max global search results" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maximum bitrate" @@ -3254,6 +3195,10 @@ msgstr "Minimum bitrate" msgid "Minimum buffer fill" msgstr "Minimum buffer fill" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Missing projectM presets" @@ -3274,7 +3219,7 @@ msgstr "Mono playback" msgid "Months" msgstr "Months" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Mood" @@ -3287,10 +3232,6 @@ msgstr "Moodbar style" msgid "Moodbars" msgstr "Moodbars" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "More" - #: library/library.cpp:84 msgid "Most played" msgstr "Most played" @@ -3308,7 +3249,7 @@ msgstr "Mount points" msgid "Move down" msgstr "Move down" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Move to library..." @@ -3317,8 +3258,7 @@ msgstr "Move to library..." msgid "Move up" msgstr "Move up" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Music" @@ -3327,22 +3267,10 @@ msgid "Music Library" msgstr "Music Library" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Mute" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "My Albums" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "My Music" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "My Recommendations" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3388,7 +3316,7 @@ msgstr "Never start playing" msgid "New folder" msgstr "New folder" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "New playlist" @@ -3417,7 +3345,7 @@ msgid "Next" msgstr "Next" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Next track" @@ -3455,7 +3383,7 @@ msgstr "No short blocks" msgid "None" msgstr "None" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "None of the selected songs were suitable for copying to a device" @@ -3504,10 +3432,6 @@ msgstr "Not logged in" msgid "Not mounted - double click to mount" msgstr "Not mounted - double click to mount" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nothing found" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Notification type" @@ -3589,7 +3513,7 @@ msgstr "Opacity" msgid "Open %1 in browser" msgstr "Open %1 in browser" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Open &audio CD..." @@ -3609,7 +3533,7 @@ msgstr "Open a directory to import music from" msgid "Open device" msgstr "Open device" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Open file..." @@ -3663,7 +3587,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organise Files" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organise files..." @@ -3675,7 +3599,7 @@ msgstr "Organising files" msgid "Original tags" msgstr "Original tags" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3743,7 +3667,7 @@ msgstr "Party" msgid "Password" msgstr "Password" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pause" @@ -3756,7 +3680,7 @@ msgstr "Pause playback" msgid "Paused" msgstr "Paused" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3771,14 +3695,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Plain sidebar" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Play" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Play count" @@ -3809,7 +3733,7 @@ msgstr "Player options" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Playlist" @@ -3826,7 +3750,7 @@ msgstr "Playlist options" msgid "Playlist type" msgstr "Playlist type" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Playlists" @@ -3867,11 +3791,11 @@ msgstr "Preference" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Preferences" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Preferences..." @@ -3931,7 +3855,7 @@ msgid "Previous" msgstr "Previous" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Previous track" @@ -3982,16 +3906,16 @@ msgstr "Quality" msgid "Querying device..." msgstr "Querying device..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Queue Manager" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Queue selected tracks" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Queue track" @@ -4003,7 +3927,7 @@ msgstr "Radio (equal loudness for all tracks)" msgid "Rain" msgstr "Rain" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Rain" @@ -4040,7 +3964,7 @@ msgstr "Rate the current song 4 stars" msgid "Rate the current song 5 stars" msgstr "Rate the current song 5 stars" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Rating" @@ -4107,7 +4031,7 @@ msgstr "Remove" msgid "Remove action" msgstr "Remove action" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Remove duplicates from playlist" @@ -4115,15 +4039,7 @@ msgstr "Remove duplicates from playlist" msgid "Remove folder" msgstr "Remove folder" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Remove from My Music" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Remove from bookmarks" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Remove from playlist" @@ -4135,7 +4051,7 @@ msgstr "Remove playlist" msgid "Remove playlists" msgstr "Remove playlists" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Remove unavailable tracks from playlist" @@ -4147,7 +4063,7 @@ msgstr "Rename playlist" msgid "Rename playlist..." msgstr "Rename playlist..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Renumber tracks in this order..." @@ -4197,7 +4113,7 @@ msgstr "Repopulate" msgid "Require authentication code" msgstr "Require authentication code" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Reset" @@ -4238,7 +4154,7 @@ msgstr "Rip" msgid "Rip CD" msgstr "Rip CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Rip audio CD" @@ -4268,8 +4184,9 @@ msgstr "Safely remove device" msgid "Safely remove the device after copying" msgstr "Safely remove the device after copying" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Sample rate" @@ -4307,7 +4224,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Save playlist" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Save playlist..." @@ -4347,7 +4264,7 @@ msgstr "Scalable sampling rate profile (SSR)" msgid "Scale size" msgstr "Scale size" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Score" @@ -4364,12 +4281,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Search" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Search" @@ -4512,7 +4429,7 @@ msgstr "Server details" msgid "Service offline" msgstr "Service offline" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Set %1 to \"%2\"..." @@ -4521,7 +4438,7 @@ msgstr "Set %1 to \"%2\"..." msgid "Set the volume to percent" msgstr "Set the volume to percent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Set value for all selected tracks..." @@ -4588,7 +4505,7 @@ msgstr "Show a pretty OSD" msgid "Show above status bar" msgstr "Show above status bar" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Show all songs" @@ -4608,16 +4525,12 @@ msgstr "Show dividers" msgid "Show fullsize..." msgstr "Show fullsize..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Show groups in global search result" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Show in file browser..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Show in library..." @@ -4629,29 +4542,25 @@ msgstr "Show in various artists" msgid "Show moodbar" msgstr "Show moodbar" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Show only duplicates" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Show only untagged" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Show playing song on your page" +msgstr "Show or hide the sidebar" #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Show search suggestions" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" -msgstr "" +msgstr "Show sidebar" #: ../bin/src/ui_lastfmsettingspage.h:136 msgid "Show the \"love\" button" @@ -4685,7 +4594,7 @@ msgstr "Shuffle albums" msgid "Shuffle all" msgstr "Shuffle all" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Shuffle playlist" @@ -4721,7 +4630,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Skip backwards in playlist" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Skip count" @@ -4729,11 +4638,11 @@ msgstr "Skip count" msgid "Skip forwards in playlist" msgstr "Skip forwards in playlist" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Skip selected tracks" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Skip track" @@ -4765,7 +4674,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Song Information" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Song info" @@ -4801,7 +4710,7 @@ msgstr "Sorting" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Source" @@ -4876,7 +4785,7 @@ msgid "Starting..." msgstr "Starting..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Stop" @@ -4892,7 +4801,7 @@ msgstr "Stop after each track" msgid "Stop after every track" msgstr "Stop after every track" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Stop after this track" @@ -4921,6 +4830,10 @@ msgstr "Stopped" msgid "Stream" msgstr "Stream" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5030,6 +4943,10 @@ msgstr "The album cover of the currently playing song" msgid "The directory %1 is not valid" msgstr "The directory %1 is not valid" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "The second value must be greater than the first one!" @@ -5048,7 +4965,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "The trial period for the Subsonic server is over. Please donate to get a license key. Visit subsonic.org for details." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5090,7 +5007,7 @@ msgid "" "continue?" msgstr "These files will be deleted from the device, are you sure you want to continue?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5174,7 +5091,7 @@ msgstr "This type of device is not supported: %1" msgid "Time step" msgstr "Time step" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5193,11 +5110,11 @@ msgstr "Toggle Pretty OSD" msgid "Toggle fullscreen" msgstr "Toggle fullscreen" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Toggle queue status" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Toggle scrobbling" @@ -5237,7 +5154,7 @@ msgstr "Total network requests made" msgid "Trac&k" msgstr "Trac&k" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Track" @@ -5246,7 +5163,7 @@ msgstr "Track" msgid "Tracks" msgstr "Tracks" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transcode Music" @@ -5283,6 +5200,10 @@ msgstr "Turn off" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5308,9 +5229,9 @@ msgstr "Unable to download %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Unknown" @@ -5327,11 +5248,11 @@ msgstr "Unknown error" msgid "Unset cover" msgstr "Unset cover" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Unskip selected tracks" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Unskip track" @@ -5344,15 +5265,11 @@ msgstr "Unsubscribe" msgid "Upcoming Concerts" msgstr "Upcoming Concerts" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Update" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Update all podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Update changed library folders" @@ -5462,7 +5379,7 @@ msgstr "Use volume normalisation" msgid "Used" msgstr "Used" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "User interface" @@ -5488,7 +5405,7 @@ msgid "Variable bit rate" msgstr "Variable bit rate" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Various artists" @@ -5501,11 +5418,15 @@ msgstr "Version %1" msgid "View" msgstr "View" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Visualisation mode" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualisations" @@ -5513,10 +5434,6 @@ msgstr "Visualisations" msgid "Visualizations Settings" msgstr "Visualisations Settings" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Voice activity detection" @@ -5539,10 +5456,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Wall" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Warn me when closing a playlist tab" @@ -5645,7 +5558,7 @@ msgid "" "well?" msgstr "Would you like to move the other songs in this album to Various Artists as well?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Would you like to run a full rescan right now?" @@ -5661,7 +5574,7 @@ msgstr "Write metadata" msgid "Wrong username or password." msgstr "Wrong username or password." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/eo.po b/src/translations/eo.po index ff9316a53..280c31ab4 100644 --- a/src/translations/eo.po +++ b/src/translations/eo.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Esperanto (http://www.transifex.com/davidsansome/clementine/language/eo/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -66,11 +66,6 @@ msgstr " sekundoj" msgid " songs" msgstr "kantoj" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 kantoj)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -102,7 +97,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "%1 ludlistoj (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 elektitaj el" @@ -127,7 +122,7 @@ msgstr "%1 kantoj trovitaj" msgid "%1 songs found (showing %2)" msgstr "%1 kantoj trovitaj (%2 aperas)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 trakoj" @@ -187,7 +182,7 @@ msgstr "" msgid "&Custom" msgstr "Propra" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -195,7 +190,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Helpo" @@ -220,7 +215,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musiko" @@ -228,15 +223,15 @@ msgstr "&Musiko" msgid "&None" msgstr "&Nenio" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Ludlisto" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "Eliri" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -244,7 +239,7 @@ msgstr "" msgid "&Right" msgstr "" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -252,7 +247,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "" @@ -288,7 +283,7 @@ msgstr "0 px" msgid "1 day" msgstr "1 tago" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 trako" @@ -432,11 +427,11 @@ msgstr "" msgid "About %1" msgstr "Pri %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Pri Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Pri Qt..." @@ -446,7 +441,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Kontodetaloj" @@ -500,19 +495,19 @@ msgstr "Aldoni plian fluon..." msgid "Add directory..." msgstr "Aldoni dosierujon..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Aldoni dosieron..." @@ -520,12 +515,12 @@ msgstr "Aldoni dosieron..." msgid "Add files to transcode" msgstr "Aldoni dosierojn transkodigotajn" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Aldoni dosierujon" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Aldoni dosierujon..." @@ -537,7 +532,7 @@ msgstr "Aldoni novan dosierujon..." msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -605,10 +600,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -617,18 +608,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Aldoni fluon..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -637,14 +620,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Aldoni al ludlisto" @@ -654,10 +633,6 @@ msgstr "Aldoni al ludlisto" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Aldoni wiimotedev-agon" @@ -695,7 +670,7 @@ msgstr "" msgid "After copying..." msgstr "Post kopiado..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -708,7 +683,7 @@ msgstr "Albumo" msgid "Album (ideal loudness for all tracks)" msgstr "Albumo (ideala laŭteco por ĉiuj sonaĵoj)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -723,10 +698,6 @@ msgstr "Kovrilo de la albumo" msgid "Album info on jamendo.com..." msgstr "Informo pri albumoj sur jamendo.com…" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumoj" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumoj kun kovriloj" @@ -739,11 +710,11 @@ msgstr "Albumoj sen kovriloj" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Ĉiuj dosieroj (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Ĉiuj gloron al la Hipnobufo!" @@ -868,7 +839,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -877,7 +848,7 @@ msgstr "" msgid "Artist" msgstr "Artisto" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Informoj pri la artisto" @@ -948,7 +919,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1005,7 +976,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1058,7 +1030,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1082,19 +1054,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1103,12 +1062,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1147,6 +1100,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1155,19 +1112,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1213,13 +1166,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1352,24 +1305,20 @@ msgstr "Koloroj" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Komento" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1400,15 +1349,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1442,16 +1387,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1475,20 +1420,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1510,6 +1451,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1536,7 +1486,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1622,11 +1572,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1654,7 +1604,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1677,7 +1627,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1685,7 +1635,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1710,11 +1660,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1743,11 +1697,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialogujo" @@ -1794,7 +1748,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1815,7 +1769,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1986,12 +1940,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2004,7 +1958,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2024,10 +1978,6 @@ msgstr "Retpoŝto" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2112,7 +2062,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Egalizilo" @@ -2125,8 +2075,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Eraro" @@ -2146,6 +2096,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2266,7 +2221,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2345,27 +2300,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Dosiernomo" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2375,7 +2326,7 @@ msgstr "" msgid "Filename" msgstr "Dosiernomo" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Dosieroj" @@ -2387,10 +2338,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2459,6 +2406,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formato" @@ -2495,7 +2443,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2503,7 +2451,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2536,11 +2484,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2594,7 +2542,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2784,11 +2732,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Interreto" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2805,6 +2753,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2861,7 +2813,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2885,7 +2837,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Katidoj" @@ -2926,7 +2878,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2967,12 +2919,12 @@ msgstr "" msgid "Left" msgstr "Maldekstro" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Kolekto" @@ -2981,7 +2933,7 @@ msgstr "Kolekto" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3021,7 +2973,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3057,8 +3009,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3067,7 +3018,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3077,8 +3027,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Ensaluti" @@ -3086,15 +3035,11 @@ msgstr "Ensaluti" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Elsaluti" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3175,7 +3120,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3221,10 +3166,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3255,6 +3196,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3275,7 +3220,7 @@ msgstr "" msgid "Months" msgstr "Monatoj" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3288,10 +3233,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Pli" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3309,7 +3250,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3318,8 +3259,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Muziko" @@ -3328,22 +3268,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Silentigi" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3389,7 +3317,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3418,7 +3346,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3456,7 +3384,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3505,10 +3433,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3590,7 +3514,7 @@ msgstr "Opakeco" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3610,7 +3534,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3664,7 +3588,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3676,7 +3600,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3744,7 +3668,7 @@ msgstr "" msgid "Password" msgstr "Pasvorto" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Paŭzigi" @@ -3757,7 +3681,7 @@ msgstr "Paŭzi ludadon" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3772,14 +3696,14 @@ msgstr "Bildero" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Ludi" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3810,7 +3734,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Ludlisto" @@ -3827,7 +3751,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Ludlistoj" @@ -3868,11 +3792,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3932,7 +3856,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3983,16 +3907,16 @@ msgstr "Kvalito" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4004,7 +3928,7 @@ msgstr "" msgid "Rain" msgstr "Pluvo" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Pluvo" @@ -4041,7 +3965,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4108,7 +4032,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4116,15 +4040,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4136,7 +4052,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4148,7 +4064,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4198,7 +4114,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Reŝargi" @@ -4239,7 +4155,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4269,8 +4185,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4308,7 +4225,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4348,7 +4265,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4365,12 +4282,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Serĉi" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Serĉi" @@ -4513,7 +4430,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4522,7 +4439,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4589,7 +4506,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4609,16 +4526,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4630,27 +4543,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4686,7 +4595,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4722,7 +4631,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4730,11 +4639,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4766,7 +4675,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4802,7 +4711,7 @@ msgstr "" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4877,7 +4786,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4893,7 +4802,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4922,6 +4831,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5031,6 +4944,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5049,7 +4966,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5091,7 +5008,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5175,7 +5092,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5194,11 +5111,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5238,7 +5155,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Kanto" @@ -5247,7 +5164,7 @@ msgstr "Kanto" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5284,6 +5201,10 @@ msgstr "" msgid "URI" msgstr "URI-o" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL-o(j)" @@ -5309,9 +5230,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5328,11 +5249,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5345,15 +5266,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5463,7 +5380,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Fasado" @@ -5489,7 +5406,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5502,11 +5419,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5514,10 +5435,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5540,10 +5457,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5646,7 +5559,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5662,7 +5575,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/es.po b/src/translations/es.po index 51b7e610e..552ae1277 100644 --- a/src/translations/es.po +++ b/src/translations/es.po @@ -32,12 +32,13 @@ # Ricardo Andrés , 2012 # Robin Cornelio Thomas , 2012 # Roger Pueyo Centelles , 2012 +# Santiago Gil, 2016 # costesito , 2012 # zeth , 2012 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Spanish (http://www.transifex.com/davidsansome/clementine/language/es/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -93,11 +94,6 @@ msgstr " segundos" msgid " songs" msgstr " canciones" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 canciones)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -129,7 +125,7 @@ msgstr "%1 en %2" msgid "%1 playlists (%2)" msgstr "%1 listas de reproducción (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 seleccionadas de" @@ -154,7 +150,7 @@ msgstr "Se encontraron %1 canciones" msgid "%1 songs found (showing %2)" msgstr "Se encontraron %1 canciones (%2 visibles)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 pistas" @@ -214,15 +210,15 @@ msgstr "&Centro" msgid "&Custom" msgstr "&Personalizado" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extras" #: ../bin/src/ui_edittagdialog.h:728 msgid "&Grouping" -msgstr "" +msgstr "&Agrupamiento" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Ay&uda" @@ -245,9 +241,9 @@ msgstr "&Bloquear la valoración" #: ../bin/src/ui_edittagdialog.h:731 msgid "&Lyrics" -msgstr "" +msgstr "&Letras" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Música" @@ -255,15 +251,15 @@ msgstr "&Música" msgid "&None" msgstr "&Ninguno" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Lista de reproducción" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Salir" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Modo de &repetición" @@ -271,7 +267,7 @@ msgstr "Modo de &repetición" msgid "&Right" msgstr "&Derecha" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Modo &aleatorio" @@ -279,13 +275,13 @@ msgstr "Modo &aleatorio" msgid "&Stretch columns to fit window" msgstr "&Ajustar columnas a la ventana" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Herramientas" #: ../bin/src/ui_edittagdialog.h:724 msgid "&Year" -msgstr "" +msgstr "&Año" #: ui/edittagdialog.cpp:50 msgid "(different across multiple songs)" @@ -315,7 +311,7 @@ msgstr "0px" msgid "1 day" msgstr "1 día" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 pista" @@ -388,7 +384,7 @@ msgid "" "href=\"%1\">%2, which is released under the Creative Commons" " Attribution-Share-Alike License 3.0.

" -msgstr "" +msgstr "

Este artículo utiliza material del artículo de Wikipedia %2, el cual es publicado bajo la licencia Creative Commons Attribution-Share-Alike License 3.0.

" #: ../bin/src/ui_organisedialog.h:250 msgid "" @@ -459,11 +455,11 @@ msgstr "Interrumpir" msgid "About %1" msgstr "Acerca de %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Acerca de Clementine" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Acerca de Qt" @@ -473,7 +469,7 @@ msgid "Absolute" msgstr "Absolutas" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Detalles de la cuenta" @@ -527,19 +523,19 @@ msgstr "Añadir otra transmisión…" msgid "Add directory..." msgstr "Añadir una carpeta…" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Añadir archivo" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Añadir un archivo al convertidor" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Añadir archivo(s) al convertidor" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Añadir un archivo…" @@ -547,12 +543,12 @@ msgstr "Añadir un archivo…" msgid "Add files to transcode" msgstr "Añadir archivos para convertir" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Añadir una carpeta" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Añadir una carpeta…" @@ -564,7 +560,7 @@ msgstr "Añadir carpeta nueva…" msgid "Add podcast" msgstr "Añadir un podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Añadir un podcast…" @@ -632,10 +628,6 @@ msgstr "Añadir conteo de omisiones de la canción" msgid "Add song title tag" msgstr "Añadir etiqueta de título a la canción" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Añadir canción a la caché" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Añadir etiqueta de pista a la canción" @@ -644,18 +636,10 @@ msgstr "Añadir etiqueta de pista a la canción" msgid "Add song year tag" msgstr "Añadir etiqueta de año a la canción" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Añadir canciones a Mi música al pulsar en el botón «Me encanta»" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Añadir una transmisión…" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Añadir a Mi música" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Añadir a listas de Spotify" @@ -664,14 +648,10 @@ msgstr "Añadir a listas de Spotify" msgid "Add to Spotify starred" msgstr "Añadir a las destacadas de Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Añadir a otra lista de reproducción" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Añadir a marcadores" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Añadir a la lista de reproducción" @@ -681,10 +661,6 @@ msgstr "Añadir a la lista de reproducción" msgid "Add to the queue" msgstr "Añadir a la cola" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Añadir usuario/grupo a marcadores" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Añadir acción de wiimotedev" @@ -722,7 +698,7 @@ msgstr "Después de " msgid "After copying..." msgstr "Después de copiar…" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -735,7 +711,7 @@ msgstr "Álbum" msgid "Album (ideal loudness for all tracks)" msgstr "Álbum (volumen ideal para todas las pistas)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -750,10 +726,6 @@ msgstr "Carátula de álbum" msgid "Album info on jamendo.com..." msgstr "Información del álbum en jamendo.com…" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Álbumes" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Álbumes con carátulas" @@ -766,11 +738,11 @@ msgstr "Álbumes sin carátulas" msgid "All" msgstr "Todo" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Todos los archivos (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "¡Alabemos todos al hipnosapo!" @@ -895,7 +867,7 @@ msgid "" "the songs of your library?" msgstr "¿Confirma que quiere almacenar las estadísticas en todos los archivos de su colección?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -904,7 +876,7 @@ msgstr "¿Confirma que quiere almacenar las estadísticas en todos los archivos msgid "Artist" msgstr "Artista" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Inf. artista" @@ -975,7 +947,7 @@ msgstr "Tamaño promedio de imagen" msgid "BBC Podcasts" msgstr "Podcasts de BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "PPM" @@ -1032,7 +1004,8 @@ msgstr "Mejor" msgid "Biography" msgstr "Biografía" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Tasa de bits" @@ -1085,7 +1058,7 @@ msgstr "Examinar…" msgid "Buffer duration" msgstr "Duración del búfer" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Guardando en búfer" @@ -1109,19 +1082,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Compatibilidad con hojas CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Ruta de la caché:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Almacenamiento en caché" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Almacenando %1 en caché" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Cancelar" @@ -1130,12 +1090,6 @@ msgstr "Cancelar" msgid "Cancel download" msgstr "Cancelar la descarga" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Se necesita el «captcha».\nPruebe a iniciar sesión en Vk.com en el navegador para corregir el problema." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Cambiar la carátula" @@ -1174,6 +1128,10 @@ msgid "" "songs" msgstr "La reproducción monoaural será efectiva para las siguientes canciones en reproducción:" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Buscar episodios nuevos" @@ -1182,19 +1140,15 @@ msgstr "Buscar episodios nuevos" msgid "Check for updates" msgstr "Buscar actualizaciones" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Buscar actualizaciones…" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Elija la carpeta de caché de Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Elija un nombre para la lista de reproducción inteligente" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Elegir automáticamente" @@ -1240,13 +1194,13 @@ msgstr "Limpieza" msgid "Clear" msgstr "Vaciar" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Vaciar lista de reproducción" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1369,7 +1323,7 @@ msgstr "Club" #: ../bin/src/ui_edittagdialog.h:726 msgid "Co&mposer" -msgstr "" +msgstr "Co&mpositor" #: ../bin/src/ui_appearancesettingspage.h:271 msgid "Colors" @@ -1379,24 +1333,20 @@ msgstr "Colores" msgid "Comma separated list of class:level, level is 0-3" msgstr "Lista separada por comas de la clase:nivel, el nivel es 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Comentario" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Radio de la comunidad" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Completar etiquetas automáticamente" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Completar etiquetas automáticamente…" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1427,15 +1377,11 @@ msgstr "Configurar Spotify…" msgid "Configure Subsonic..." msgstr "Configurar Subsonic…" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Configurar Vk.com…" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Configurar búsqueda global…" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Configurar colección…" @@ -1469,16 +1415,16 @@ msgid "" "http://localhost:4040/" msgstr "El servidor rechazó la conexión. Compruebe el URL del servidor. Ejemplo: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Se agotó el tiempo de espera de la conexión. Compruebe el URL del servidor. Ejemplo: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Hay un problema de conexión o el propietario desactivó el audio" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Consola" @@ -1502,20 +1448,16 @@ msgstr "Convertir archivos de audio sin perdidas antes de enviarlos al control r msgid "Convert lossless files" msgstr "Convertir archivos de audio sin pérdidas" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Copiar URL para compartir en portapapeles" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Copiar en el portapapeles" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Copiar en un dispositivo…" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Copiar en la colección…" @@ -1537,6 +1479,15 @@ msgid "" "required GStreamer plugins installed" msgstr "No se pudo crear el elemento «%1» de GStreamer. Asegúrese de tener instalados todos los complementos necesarios de GStreamer." +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "No se pudo crear la lista de reproducción" @@ -1563,7 +1514,7 @@ msgstr "No se pudo abrir el archivo de salida %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Gestor de carátulas" @@ -1596,7 +1547,7 @@ msgstr "Carátulas de %1" #: core/commandlineoptions.cpp:172 msgid "Create a new playlist with files/URLs" -msgstr "" +msgstr "Crear una nueva lista con archivos/URLs" #: ../bin/src/ui_playbacksettingspage.h:344 msgid "Cross-fade when changing tracks automatically" @@ -1649,11 +1600,11 @@ msgid "" "recover your database" msgstr "Se detectó un daño en la base de datos. Consulte https://github.com/clementine-player/Clementine/wiki/Database-Corruption para obtener instrucciones de recuperación" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Fecha de creación" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Fecha de modificación" @@ -1681,7 +1632,7 @@ msgstr "Disminuir volumen" msgid "Default background image" msgstr "Imagen de fondo predeterminada" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Dispositivo predeterminado en %1" @@ -1704,7 +1655,7 @@ msgid "Delete downloaded data" msgstr "Eliminar datos descargados" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Eliminar archivos" @@ -1712,7 +1663,7 @@ msgstr "Eliminar archivos" msgid "Delete from device..." msgstr "Eliminar del dispositivo…" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Eliminar del disco…" @@ -1737,11 +1688,15 @@ msgstr "Eliminar los archivos originales" msgid "Deleting files" msgstr "Eliminando los archivos" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Quitar las pistas seleccionadas de la cola" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Quitar la pista de la cola" @@ -1770,11 +1725,11 @@ msgstr "Nombre del dispositivo" msgid "Device properties..." msgstr "Propiedades del dispositivo…" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Dispositivos" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Diálogo" @@ -1821,7 +1776,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Desactivado" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1842,7 +1797,7 @@ msgstr "Opciones de visualización" msgid "Display the on-screen-display" msgstr "Mostrar el mensaje en pantalla (OSD)" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Volver a analizar toda la colección" @@ -2013,12 +1968,12 @@ msgstr "Mezcla dinámica aleatoria" msgid "Edit smart playlist..." msgstr "Editar lista de reproducción inteligente…" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Editar la etiqueta «%1»…" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Editar etiqueta…" @@ -2031,7 +1986,7 @@ msgid "Edit track information" msgstr "Editar información de la pista" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Editar información de la pista…" @@ -2051,10 +2006,6 @@ msgstr "Correo electrónico" msgid "Enable Wii Remote support" msgstr "Activar compatibilidad con Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Activar almacenamiento en caché automático" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Activar el ecualizador" @@ -2139,7 +2090,7 @@ msgstr "Escriba esta IP en la aplicación para conectarse con Clementine." msgid "Entire collection" msgstr "Colección completa" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ecualizador" @@ -2152,8 +2103,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Equivalente a --log-levels*:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Error" @@ -2173,6 +2124,11 @@ msgstr "Error al copiar las canciones" msgid "Error deleting songs" msgstr "Error al eliminar canciones" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Error al descargar el complemento de Spotify" @@ -2293,7 +2249,7 @@ msgstr "Fundido" msgid "Fading duration" msgstr "Duración del fundido" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Falló la lectura de la unidad de CD" @@ -2372,27 +2328,23 @@ msgstr "Extensión del archivo" msgid "File formats" msgstr "Formatos de archivo" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nombre del archivo" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Nombre del archivo (sin ruta)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Patrón de nombre de archivo:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Rutas de archivos" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Tamaño del archivo" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2402,7 +2354,7 @@ msgstr "Tipo de archivo" msgid "Filename" msgstr "Nombre del archivo" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Archivos" @@ -2414,10 +2366,6 @@ msgstr "Archivos para convertir" msgid "Find songs in your library that match the criteria you specify." msgstr "Encontrar canciones en su colección que coinciden con el criterio que especificó." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Encontrar este artista" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Identificando la canción" @@ -2486,6 +2434,7 @@ msgid "Form" msgstr "Formulario" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formato" @@ -2520,9 +2469,9 @@ msgstr "Agudos completos" #: ../bin/src/ui_edittagdialog.h:729 msgid "Ge&nre" -msgstr "" +msgstr "Gé&nero" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "General" @@ -2530,7 +2479,7 @@ msgstr "General" msgid "General settings" msgstr "Configuración general" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2563,11 +2512,11 @@ msgstr "Dele un nombre:" msgid "Go" msgstr "Ir" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Ir a la siguiente lista de reproducción" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Ir a la lista de reproducción anterior" @@ -2599,7 +2548,7 @@ msgstr "Agrupar por álbum" #: library/libraryfilterwidget.cpp:150 msgid "Group by Album artist/Album" -msgstr "" +msgstr "Agrupar por artista del álbum/álbum" #: library/libraryfilterwidget.cpp:143 msgid "Group by Artist" @@ -2621,7 +2570,7 @@ msgstr "Agrupar por género/álbum" msgid "Group by Genre/Artist/Album" msgstr "Agrupar por género/artista/álbum" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2811,11 +2760,11 @@ msgstr "Instalado" msgid "Integrity check" msgstr "Comprobación de integridad" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Proveedores en Internet" @@ -2832,6 +2781,10 @@ msgstr "Pistas de introducción" msgid "Invalid API key" msgstr "Clave API no válida" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Formato no válido" @@ -2888,7 +2841,7 @@ msgstr "Base de datos de Jamendo" msgid "Jump to previous song right away" msgstr "Ir a la pista anterior" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Saltar a la pista en reproducción" @@ -2912,7 +2865,7 @@ msgstr "Seguir ejecutando el programa en el fondo al cerrar la ventana" msgid "Keep the original files" msgstr "Mantener los archivos originales" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Gatitos" @@ -2953,7 +2906,7 @@ msgstr "Barra lateral grande" msgid "Last played" msgstr "Últimas reproducidas" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Última reproducción" @@ -2994,12 +2947,12 @@ msgstr "Pistas menos favoritas" msgid "Left" msgstr "Izquierda" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Duración" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Colección" @@ -3008,7 +2961,7 @@ msgstr "Colección" msgid "Library advanced grouping" msgstr "Agrupamiento avanzado de la colección" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Aviso de reanálisis de la colección" @@ -3048,7 +3001,7 @@ msgstr "Cargar carátula desde disco…" msgid "Load playlist" msgstr "Cargar lista de reproducción" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Cargar lista de reproducción…" @@ -3084,8 +3037,7 @@ msgstr "Cargando información de pistas" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Cargando…" @@ -3094,7 +3046,6 @@ msgstr "Cargando…" msgid "Loads files/URLs, replacing current playlist" msgstr "Carga archivos/URL, reemplazando la lista de reproducción actual" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3104,8 +3055,7 @@ msgstr "Carga archivos/URL, reemplazando la lista de reproducción actual" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Acceder" @@ -3113,15 +3063,11 @@ msgstr "Acceder" msgid "Login failed" msgstr "Falló el inicio de sesión" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Salir" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Perfil de predicción a largo plazo (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Me encanta" @@ -3154,7 +3100,7 @@ msgstr "Letra de %1" #: songinfo/taglyricsinfoprovider.cpp:29 msgid "Lyrics from the tag" -msgstr "" +msgstr "Letra de la etiqueta" #: transcoder/transcoder.cpp:235 msgid "M4A AAC" @@ -3202,7 +3148,7 @@ msgstr "Perfil principal (MAIN)" msgid "Make it so!" msgstr "Así sea" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Así sea" @@ -3248,10 +3194,6 @@ msgstr "Coincide cualquier término de búsqueda (Y)" msgid "Match one or more search terms (OR)" msgstr "Coincide uno o más términos de búsqueda (O)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Resultados de búsqueda globales máximos" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Tasa de bits máxima" @@ -3282,6 +3224,10 @@ msgstr "Tasa de bits mínima" msgid "Minimum buffer fill" msgstr "Valor mínimo de memoria" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Faltan las predefiniciones de projectM" @@ -3302,7 +3248,7 @@ msgstr "Reproducción monoaural" msgid "Months" msgstr "Meses" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Ánimo" @@ -3315,10 +3261,6 @@ msgstr "Estilo de barra de ánimo" msgid "Moodbars" msgstr "Barras de ánimo" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Más" - #: library/library.cpp:84 msgid "Most played" msgstr "Más reproducidas" @@ -3336,7 +3278,7 @@ msgstr "Puntos de montaje" msgid "Move down" msgstr "Bajar" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Mover a la colección…" @@ -3345,8 +3287,7 @@ msgstr "Mover a la colección…" msgid "Move up" msgstr "Subir" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Música" @@ -3355,22 +3296,10 @@ msgid "Music Library" msgstr "Colección musical" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Silenciar" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Mis álbumes" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Mi música" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Mis recomendaciones" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3416,7 +3345,7 @@ msgstr "Nunca comenzar la reproducción" msgid "New folder" msgstr "Carpeta nueva" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Lista de reproducción nueva" @@ -3445,7 +3374,7 @@ msgid "Next" msgstr "Siguiente" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Pista siguiente" @@ -3483,7 +3412,7 @@ msgstr "Sin bloques cortos" msgid "None" msgstr "Ninguno" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Ninguna de las canciones seleccionadas fue apta para copiarse en un dispositivo" @@ -3532,10 +3461,6 @@ msgstr "No accedió" msgid "Not mounted - double click to mount" msgstr "Sin montar. Pulse dos veces para montar" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "No se encontró ningún resultado" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Tipo de notificación" @@ -3617,7 +3542,7 @@ msgstr "Opacidad" msgid "Open %1 in browser" msgstr "Abrir %1 en el navegador" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Abrir un &CD de sonido…" @@ -3637,7 +3562,7 @@ msgstr "Abra una carpeta de la que importar música" msgid "Open device" msgstr "Abrir dispositivo" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Abrir un archivo…" @@ -3691,7 +3616,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organizar archivos" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organizar archivos…" @@ -3703,7 +3628,7 @@ msgstr "Organizando los archivos" msgid "Original tags" msgstr "Etiquetas originales" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3771,7 +3696,7 @@ msgstr "Fiesta" msgid "Password" msgstr "Contraseña" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pausar" @@ -3784,7 +3709,7 @@ msgstr "Pausar la reproducción" msgid "Paused" msgstr "En pausa" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3799,14 +3724,14 @@ msgstr "Píxel" msgid "Plain sidebar" msgstr "Barra lateral simple" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Reproducir" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "N.º de reproducciones" @@ -3837,7 +3762,7 @@ msgstr "Opciones del reproductor" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Lista de reproducción" @@ -3854,7 +3779,7 @@ msgstr "Opciones de la lista de reproducción" msgid "Playlist type" msgstr "Tipo de lista de reproducción" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Listas" @@ -3895,11 +3820,11 @@ msgstr "Preferencia" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Preferencias" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Preferencias…" @@ -3959,7 +3884,7 @@ msgid "Previous" msgstr "Anterior" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Pista anterior" @@ -4010,16 +3935,16 @@ msgstr "Calidad" msgid "Querying device..." msgstr "Consultando dispositivo…" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Gestor de la cola" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Añadir las pistas seleccionadas a la cola" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Añadir a la cola de reproducción" @@ -4031,7 +3956,7 @@ msgstr "Radio (volumen igual para todas las pistas)" msgid "Rain" msgstr "Lluvia" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Lluvia" @@ -4068,7 +3993,7 @@ msgstr "Valorar la canción actual con 4 estrellas" msgid "Rate the current song 5 stars" msgstr "Valorar la canción actual con 5 estrellas" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Valoración" @@ -4135,7 +4060,7 @@ msgstr "Quitar" msgid "Remove action" msgstr "Eliminar acción" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Eliminar duplicados de la lista de reproducción" @@ -4143,15 +4068,7 @@ msgstr "Eliminar duplicados de la lista de reproducción" msgid "Remove folder" msgstr "Quitar carpeta" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Quitar de Mi música" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Quitar de marcadores" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Eliminar de la lista de reproducción" @@ -4163,7 +4080,7 @@ msgstr "Eliminar lista de reproducción" msgid "Remove playlists" msgstr "Eliminar listas de reproducción" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Quitar pistas no disponibles de la lista de reproducción" @@ -4175,7 +4092,7 @@ msgstr "Renombrar lista de reproducción" msgid "Rename playlist..." msgstr "Renombrar lista de reproducción…" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Reenumerar pistas en este orden…" @@ -4225,7 +4142,7 @@ msgstr "Rellenar" msgid "Require authentication code" msgstr "Solicitar un código de autenticación" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Restablecer" @@ -4266,7 +4183,7 @@ msgstr "Extraer" msgid "Rip CD" msgstr "Extraer CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Extraer CD de sonido" @@ -4296,8 +4213,9 @@ msgstr "Quitar dispositivo con seguridad" msgid "Safely remove the device after copying" msgstr "Quitar dispositivo con seguridad después de copiar" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Tasa de muestreo" @@ -4335,7 +4253,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Guardar lista de reproducción" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Guardar lista de reproducción…" @@ -4375,7 +4293,7 @@ msgstr "Perfil de tasa de muestreo escalable (SSR)" msgid "Scale size" msgstr "Tamaño de escala" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Valoración" @@ -4392,12 +4310,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Buscar" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Buscar" @@ -4540,7 +4458,7 @@ msgstr "Detalles del servidor" msgid "Service offline" msgstr "Servicio fuera de línea" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Establecer %1 a «%2»…" @@ -4549,7 +4467,7 @@ msgstr "Establecer %1 a «%2»…" msgid "Set the volume to percent" msgstr "Establecer el volumen en por ciento" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Establecer valor para todas las pistas seleccionadas…" @@ -4616,7 +4534,7 @@ msgstr "Mostrar OSD estético" msgid "Show above status bar" msgstr "Mostrar sobre la barra de estado" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Mostrar todas las canciones" @@ -4636,16 +4554,12 @@ msgstr "Mostrar divisores" msgid "Show fullsize..." msgstr "Mostrar a tamaño completo…" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Mostrar grupos en los resultados de la búsqueda global" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Mostrar en el gestor de archivos…" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Mostrar en colección..." @@ -4657,29 +4571,25 @@ msgstr "Mostrar en Varios artistas" msgid "Show moodbar" msgstr "Mostrar barra de ánimo" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Mostrar solo los duplicados" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Solo mostrar no etiquetadas" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Mostrar la canción en reproducción en la página personal" +msgstr "Mostrar u ocultar la barra lateral" #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Mostrar sugerencias de búsquedas" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" -msgstr "" +msgstr "Mostrar barra lateral" #: ../bin/src/ui_lastfmsettingspage.h:136 msgid "Show the \"love\" button" @@ -4713,7 +4623,7 @@ msgstr "Mezclar álbumes" msgid "Shuffle all" msgstr "Mezclar todo" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Mezclar lista de reproducción" @@ -4749,7 +4659,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Saltar hacia atrás en la lista de reproducción" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "N.º de omisiones" @@ -4757,11 +4667,11 @@ msgstr "N.º de omisiones" msgid "Skip forwards in playlist" msgstr "Saltar hacia adelante en la lista de reproducción" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Omitir pistas seleccionadas" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Omitir pista" @@ -4793,7 +4703,7 @@ msgstr "Soft rock" msgid "Song Information" msgstr "Información de la canción" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Inf. canción" @@ -4829,7 +4739,7 @@ msgstr "Ordenación" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Origen" @@ -4904,7 +4814,7 @@ msgid "Starting..." msgstr "Iniciando…" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Detener" @@ -4920,7 +4830,7 @@ msgstr "Detener reproducción al finalizar cada pista" msgid "Stop after every track" msgstr "Detener reproducción al finalizar cada pista" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Detener reproducción al finalizar la pista" @@ -4949,6 +4859,10 @@ msgstr "Detenido" msgid "Stream" msgstr "Transmisión" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5058,6 +4972,10 @@ msgstr "La carátula del álbum de la canción en reproducción" msgid "The directory %1 is not valid" msgstr "La carpeta %1 no es válida" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "El segundo valor debe ser mayor al primero." @@ -5076,7 +4994,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Ha terminado el período de prueba del servidor de Subsonic. Haga una donación para obtener una clave de licencia. Visite subsonic.org para más detalles." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5118,7 +5036,7 @@ msgid "" "continue?" msgstr "Se eliminarán estos archivos del dispositivo. ¿Confirma que quiere continuar?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5202,7 +5120,7 @@ msgstr "No se admite este tipo de dispositivo: %1" msgid "Time step" msgstr "Salto en el tiempo" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5221,11 +5139,11 @@ msgstr "Conmutar OSD estético" msgid "Toggle fullscreen" msgstr "Pantalla completa" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Cambiar estado de la cola" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Activar o desactivar scrobbling" @@ -5263,9 +5181,9 @@ msgstr "Total de solicitudes hechas a la red" #: ../bin/src/ui_edittagdialog.h:720 msgid "Trac&k" -msgstr "" +msgstr "Pista" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Pista" @@ -5274,7 +5192,7 @@ msgstr "Pista" msgid "Tracks" msgstr "Pistas" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Convertir música" @@ -5311,6 +5229,10 @@ msgstr "Apagar" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL" @@ -5336,9 +5258,9 @@ msgstr "No se puede descargar %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Desconocido" @@ -5355,11 +5277,11 @@ msgstr "Error desconocido" msgid "Unset cover" msgstr "Eliminar la carátula" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "No omitir pistas seleccionadas" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "No omitir pista" @@ -5372,15 +5294,11 @@ msgstr "Cancelar suscripción" msgid "Upcoming Concerts" msgstr "Próximos conciertos" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Actualizar" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Actualizar todos los podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Actualizar carpetas de la colección modificadas" @@ -5490,7 +5408,7 @@ msgstr "Usar normalización de volumen" msgid "Used" msgstr "En uso:" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Interfaz de usuario" @@ -5516,7 +5434,7 @@ msgid "Variable bit rate" msgstr "Tasa de bits variable" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Varios artistas" @@ -5529,11 +5447,15 @@ msgstr "Versión %1" msgid "View" msgstr "Ver" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Modo de visualización" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualizaciones" @@ -5541,10 +5463,6 @@ msgstr "Visualizaciones" msgid "Visualizations Settings" msgstr "Configuración de visualizaciones" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Detección de actividad de voz" @@ -5567,10 +5485,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Muro" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Avisarme antes de cerrar una pestaña de lista de reproducción" @@ -5673,7 +5587,7 @@ msgid "" "well?" msgstr "¿Le gustaría mover también las otras canciones de este álbum a Varios artistas?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "¿Quiere ejecutar un reanálisis completo ahora?" @@ -5689,7 +5603,7 @@ msgstr "Guardar los metadatos" msgid "Wrong username or password." msgstr "Nombre de usuario o contraseña incorrectos." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/et.po b/src/translations/et.po index 5162bf35c..82a3d94f3 100644 --- a/src/translations/et.po +++ b/src/translations/et.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Estonian (http://www.transifex.com/davidsansome/clementine/language/et/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -66,11 +66,6 @@ msgstr " sekundit" msgid " songs" msgstr " laulu" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -102,7 +97,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "%1 плейлист (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "выбрано %1 из" @@ -127,7 +122,7 @@ msgstr "Leiti %1 lugu" msgid "%1 songs found (showing %2)" msgstr "Найдено %1 записей (показано %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 pala" @@ -187,7 +182,7 @@ msgstr "&Keskele" msgid "&Custom" msgstr "&Kohandatud" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Lisad" @@ -195,7 +190,7 @@ msgstr "Lisad" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Abi" @@ -220,7 +215,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Muusika" @@ -228,15 +223,15 @@ msgstr "Muusika" msgid "&None" msgstr "&Puudub" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Lugude nimekiri" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Välju" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Kordav režiim" @@ -244,7 +239,7 @@ msgstr "Kordav režiim" msgid "&Right" msgstr "&Paremale" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Segatud režiim" @@ -252,7 +247,7 @@ msgstr "Segatud režiim" msgid "&Stretch columns to fit window" msgstr "Растянуть столбцы по размеру окна" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Töövahendid" @@ -288,7 +283,7 @@ msgstr "" msgid "1 day" msgstr "1 päev" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 lugu" @@ -432,11 +427,11 @@ msgstr "" msgid "About %1" msgstr "%1 info" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Clementine info..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Qt info..." @@ -446,7 +441,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Konto üksikasjad" @@ -500,19 +495,19 @@ msgstr "" msgid "Add directory..." msgstr "Lisa kaust..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Lisa fail..." @@ -520,12 +515,12 @@ msgstr "Lisa fail..." msgid "Add files to transcode" msgstr "Lisa failid Transkodeerimisele" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Lisa kaust" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Lisa kaust..." @@ -537,7 +532,7 @@ msgstr "Lisa uus kaust..." msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -605,10 +600,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -617,18 +608,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Lisa raadiovoog..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -637,14 +620,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Lisa esitusnimekirja" @@ -654,10 +633,6 @@ msgstr "Lisa esitusnimekirja" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Lisa wiimotedev tegevus" @@ -695,7 +670,7 @@ msgstr "" msgid "After copying..." msgstr "Pärast kopeerimist..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -708,7 +683,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (kõigil radadel ideaalne valjus)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -723,10 +698,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Album koos kaanega" @@ -739,11 +710,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Kõik failid (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -868,7 +839,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -877,7 +848,7 @@ msgstr "" msgid "Artist" msgstr "Esitaja" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Esitaja info" @@ -948,7 +919,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1005,7 +976,8 @@ msgstr "Parim" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitikiirus" @@ -1058,7 +1030,7 @@ msgstr "Sirvi..." msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1082,19 +1054,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Loobu" @@ -1103,12 +1062,6 @@ msgstr "Loobu" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1147,6 +1100,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1155,19 +1112,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Kontrolli uuendusi..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Vali automaatselt" @@ -1213,13 +1166,13 @@ msgstr "" msgid "Clear" msgstr "Puhasta" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Esitusloendi puhastamine" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1352,24 +1305,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Märkus" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1400,15 +1349,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1442,16 +1387,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1475,20 +1420,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopeeri seadmesse..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1510,6 +1451,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1536,7 +1486,7 @@ msgstr "Ei suuda avada väljund faili %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Kaanepildi haldur" @@ -1622,11 +1572,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Loomise kuupäev" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Muutmise kuupäev" @@ -1654,7 +1604,7 @@ msgstr "Heli vaiksemaks" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1677,7 +1627,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Kustuta failid" @@ -1685,7 +1635,7 @@ msgstr "Kustuta failid" msgid "Delete from device..." msgstr "Kustuta seadmest..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Kustuta kettalt..." @@ -1710,11 +1660,15 @@ msgstr "Kustuta originaal failid" msgid "Deleting files" msgstr "Failide kustutamine" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1743,11 +1697,11 @@ msgstr "Seadme nimi" msgid "Device properties..." msgstr "Seadme omadused..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Seadmed" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1794,7 +1748,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1815,7 +1769,7 @@ msgstr "Ekraani seaded" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1986,12 +1940,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Muuda silti..." @@ -2004,7 +1958,7 @@ msgid "Edit track information" msgstr "Muuda loo infot" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Muuda loo infot..." @@ -2024,10 +1978,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "Luba Wii kaugjuhtimine" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Luba ekvalaiser" @@ -2112,7 +2062,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekvalaiser" @@ -2125,8 +2075,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Viga" @@ -2146,6 +2096,11 @@ msgstr "Viga laulude kopeerimisel" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2266,7 +2221,7 @@ msgstr "Hajumine" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2345,27 +2300,23 @@ msgstr "Faililaiend" msgid "File formats" msgstr "Faili vormingud" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Faili nimi" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Failinimi (ilma rajata)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Faili suurus" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2375,7 +2326,7 @@ msgstr "Faili tüüp" msgid "Filename" msgstr "Faili nimi" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Failid" @@ -2387,10 +2338,6 @@ msgstr "Transkodeerida failid" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2459,6 +2406,7 @@ msgid "Form" msgstr "Vorm" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Vorming" @@ -2495,7 +2443,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2503,7 +2451,7 @@ msgstr "" msgid "General settings" msgstr "Üldised seadistused" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2536,11 +2484,11 @@ msgstr "Anna sellele nimi:" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2594,7 +2542,7 @@ msgstr "Grupeeri zanri/albumi järgi" msgid "Group by Genre/Artist/Album" msgstr "Grupeeri zanri/esitaja/albumi järgi" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2784,11 +2732,11 @@ msgstr "Paigaldatud" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2805,6 +2753,10 @@ msgstr "" msgid "Invalid API key" msgstr "Vigane API võti" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Sobimatu formaat" @@ -2861,7 +2813,7 @@ msgstr "Jamendo andmebaas" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2885,7 +2837,7 @@ msgstr "" msgid "Keep the original files" msgstr "Säiilita originaalfailid" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2926,7 +2878,7 @@ msgstr "Suur külgriba" msgid "Last played" msgstr "Viimati esitatud" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2967,12 +2919,12 @@ msgstr "Vähim kuulatud lood" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Kestvus" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Helikogu" @@ -2981,7 +2933,7 @@ msgstr "Helikogu" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3021,7 +2973,7 @@ msgstr "Lae ümbris plaadilt..." msgid "Load playlist" msgstr "Laadi esitusnimekiri" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Lae esitusnimekiri..." @@ -3057,8 +3009,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Laadimine..." @@ -3067,7 +3018,6 @@ msgstr "Laadimine..." msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3077,8 +3027,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Logi sisse" @@ -3086,15 +3035,11 @@ msgstr "Logi sisse" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Meeldib" @@ -3175,7 +3120,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3221,10 +3166,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3255,6 +3196,10 @@ msgstr "Vähim bitikiirus" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3275,7 +3220,7 @@ msgstr "" msgid "Months" msgstr "kuud" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3288,10 +3233,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "Enim mängitud" @@ -3309,7 +3250,7 @@ msgstr "Enim punkte" msgid "Move down" msgstr "Liiguta alla" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3318,8 +3259,7 @@ msgstr "" msgid "Move up" msgstr "Liiguta üles" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3328,22 +3268,10 @@ msgid "Music Library" msgstr "Muusika kogu" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Vaigista" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3389,7 +3317,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Uus esitusnimekiri" @@ -3418,7 +3346,7 @@ msgid "Next" msgstr "Järgmine" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Järgmine lugu" @@ -3456,7 +3384,7 @@ msgstr "" msgid "None" msgstr "Puudub" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3505,10 +3433,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3590,7 +3514,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "Ava %1 brauseris" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Ava &audio CD..." @@ -3610,7 +3534,7 @@ msgstr "" msgid "Open device" msgstr "Ava seade" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3664,7 +3588,7 @@ msgstr "" msgid "Organise Files" msgstr "Organiseeri faile" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organiseeri faile..." @@ -3676,7 +3600,7 @@ msgstr "Organiseerin faile" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3744,7 +3668,7 @@ msgstr "Pidu" msgid "Password" msgstr "Parool" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Paus" @@ -3757,7 +3681,7 @@ msgstr "Peata esitus" msgid "Paused" msgstr "Peatatud" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3772,14 +3696,14 @@ msgstr "" msgid "Plain sidebar" msgstr "Täielik külgriba" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Mängi" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Esitamiste arv" @@ -3810,7 +3734,7 @@ msgstr "Esitaja valikud" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Lugude nimekiri" @@ -3827,7 +3751,7 @@ msgstr "Esitusnimekirja valikud" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3868,11 +3792,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Seadistused" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Seadistused..." @@ -3932,7 +3856,7 @@ msgid "Previous" msgstr "Eelmine" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Eelmine lugu" @@ -3983,16 +3907,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Järjekorrahaldur" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Lisa järjekorda" @@ -4004,7 +3928,7 @@ msgstr "Raadio (kõigil paladel võrdne valjus)" msgid "Rain" msgstr "Vihm" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4041,7 +3965,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Hinnang" @@ -4108,7 +4032,7 @@ msgstr "Eemalda" msgid "Remove action" msgstr "Eemalda toiming" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4116,15 +4040,7 @@ msgstr "" msgid "Remove folder" msgstr "Eemalda kaust" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Eemalda esitusnimekirjast" @@ -4136,7 +4052,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4148,7 +4064,7 @@ msgstr "Nimeta lugude nimekiri ümber" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4198,7 +4114,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4239,7 +4155,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4269,8 +4185,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Diskreetimissagedus" @@ -4308,7 +4225,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Salvesta esitusnimekiri..." @@ -4348,7 +4265,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4365,12 +4282,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Otsing" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4513,7 +4430,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4522,7 +4439,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4589,7 +4506,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4609,16 +4526,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4630,27 +4543,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4686,7 +4595,7 @@ msgstr "" msgid "Shuffle all" msgstr "Sega kõik" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Sega esitusnimistu" @@ -4722,7 +4631,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Lugude nimekirjas tagasi hüppamine" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4730,11 +4639,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "Lugude nimekirjas edasi" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4766,7 +4675,7 @@ msgstr "" msgid "Song Information" msgstr "Laulu andmed" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4802,7 +4711,7 @@ msgstr "Sorteerimine" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4877,7 +4786,7 @@ msgid "Starting..." msgstr "Alustamine..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Peata" @@ -4893,7 +4802,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4922,6 +4831,10 @@ msgstr "Peatatud" msgid "Stream" msgstr "Voog" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5031,6 +4944,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5049,7 +4966,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5091,7 +5008,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5175,7 +5092,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5194,11 +5111,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "Lülita täisekraani" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5238,7 +5155,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Rada" @@ -5247,7 +5164,7 @@ msgstr "Rada" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transkodeeri muusikat" @@ -5284,6 +5201,10 @@ msgstr "" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5309,9 +5230,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Tundmatu" @@ -5328,11 +5249,11 @@ msgstr "Tundmatu viga" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5345,15 +5266,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5463,7 +5380,7 @@ msgstr "" msgid "Used" msgstr "Kasutuses" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5489,7 +5406,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Erinevad esitajad" @@ -5502,11 +5419,15 @@ msgstr "Versioon %1" msgid "View" msgstr "Vaade" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualiseeringud" @@ -5514,10 +5435,6 @@ msgstr "Visualiseeringud" msgid "Visualizations Settings" msgstr "Virtualiseerimise seaded" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5540,10 +5457,6 @@ msgstr "WAV" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5646,7 +5559,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5662,7 +5575,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/eu.po b/src/translations/eu.po index f518ecb59..8c9c73557 100644 --- a/src/translations/eu.po +++ b/src/translations/eu.po @@ -4,14 +4,14 @@ # # Translators: # FIRST AUTHOR , 2010 -# isolus , 2013 +# isolus , 2013,2017 # isolus , 2013 # Mikel Iturbe Urretxa , 2012 # Mikel Iturbe Urretxa , 2012 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Basque (http://www.transifex.com/davidsansome/clementine/language/eu/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -67,11 +67,6 @@ msgstr " segundu" msgid " songs" msgstr " abesti" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -81,7 +76,7 @@ msgstr "%1 album" #: widgets/equalizerslider.cpp:43 #, qt-format msgid "%1 dB" -msgstr "" +msgstr "%1 dB" #: core/utilities.cpp:120 #, qt-format @@ -103,7 +98,7 @@ msgstr "%1 %2-tik" msgid "%1 playlists (%2)" msgstr "%1 erreprodukzio-zerrenda (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 aukeraturik" @@ -128,7 +123,7 @@ msgstr "%1 abesti aurkiturik" msgid "%1 songs found (showing %2)" msgstr "%1 abesti aurkiturik (%2 erakusten)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 pista" @@ -188,7 +183,7 @@ msgstr "&Zentratu" msgid "&Custom" msgstr "&Pertsonalizatua" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Gehigarriak" @@ -196,7 +191,7 @@ msgstr "&Gehigarriak" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Laguntza" @@ -219,9 +214,9 @@ msgstr "" #: ../bin/src/ui_edittagdialog.h:731 msgid "&Lyrics" -msgstr "" +msgstr "&Letrak" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musika" @@ -229,15 +224,15 @@ msgstr "&Musika" msgid "&None" msgstr "&Bat ere ez" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Erreprodukzio-zerrenda" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Itxi" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "E&rrepikatze-modua" @@ -245,7 +240,7 @@ msgstr "E&rrepikatze-modua" msgid "&Right" msgstr "E&skuinera" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Au&sazko modua" @@ -253,13 +248,13 @@ msgstr "Au&sazko modua" msgid "&Stretch columns to fit window" msgstr "&Tiratu zutabeak leihoan egokitzeko" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Tresnak" #: ../bin/src/ui_edittagdialog.h:724 msgid "&Year" -msgstr "" +msgstr "&Urtea" #: ui/edittagdialog.cpp:50 msgid "(different across multiple songs)" @@ -275,7 +270,7 @@ msgstr "...eta Amarok-eko laguntzaile guztiei" #: ../bin/src/ui_albumcovermanager.h:222 ../bin/src/ui_albumcovermanager.h:223 msgid "0" -msgstr "" +msgstr "0" #: ../bin/src/ui_trackslider.h:69 ../bin/src/ui_trackslider.h:73 msgid "0:00:00" @@ -289,7 +284,7 @@ msgstr "0px" msgid "1 day" msgstr "Egun 1" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "Pista 1" @@ -304,7 +299,7 @@ msgstr "" #: ../bin/src/ui_appearancesettingspage.h:290 msgid "40%" -msgstr "" +msgstr "%40" #: ../bin/src/ui_playbacksettingspage.h:375 msgid "44,100Hz" @@ -382,7 +377,7 @@ msgstr "" #: internet/digitally/digitallyimportedsettingspage.cpp:48 #: internet/digitally/digitallyimportedurlhandler.cpp:60 msgid "A premium account is required" -msgstr "" +msgstr "Beharrezkoa da premium kontu bat" #: smartplaylists/wizard.cpp:74 msgid "" @@ -433,11 +428,11 @@ msgstr "" msgid "About %1" msgstr "%1-(r)i buruz" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Clementine-ri buruz..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Qt-ri buruz..." @@ -447,7 +442,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Kontuaren xehetasunak" @@ -501,19 +496,19 @@ msgstr "Gehitu beste jario bat..." msgid "Add directory..." msgstr "Gehitu direktorioa..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Gehitu fitxategia" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Gehitu fitxategia..." @@ -521,12 +516,12 @@ msgstr "Gehitu fitxategia..." msgid "Add files to transcode" msgstr "Gehitu transkodetzeko fitxategiak" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Gehitu karpeta" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Gehitu karpeta..." @@ -538,7 +533,7 @@ msgstr "Gehitu karpeta berria..." msgid "Add podcast" msgstr "Podcast-a gehitu" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Podcast-a gehitu..." @@ -606,10 +601,6 @@ msgstr "Gehitu kantaren jauzi-kontagailua" msgid "Add song title tag" msgstr "Gehitu titulua etiketa kantari" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Gehitu pista etiketa kantari" @@ -618,18 +609,10 @@ msgstr "Gehitu pista etiketa kantari" msgid "Add song year tag" msgstr "Gehitu urtea etiketa kantari" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Gehitu jarioa..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -638,14 +621,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Gehitu beste erreprodukzio-zerrenda batera" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Gehitu erreprodukzio-zerrendara" @@ -655,10 +634,6 @@ msgstr "Gehitu erreprodukzio-zerrendara" msgid "Add to the queue" msgstr "Gehitu ilarara" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Gehitu wiimotedev ekintza" @@ -696,7 +671,7 @@ msgstr "Ondoren" msgid "After copying..." msgstr "Kopiatu ondoren..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -709,7 +684,7 @@ msgstr "Albuma" msgid "Album (ideal loudness for all tracks)" msgstr "Albuma (pista guztientzako bolumen ideala)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -724,10 +699,6 @@ msgstr "Albumeko azala" msgid "Album info on jamendo.com..." msgstr "Albumeko informazioa jamendo.com-en..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Azaldun albumak" @@ -740,11 +711,11 @@ msgstr "Azal gabeko albumak" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Fitxategi guztiak (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -869,7 +840,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -878,7 +849,7 @@ msgstr "" msgid "Artist" msgstr "Artista" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Artis. infor." @@ -949,7 +920,7 @@ msgstr "Batez besteko irudi-tamaina" msgid "BBC Podcasts" msgstr "BBC-ko podcast-ak" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1006,7 +977,8 @@ msgstr "Onena" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bit-tasa" @@ -1059,7 +1031,7 @@ msgstr "Arakatu..." msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Bufferra betetzen" @@ -1083,19 +1055,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE orriaren euskarria" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Utzi" @@ -1104,12 +1063,6 @@ msgstr "Utzi" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Aldatu azala" @@ -1148,6 +1101,10 @@ msgid "" "songs" msgstr "Mono erreprodukzioa hurrengo erreprodukzioetan izango da erabilgarri" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Atal berriak bilatu" @@ -1156,19 +1113,15 @@ msgstr "Atal berriak bilatu" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Eguneraketak bilatu..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Erreprodukzio-zerrenda adimendunaren izena hautatu" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Automatikoki hautatu" @@ -1214,13 +1167,13 @@ msgstr "Garbiketa" msgid "Clear" msgstr "Garbitu" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Erreprodukzio-zerrenda garbitu" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1353,24 +1306,20 @@ msgstr "Koloreak" msgid "Comma separated list of class:level, level is 0-3" msgstr "Komaz banaturiko klase-zerrenda:maila, maila 0-3 da" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Iruzkina" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Bete etiketak automatikoki" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Bete etiketak automatikoki..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1401,15 +1350,11 @@ msgstr "Konfiguratu Spotify..." msgid "Configure Subsonic..." msgstr "Subsonic konfiguratu" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Bilaketa globala konfiguratu..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Konfiguratu bilduma..." @@ -1443,16 +1388,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Kontsola" @@ -1476,20 +1421,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopiatu arbelean" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopiatu gailura..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopiatu bildumara..." @@ -1511,6 +1452,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Ezin izan da GStreamer \"%1\" elementua sortu - beharrezko GStreamer plugin guztiak instalatuta dauden begiratu" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1537,7 +1487,7 @@ msgstr "Ezin izan da %1 irteera-fitxategia ireki" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Azal-kudeatzailea" @@ -1623,11 +1573,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Sorrera-data" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Aldatze-data" @@ -1655,7 +1605,7 @@ msgstr "Bolumena jaitsi" msgid "Default background image" msgstr "Atzeko planoko irudi lehenetsia" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1678,7 +1628,7 @@ msgid "Delete downloaded data" msgstr "Ezabatu deskargatutako datuak" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Ezabatu fitxategiak" @@ -1686,7 +1636,7 @@ msgstr "Ezabatu fitxategiak" msgid "Delete from device..." msgstr "Ezabatu gailutik..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Ezabatu diskotik..." @@ -1711,11 +1661,15 @@ msgstr "Ezabatu jatorrizko fitxategiak" msgid "Deleting files" msgstr "Fitxategiak ezabatzen" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Atera aukeraturiko pistak ilaratik" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Atera pista ilaratik" @@ -1744,11 +1698,11 @@ msgstr "Gailuaren izena" msgid "Device properties..." msgstr "Gailuaren propietateak..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Gailuak" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1795,7 +1749,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1816,7 +1770,7 @@ msgstr "Erakutsi aukerak" msgid "Display the on-screen-display" msgstr "Erakutsi pantailako bistaratzailea" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Bildumaren berreskaneo osoa egin" @@ -1987,12 +1941,12 @@ msgstr "Ausazko nahasketa dinamikoa" msgid "Edit smart playlist..." msgstr "Editatu erreprodukzio-zerrenda adimenduna..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Editatu etiketa..." @@ -2005,7 +1959,7 @@ msgid "Edit track information" msgstr "Editatu pistaren informazioa" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Editatu pistaren informazioa..." @@ -2025,10 +1979,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "Gaitu Wii urruneko kontrolaren euskarria" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Gaitu ekualizadorea" @@ -2113,7 +2063,7 @@ msgstr "" msgid "Entire collection" msgstr "Bilduma osoa" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekualizadorea" @@ -2126,8 +2076,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "--log-levels *:3-en baliokidea" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Errorea" @@ -2147,6 +2097,11 @@ msgstr "Errorea abestiak kopiatzean" msgid "Error deleting songs" msgstr "Errorea abestiak ezabatzean" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Errorea Spotify plugin-a deskargatzean" @@ -2267,7 +2222,7 @@ msgstr "Iraungitzea" msgid "Fading duration" msgstr "Iraungitzearen iraupena" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2346,27 +2301,23 @@ msgstr "Fitxategi-luzapena" msgid "File formats" msgstr "Fitxategi-formatuak" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Fitxategi-izena" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Fitx.-izena (bidea gabe)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Fitxategi-tamaina" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2376,7 +2327,7 @@ msgstr "Fitxategi-mota" msgid "Filename" msgstr "Fitxategi-izena" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Fitxategiak" @@ -2388,10 +2339,6 @@ msgstr "Transkodetzeko fitxategiak" msgid "Find songs in your library that match the criteria you specify." msgstr "Ezarritako irizpideak betetzen dituzten bildumako abestiak bilatu." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Abestiaren hatz-marka eskuratzen" @@ -2460,6 +2407,7 @@ msgid "Form" msgstr "Inprimakia" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formatua" @@ -2474,7 +2422,7 @@ msgstr "Koadroak buffer-eko" #: internet/subsonic/subsonicservice.cpp:106 msgid "Frequently Played" -msgstr "" +msgstr "Maiz erreproduzitutakoak" #: moodbar/moodbarrenderer.cpp:173 msgid "Frozen" @@ -2496,7 +2444,7 @@ msgstr "Altu osoak" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Orokorra" @@ -2504,7 +2452,7 @@ msgstr "Orokorra" msgid "General settings" msgstr "Ezarpen orokorrak" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2537,11 +2485,11 @@ msgstr "Izendatu:" msgid "Go" msgstr "Joan" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Hurrengo erreprodukzio-zerrendara joan" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Aurreko erreprodukzio-zerrendara joan" @@ -2595,7 +2543,7 @@ msgstr "Taldekatu genero/albumaren arabera" msgid "Group by Genre/Artist/Album" msgstr "Taldekatu generoa/artista/albumaren arabera" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2754,7 +2702,7 @@ msgstr "Bolumena % 4 igo" #: core/commandlineoptions.cpp:163 msgid "Increase the volume by percent" -msgstr "" +msgstr "Bolumena igo ehuneko -ra" #: core/globalshortcuts.cpp:61 wiimotedev/wiimotesettingspage.cpp:110 msgid "Increase volume" @@ -2771,7 +2719,7 @@ msgstr "Informazioa" #: ../bin/src/ui_ripcddialog.h:300 msgid "Input options" -msgstr "" +msgstr "Sarrerako aukerak" #: ../bin/src/ui_organisedialog.h:254 msgid "Insert..." @@ -2785,18 +2733,18 @@ msgstr "Instalatuta" msgid "Integrity check" msgstr "Osotasunaren egiaztapena" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internet hornitzaileak" #: ../bin/src/ui_internetshowsettingspage.h:83 msgctxt "Global search settings dialog title." msgid "Internet services" -msgstr "" +msgstr "Internet zerbitzuak" #: widgets/osd.cpp:323 ../bin/src/ui_playlistsequence.h:115 msgid "Intro tracks" @@ -2806,6 +2754,10 @@ msgstr "" msgid "Invalid API key" msgstr "API gako baliogabea" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Formatu baliogabea" @@ -2832,7 +2784,7 @@ msgstr "Sesio-gako baliogabea" #: ../bin/src/ui_ripcddialog.h:311 msgid "Invert Selection" -msgstr "" +msgstr "Hautaketa alderantzikatu" #: internet/jamendo/jamendoservice.cpp:137 msgid "Jamendo" @@ -2862,7 +2814,7 @@ msgstr "Jamendo datu-basea" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Erreproduzitzen ari den pistara jauzi egin" @@ -2886,7 +2838,7 @@ msgstr "Jarraitu atzealdean exekutatzen leihoa ixten denean" msgid "Keep the original files" msgstr "Jatorrizko fitxategiak mantendu" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2927,10 +2879,10 @@ msgstr "Albo-barra handia" msgid "Last played" msgstr "Erreproduzitutako azkena" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" -msgstr "" +msgstr "Erreproduzitutako azkena" #: ../bin/src/ui_lastfmsettingspage.h:131 msgid "Last.fm" @@ -2968,12 +2920,12 @@ msgstr "Gutxien gogoko diren pistak" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Iraupena" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Bilduma" @@ -2982,7 +2934,7 @@ msgstr "Bilduma" msgid "Library advanced grouping" msgstr "Bildumaren taldekatze aurreratua" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Bildumaren berreskaneoaren abisua" @@ -3022,7 +2974,7 @@ msgstr "Kargatu azala diskotik..." msgid "Load playlist" msgstr "Kargatu erreprodukzio-zerrenda" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Kargatu erreprodukzio-zerrenda..." @@ -3058,8 +3010,7 @@ msgstr "Pisten informazioa kargatzen" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Kargatzen..." @@ -3068,7 +3019,6 @@ msgstr "Kargatzen..." msgid "Loads files/URLs, replacing current playlist" msgstr "Fitxategiak/URLak kargatzen ditu, momentuko erreprodukzio-zerrenda ordezkatuz" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3078,8 +3028,7 @@ msgstr "Fitxategiak/URLak kargatzen ditu, momentuko erreprodukzio-zerrenda ordez #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Saio-hasiera" @@ -3087,15 +3036,11 @@ msgstr "Saio-hasiera" msgid "Login failed" msgstr "Saio hasieraren huts egitea" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Epe luzerako predikzio profila (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Oso gustukoa" @@ -3176,7 +3121,7 @@ msgstr "Profil nagusia (MAIN)" msgid "Make it so!" msgstr "Egin ezazu!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3222,10 +3167,6 @@ msgstr "Bilaketa-termino guztiak parekatu (AND)" msgid "Match one or more search terms (OR)" msgstr "Bilaketa-termin bat edo gehiago parekatu (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Bit-tasa maximoa" @@ -3256,6 +3197,10 @@ msgstr "Bit-tasa minimoa" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "projectM-ko aurre-ezarpenak falta dira" @@ -3276,7 +3221,7 @@ msgstr "Mono erreprodukzioa" msgid "Months" msgstr "Hilabete" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Aldarte" @@ -3289,10 +3234,6 @@ msgstr "Aldarte-barraren itxura" msgid "Moodbars" msgstr "Aldarte-barra" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "Gehien erreproduzitutakoak" @@ -3310,7 +3251,7 @@ msgstr "Muntatze-puntuak" msgid "Move down" msgstr "Eraman behera" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Eraman bildumara..." @@ -3319,8 +3260,7 @@ msgstr "Eraman bildumara..." msgid "Move up" msgstr "Eraman gora" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musika" @@ -3329,22 +3269,10 @@ msgid "Music Library" msgstr "Musika-bilduma" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Mututu" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Nire Musika" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Nire gomendioak" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3390,7 +3318,7 @@ msgstr "Inoiz ez hasi erreproduzitzen" msgid "New folder" msgstr "Karpeta berria" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Erreprodukzio-zerrenda berria" @@ -3419,7 +3347,7 @@ msgid "Next" msgstr "Hurrengoa" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Hurrengo pista" @@ -3457,7 +3385,7 @@ msgstr "Bloke laburrik ez" msgid "None" msgstr "Bat ere ez" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Aukeraturiko abestietako bat ere ez zen aproposa gailu batera kopiatzeko" @@ -3506,10 +3434,6 @@ msgstr "Saioa hasi gabe" msgid "Not mounted - double click to mount" msgstr "Muntatu gabe - klik bikoitza egin muntatzeko" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Jakinarazpen mota" @@ -3591,7 +3515,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "%1 nabigatzailean ireki" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Ireki &audio CDa..." @@ -3611,7 +3535,7 @@ msgstr "" msgid "Open device" msgstr "Ireki gailua" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Ireki fitxategia..." @@ -3665,7 +3589,7 @@ msgstr "" msgid "Organise Files" msgstr "Antolatu fitxategiak" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Antolatu fitxategiak..." @@ -3677,7 +3601,7 @@ msgstr "Fitxategiak antolatzen" msgid "Original tags" msgstr "Jatorrizko etiketak" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3686,7 +3610,7 @@ msgstr "" #: library/savedgroupingmanager.cpp:98 ../bin/src/ui_groupbydialog.h:137 #: ../bin/src/ui_groupbydialog.h:156 ../bin/src/ui_groupbydialog.h:175 msgid "Original year - Album" -msgstr "" +msgstr "Jatorrizko urtea - Albuma" #: library/library.cpp:118 msgid "Original year tag support" @@ -3745,7 +3669,7 @@ msgstr "Jaia" msgid "Password" msgstr "Pasahitza" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pausarazi" @@ -3758,29 +3682,29 @@ msgstr "Erreprodukzioa pausatu" msgid "Paused" msgstr "Pausatua" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 msgid "Performer" -msgstr "" +msgstr "Aktuatzailea" #: ../bin/src/ui_albumcoverexport.h:214 msgid "Pixel" -msgstr "" +msgstr "Pixel" #: widgets/fancytabwidget.cpp:644 msgid "Plain sidebar" msgstr "Albo-barra sinplea" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Erreproduzitu" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Erreprodukzio kopurua" @@ -3811,7 +3735,7 @@ msgstr "Erreproduzitzailearen aukerak" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Erreprodukzio-zerrenda" @@ -3828,7 +3752,7 @@ msgstr "Erreprodukzio-zerrendaren aukerak" msgid "Playlist type" msgstr "Erreprodukzio-zerrenda mota" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Erreprodukzio-zerrendak" @@ -3864,16 +3788,16 @@ msgstr "Aurre-anplifikadorea" #: ../bin/src/ui_seafilesettingspage.h:176 msgid "Preference" -msgstr "" +msgstr "Hobespena" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Hobespenak" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Hobespenak..." @@ -3933,7 +3857,7 @@ msgid "Previous" msgstr "Aurrekoa" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Aurreko pista" @@ -3952,11 +3876,11 @@ msgstr "Aurrerapena" #: ../bin/src/ui_magnatunedownloaddialog.h:130 msgctxt "Category label" msgid "Progress" -msgstr "" +msgstr "Aurrerapena" #: ui/equalizer.cpp:144 msgid "Psychedelic" -msgstr "" +msgstr "Psikodelikoa" #: wiimotedev/wiimotesettingspage.cpp:246 #: ../bin/src/ui_wiimoteshortcutgrabber.h:121 @@ -3973,27 +3897,27 @@ msgstr "Abestiak ausazko ordenan jarri" #: ../bin/src/ui_transcoderoptionsvorbis.h:201 msgctxt "Sound quality" msgid "Quality" -msgstr "" +msgstr "Kalitatea" #: visualisations/visualisationcontainer.cpp:118 msgctxt "Visualisation quality" msgid "Quality" -msgstr "" +msgstr "Kalitatea" #: ../bin/src/ui_deviceproperties.h:382 msgid "Querying device..." msgstr "Gailua galdekatzen..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Ilara-kudeatzailea" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Aukeraturiko pistak ilaran jarri" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Pista ilaran jarri" @@ -4005,14 +3929,14 @@ msgstr "Irratia (ozentasun berdina pista denentzat)" msgid "Rain" msgstr "Euria" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" -msgstr "" +msgstr "Euria" #: internet/subsonic/subsonicservice.cpp:103 msgid "Random" -msgstr "" +msgstr "Ausaz" #: ../bin/src/ui_visualisationselector.h:111 msgid "Random visualization" @@ -4042,7 +3966,7 @@ msgstr "Oraingo kantari 4 izarretako balioa eman" msgid "Rate the current song 5 stars" msgstr "Oraingo kantari 5 izarretako balioa eman" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Balioztatzea" @@ -4109,7 +4033,7 @@ msgstr "Kendu" msgid "Remove action" msgstr "Kendu ekintza" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Abesti bikoiztuak kendu erreprodukzio-zerrendatik " @@ -4117,15 +4041,7 @@ msgstr "Abesti bikoiztuak kendu erreprodukzio-zerrendatik " msgid "Remove folder" msgstr "Kendu karpeta" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Nire Musikatik kendu" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Kendu erreprodukzio-zerrendatik" @@ -4137,7 +4053,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4149,7 +4065,7 @@ msgstr "Berrizendatu erreprodukzio-zerrenda" msgid "Rename playlist..." msgstr "Berrizendatu erreprodukzio-zerrenda..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Zenbakitu berriro pistak ordena honetan..." @@ -4199,7 +4115,7 @@ msgstr "Birpopulatu" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Berrezarri" @@ -4240,7 +4156,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4270,8 +4186,9 @@ msgstr "Kendu gailua arriskurik gabe" msgid "Safely remove the device after copying" msgstr "Kopiatu ondoren kendu gailua arriskurik gabe" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Lagintze-tasa" @@ -4309,7 +4226,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Gorde erreprodukzio-zerrenda..." @@ -4349,7 +4266,7 @@ msgstr "Lagintze-tasa eskalagarriaren profila (SSR)" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Puntuazioa" @@ -4366,12 +4283,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Bilatu" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4514,7 +4431,7 @@ msgstr "Zerbitzariaren xehetasunak" msgid "Service offline" msgstr "Zerbitzua lineaz kanpo" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Ezarri %1 \"%2\"-(e)ra..." @@ -4523,7 +4440,7 @@ msgstr "Ezarri %1 \"%2\"-(e)ra..." msgid "Set the volume to percent" msgstr "Ezarri bolumena ehuneko -ra" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Ezarri balioa aukeratutako pista guztiei..." @@ -4590,7 +4507,7 @@ msgstr "Erakutsi OSD itxurosoa" msgid "Show above status bar" msgstr "Erakutsi egoera-barraren gainean" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Erakutsi abesti guztiak" @@ -4610,16 +4527,12 @@ msgstr "Erakutsi zatitzaileak" msgid "Show fullsize..." msgstr "Erakutsi tamaina osoan..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Erakutsi fitxategi arakatzailean..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4631,27 +4544,23 @@ msgstr "Erakutsi hainbat artista" msgid "Show moodbar" msgstr "Aldarte-barra erakutsi" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Erakutsi bakarrik errepikapenak" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Erakutsi etiketa gabeak bakarrik" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Bilaketaren iradokizunak erakutsi" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4687,7 +4596,7 @@ msgstr "Albumak nahastu" msgid "Shuffle all" msgstr "Dena nahastu" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Erreprodukzio-zerrenda nahastu" @@ -4723,7 +4632,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Saltatu atzerantz erreprodukzio-zerrendan" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Saltatu kontagailua" @@ -4731,11 +4640,11 @@ msgstr "Saltatu kontagailua" msgid "Skip forwards in playlist" msgstr "Saltatu aurrerantz erreprodukzio-zerrendan" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4767,7 +4676,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Abestiaren informazioa" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Abes. infor." @@ -4803,7 +4712,7 @@ msgstr "Ordenatzen" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Iturria" @@ -4878,7 +4787,7 @@ msgid "Starting..." msgstr "Hasten..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Gelditu" @@ -4894,7 +4803,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Gelditu pista honen ondoren" @@ -4923,6 +4832,10 @@ msgstr "Geldituta" msgid "Stream" msgstr "Jarioa" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5032,6 +4945,10 @@ msgstr "Orain erreproduzitzen ari den kantaren albumaren azala" msgid "The directory %1 is not valid" msgstr "%1 direktorioa ez da baliagarria" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Bigarren balioak lehenak baino handiagoa izan behar du!" @@ -5050,7 +4967,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5092,7 +5009,7 @@ msgid "" "continue?" msgstr "Fitxategi hauek gailutik ezabatuko dira, jarraitu nahi duzu?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5176,7 +5093,7 @@ msgstr "Gailu mota hau ez da onartzen :%1" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5195,11 +5112,11 @@ msgstr "Txandakatu OSD itxurosoa" msgid "Toggle fullscreen" msgstr "Txandakatu pantaila-osoa" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Txandakatu ilara-egoera" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Txandakatu partekatzea" @@ -5225,7 +5142,7 @@ msgstr "Pista gogokoenak" #: ../bin/src/ui_albumcovermanager.h:220 msgid "Total albums:" -msgstr "" +msgstr "Album kopurua:" #: covers/coversearchstatisticsdialog.cpp:70 msgid "Total bytes transferred" @@ -5239,7 +5156,7 @@ msgstr "Eginiko sareko eskaerak guztira" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Pista" @@ -5248,7 +5165,7 @@ msgstr "Pista" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transkodetu musika" @@ -5285,6 +5202,10 @@ msgstr "Itzali" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URLa(k)" @@ -5310,9 +5231,9 @@ msgstr "Ezin izan da %1 deskargatu (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Ezezaguna" @@ -5329,11 +5250,11 @@ msgstr "Errore ezezaguna" msgid "Unset cover" msgstr "Ezarri gabeko azala" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5346,15 +5267,11 @@ msgstr "Harpidetza kendu" msgid "Upcoming Concerts" msgstr "Hurrengo Kontzertuak" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Eguneratu podcast guztiak" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Eguneratu bildumako aldatutako karpetak" @@ -5464,7 +5381,7 @@ msgstr "Erabili bolumenaren normalizazioa" msgid "Used" msgstr "Erabilia" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Erabiltzaile-interfazea" @@ -5490,7 +5407,7 @@ msgid "Variable bit rate" msgstr "Bit-tasa aldakorra" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Hainbat artista" @@ -5503,11 +5420,15 @@ msgstr "%1 bertsioa" msgid "View" msgstr "Ikusi" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Bistaratze-modua" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Bistaratzeak" @@ -5515,10 +5436,6 @@ msgstr "Bistaratzeak" msgid "Visualizations Settings" msgstr "Bistarate-ezarpenak" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Ahotsaren jardueraren detekzioa" @@ -5541,10 +5458,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5647,7 +5560,7 @@ msgid "" "well?" msgstr "Beste abestiak ere Hainbat artistara mugitzea nahi duzu?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Berreskaneo osoa orain egitea nahi duzu?" @@ -5663,7 +5576,7 @@ msgstr "" msgid "Wrong username or password." msgstr "Erabiltzailea edo pasahitza ez da zuzena." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/fa.po b/src/translations/fa.po index 6fdaeac97..c19ea6cde 100644 --- a/src/translations/fa.po +++ b/src/translations/fa.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Persian (http://www.transifex.com/davidsansome/clementine/language/fa/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -67,11 +67,6 @@ msgstr " ثانیه" msgid " songs" msgstr " آهنگ‌ها" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -103,7 +98,7 @@ msgstr "%1 در %2" msgid "%1 playlists (%2)" msgstr "%1 لیست‌پخش (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 گزیده از" @@ -128,7 +123,7 @@ msgstr "%1 آهنگ پیدا شد" msgid "%1 songs found (showing %2)" msgstr "%1 آهنگ پیدا شد (نمایش %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 ترک" @@ -188,7 +183,7 @@ msgstr "&میانه" msgid "&Custom" msgstr "&سفارشی‌" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "ا&فزونه‌ها" @@ -196,7 +191,7 @@ msgstr "ا&فزونه‌ها" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&راهنما" @@ -221,7 +216,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "آ&هنگ" @@ -229,15 +224,15 @@ msgstr "آ&هنگ" msgid "&None" msgstr "&هیچ‌کدام‌" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&لیست‌پخش" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&برونرفتن" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "سبک &تکرار" @@ -245,7 +240,7 @@ msgstr "سبک &تکرار" msgid "&Right" msgstr "&راست‌" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "سبک &درهم" @@ -253,7 +248,7 @@ msgstr "سبک &درهم" msgid "&Stretch columns to fit window" msgstr "&کشیدن ستون‌ها برای پرکردن پنجره" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&ابزارها‌" @@ -289,7 +284,7 @@ msgstr "0px" msgid "1 day" msgstr "۱ روز" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "۱ ترک" @@ -433,11 +428,11 @@ msgstr "" msgid "About %1" msgstr "درباره‌ی %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "درباره‌ی کلمنتاین..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "درباره‌ی کیو‌ت..." @@ -447,7 +442,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "ویژگی‌های اکانت" @@ -501,19 +496,19 @@ msgstr "افزودن جریان دیگر..." msgid "Add directory..." msgstr "افزودن پوشه..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "افزودن پرونده" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "افزودن پرونده..." @@ -521,12 +516,12 @@ msgstr "افزودن پرونده..." msgid "Add files to transcode" msgstr "افزودن پرونده‌ها به تراکد" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "افزودن پوشه" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "افزودن پوشه..." @@ -538,7 +533,7 @@ msgstr "افزودن پوشه‌ی نو..." msgid "Add podcast" msgstr "افزودن پادکست" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "افزودن پادکست..." @@ -606,10 +601,6 @@ msgstr "افزودن شماره‌ی پرش آهنگ" msgid "Add song title tag" msgstr "افزودن برچسب عنوان آهنگ" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "افزودن برچسب ترک آهنگ" @@ -618,18 +609,10 @@ msgstr "افزودن برچسب ترک آهنگ" msgid "Add song year tag" msgstr "افزودن برچسب سال آهنگ" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "افزودن جریان..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -638,14 +621,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "افزودن به لیست‌پخش دیگر" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "افزودن به لیست‌پخش" @@ -655,10 +634,6 @@ msgstr "افزودن به لیست‌پخش" msgid "Add to the queue" msgstr "افزودن به صف" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "افزودن کنش ویموتدو" @@ -696,7 +671,7 @@ msgstr "پس از" msgid "After copying..." msgstr "پس از کپی‌کردن..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -709,7 +684,7 @@ msgstr "آلبوم" msgid "Album (ideal loudness for all tracks)" msgstr "آلبوم (بلندی صدای ایده‌آل برای همه‌ی ترک‌ها)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -724,10 +699,6 @@ msgstr "جلد آلبوم" msgid "Album info on jamendo.com..." msgstr "دانستنی‌های آلبوم در جامندو..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "آلبوم‌های با جلد" @@ -740,11 +711,11 @@ msgstr "آلبوم‌های بدون جلد" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "همه‌ی پرونده‌ها(*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -869,7 +840,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -878,7 +849,7 @@ msgstr "" msgid "Artist" msgstr "هنرمند" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "اطلاعات هنرمند" @@ -949,7 +920,7 @@ msgstr "میانگین اندازه‌ی فرتور" msgid "BBC Podcasts" msgstr "پادکست بی‌بی‌سی" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "ض.د.د" @@ -1006,7 +977,8 @@ msgstr "بهترین" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "ضرب آهنگ" @@ -1059,7 +1031,7 @@ msgstr "مرور..." msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "میان‌گیری" @@ -1083,19 +1055,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "پشتیبانی از سیاهه" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "کنسل" @@ -1104,12 +1063,6 @@ msgstr "کنسل" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "تغییر جلد هنری" @@ -1148,6 +1101,10 @@ msgid "" "songs" msgstr "تغییر ترجیح‌های بازپخش مونو برای آهنگ‌های پسین کاراست" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "بررسی برای داستان‌های تازه" @@ -1156,19 +1113,15 @@ msgstr "بررسی برای داستان‌های تازه" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "بررسی به‌روز رسانی..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "گزینش نام برای لیست‌پخش هوشمند" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "گزینش خودکار" @@ -1214,13 +1167,13 @@ msgstr "پالایش" msgid "Clear" msgstr "پاک کن" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "پاک کردن لیست‌پخش" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "کلمنتاین" @@ -1353,24 +1306,20 @@ msgstr "رنگ" msgid "Comma separated list of class:level, level is 0-3" msgstr "لیست مجزا بوسیله‌ی ویرگول از کلاس:طبقه، طبقه ۰-۳ است" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "توضیح" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "تکمیل خودکار برچسب‌ها" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "تکمیل خودکار برچسب‌ها..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1401,15 +1350,11 @@ msgstr "پیکربندی اسپاتیفای..." msgid "Configure Subsonic..." msgstr "پیکربندی ساب‌سونیک..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "پیکربندی جستجوی سراسری..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "پیکربندی کتابخانه..." @@ -1443,16 +1388,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "پیشانه" @@ -1476,20 +1421,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "کپی به کلیپ‌بورد" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "کپی‌کردن در دستگاه..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "کپی‌کردن در کتابخانه..." @@ -1511,6 +1452,15 @@ msgid "" "required GStreamer plugins installed" msgstr "نمی‌توانم عنصر «%1» از GStream را بسازم - مطمئن شوید که همه‌ی افزونه‌های مورد نیاز GStream را نصب کرده‌اید" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1537,7 +1487,7 @@ msgstr "نمی‌توانم پرونده‌ی بروندادی %1 را باز ک #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "مدیریت جلد" @@ -1623,11 +1573,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "تاریخ ساخت" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "تاریخ بازسازی" @@ -1655,7 +1605,7 @@ msgstr "کاهش صدا" msgid "Default background image" msgstr "فرتور پس‌زمینه‌ی پیشفرض" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1678,7 +1628,7 @@ msgid "Delete downloaded data" msgstr "پاک‌کردن دانستنی‌های بارگیری شده" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "پاک کردن پرونده‌ها" @@ -1686,7 +1636,7 @@ msgstr "پاک کردن پرونده‌ها" msgid "Delete from device..." msgstr "پاک کردن از دستگاه..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "پاک کردن از دیسک..." @@ -1711,11 +1661,15 @@ msgstr "پاک کردن اصل پرونده‌ها" msgid "Deleting files" msgstr "پاک کردن پرونده‌ها" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "صف‌بندی دوباره‌ی ترک‌های برگزیده" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "صف‌بندی دوباره‌ی ترک" @@ -1744,11 +1698,11 @@ msgstr "نام دستگاه" msgid "Device properties..." msgstr "ویژگی‌های دستگاه..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "‌دستگاه‌ها" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1795,7 +1749,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1816,7 +1770,7 @@ msgstr "گزینه‌های نمایش" msgid "Display the on-screen-display" msgstr "نمایش نمایش پرده‌ای" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "انجام وارسی دوباره‌ی کامل کتابخانه" @@ -1987,12 +1941,12 @@ msgstr "درهم‌ریختن تصادفی دینامیک" msgid "Edit smart playlist..." msgstr "ویرایش لیست‌پخش هوشمند..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "ویرایش برچسب..." @@ -2005,7 +1959,7 @@ msgid "Edit track information" msgstr "ویرایش دانستنی‌های ترک" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "ویرایش دانستنی‌های ترک..." @@ -2025,10 +1979,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "پویا‌سازی پشتیبانی کنترل Wii" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "پویاسازی برابرساز" @@ -2113,7 +2063,7 @@ msgstr "" msgid "Entire collection" msgstr "همه‌ی مجموعه" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "برابرساز" @@ -2126,8 +2076,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "برابر است با --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "خطا" @@ -2147,6 +2097,11 @@ msgstr "خطا در کپی کردن آهنگ‌ها" msgid "Error deleting songs" msgstr "خطا در پاک کردن آهنگ‌ها" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "خطا در بارگیری افزونه‌ی Spotify" @@ -2267,7 +2222,7 @@ msgstr "پژمردن" msgid "Fading duration" msgstr "زمان پژمردن" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2346,27 +2301,23 @@ msgstr "پسوند پرونده" msgid "File formats" msgstr "گونه‌ی پرونده" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "نام پرونده" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "نام پرونده (بدون مسیر)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "اندازه پرونده" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2376,7 +2327,7 @@ msgstr "گونه‌ی پرونده" msgid "Filename" msgstr "نام‌پرونده" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "پرونده‌ها" @@ -2388,10 +2339,6 @@ msgstr "پرونده‌های برای تراکد" msgid "Find songs in your library that match the criteria you specify." msgstr "یافتن آهنگ‌های در کتابخانه که با معیارهای شما همخوانی دارند." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "انگشت‌نگاری آهنگ" @@ -2460,6 +2407,7 @@ msgid "Form" msgstr "فرم" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "قالب" @@ -2496,7 +2444,7 @@ msgstr "لرزش کامل" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "عمومی" @@ -2504,7 +2452,7 @@ msgstr "عمومی" msgid "General settings" msgstr "تنظیم‌های عمومی" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2537,11 +2485,11 @@ msgstr "نامی به آن دهید:" msgid "Go" msgstr "برو" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "برو به نوار پسین لیست‌پخش" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "برو به نوار پیشین لیست‌پخش" @@ -2595,7 +2543,7 @@ msgstr "ژانر/آلبوم" msgid "Group by Genre/Artist/Album" msgstr "ژانر/هنرمند/آلبوم" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2785,11 +2733,11 @@ msgstr "نصب شد" msgid "Integrity check" msgstr "بررسی درستی" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "اینترنت" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "فراهم‌کنندگان اینترنت" @@ -2806,6 +2754,10 @@ msgstr "" msgid "Invalid API key" msgstr "کلید API نامعتبر" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "قالب نامعتبر" @@ -2862,7 +2814,7 @@ msgstr "پایگاه داده‌ی جامندو" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "پرش به ترک در حال پخش" @@ -2886,7 +2838,7 @@ msgstr "پخش را در پس‌زمینه ادامه بده زمانی که پ msgid "Keep the original files" msgstr "اصل پرونده‌ها را نگه دار" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2927,7 +2879,7 @@ msgstr "میله‌ی کناری بزرگ" msgid "Last played" msgstr "پخش پایانی" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2968,12 +2920,12 @@ msgstr "ترک‌های کمتر برگزیده" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "طول" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "کتابخانه" @@ -2982,7 +2934,7 @@ msgstr "کتابخانه" msgid "Library advanced grouping" msgstr "گروه‌بندی پیشرفته‌ی کتابخانه" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "آگاه‌سازی پویش دوباره‌ی کتابخانه" @@ -3022,7 +2974,7 @@ msgstr "بارگیری جلدها از دیسک" msgid "Load playlist" msgstr "بارگیری لیست‌پخش" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "بارگیری لیست‌پخش..." @@ -3058,8 +3010,7 @@ msgstr "بارگیری اطلاعات ترک‌ها" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "در حال بارگیری..." @@ -3068,7 +3019,6 @@ msgstr "در حال بارگیری..." msgid "Loads files/URLs, replacing current playlist" msgstr "بارگیری پرونده‌ها/نشانی‌ها، جانشانی دوباره‌ی لیست‌پخش جاری" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3078,8 +3028,7 @@ msgstr "بارگیری پرونده‌ها/نشانی‌ها، جانشانی د #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "ورود به سیستم" @@ -3087,15 +3036,11 @@ msgstr "ورود به سیستم" msgid "Login failed" msgstr "ورود شکست خورد" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "نمایه‌ی پیش‌بینی بلندمدت" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "عشق" @@ -3176,7 +3121,7 @@ msgstr "نمایه‌ی اصلی (MAIN)" msgid "Make it so!" msgstr "همین‌جوریش کن!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3222,10 +3167,6 @@ msgstr "همخوانی همه‌ی واژه‌های جستجو (و)" msgid "Match one or more search terms (OR)" msgstr "همخوانی یک یا بیشتر از یک واژه‌ی جستجو (یا)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "بیشترین ضرباهنگ" @@ -3256,6 +3197,10 @@ msgstr "کمترین ضرباهنگ" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "نبود پیش‌نشان‌های projectM" @@ -3276,7 +3221,7 @@ msgstr "پخش مونو" msgid "Months" msgstr "ماه" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "مود" @@ -3289,10 +3234,6 @@ msgstr "شمایل میله‌ی مود" msgid "Moodbars" msgstr "میله‌های مود" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "بیشترین پخش‌شده‌ها" @@ -3310,7 +3251,7 @@ msgstr "سوارگاه‌ها" msgid "Move down" msgstr "پایین بردن" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "جابه‌جایی به کتابخانه..." @@ -3319,8 +3260,7 @@ msgstr "جابه‌جایی به کتابخانه..." msgid "Move up" msgstr "بالا بردن" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "آهنگ" @@ -3329,22 +3269,10 @@ msgid "Music Library" msgstr "کتابخانه‌ی آهنگ" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "بی‌صدا" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "آهنگ‌های من" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "پیشنهادهای من" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3390,7 +3318,7 @@ msgstr "هرگز آغاز به پخش نمی‌کند" msgid "New folder" msgstr "پوشه‌ی تازه" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "لیست‌پخش تازه" @@ -3419,7 +3347,7 @@ msgid "Next" msgstr "پسین" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "ترک پسین" @@ -3457,7 +3385,7 @@ msgstr "بدون بلوک‌های کوتاه" msgid "None" msgstr "هیچ‌کدام" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "هیچ‌کدام از آهنگ‌های برگزیده مناسب کپی کردن در دستگاه نیستند" @@ -3506,10 +3434,6 @@ msgstr "وارد نشده‌اید" msgid "Not mounted - double click to mount" msgstr "سوار نشده است - دو بار فشار دهید تا سوار شود" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "گونه‌ی آگاه‌سازی‌ها" @@ -3591,7 +3515,7 @@ msgstr "تاری" msgid "Open %1 in browser" msgstr "گشودن %1 در مرورگر" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "گشودن &سی‌دی آوایی..." @@ -3611,7 +3535,7 @@ msgstr "" msgid "Open device" msgstr "گشودن دستگاه" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "گشودن پرونده..." @@ -3665,7 +3589,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "سازماندهی پرونده‌ها" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "سازماندهی پرونده‌ها..." @@ -3677,7 +3601,7 @@ msgstr "پرونده‌های سازماندهی شونده" msgid "Original tags" msgstr "برچسب‌های اصلی" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3745,7 +3669,7 @@ msgstr "مهمانی" msgid "Password" msgstr "گذرواژه" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "درنگ" @@ -3758,7 +3682,7 @@ msgstr "درنگ پخش" msgid "Paused" msgstr "درنگ‌شده" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3773,14 +3697,14 @@ msgstr "" msgid "Plain sidebar" msgstr "میله‌کنار ساده" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "پخش" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "شمار پخش" @@ -3811,7 +3735,7 @@ msgstr "گزینه‌های پخش‌کننده" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "لیست‌پخش" @@ -3828,7 +3752,7 @@ msgstr "گزینه‌های لیست‌پخش" msgid "Playlist type" msgstr "سبک لیست‌پخش" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "لیست‌های پخش" @@ -3869,11 +3793,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "تنظیم‌ها" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "تنظیم‌ها..." @@ -3933,7 +3857,7 @@ msgid "Previous" msgstr "پیشین" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "ترک پیشین" @@ -3984,16 +3908,16 @@ msgstr "" msgid "Querying device..." msgstr "جستجوی دستگاه..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "مدیر به‌خط کردن" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "به‌خط کردن ترک‌های گزیده" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "به‌خط کردن ترک" @@ -4005,7 +3929,7 @@ msgstr "رادیو (بلندی یکسان برای همه‌ی ترک‌ها)" msgid "Rain" msgstr "باران" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4042,7 +3966,7 @@ msgstr "رتبه‌ی آهنگ جاری را چهار ستاره کن" msgid "Rate the current song 5 stars" msgstr "رتبه‌ی آهنگ جاری را پنج ستاره کن" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "رتبه‌بندی" @@ -4109,7 +4033,7 @@ msgstr "پاک کردن" msgid "Remove action" msgstr "پاک کردن عملیات" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "پاک‌کردن تکراری‌ها از لیست‌پخش" @@ -4117,15 +4041,7 @@ msgstr "پاک‌کردن تکراری‌ها از لیست‌پخش" msgid "Remove folder" msgstr "پاک کردن پوشه" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "پاک‌کردن از آهنگ‌های من" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "از لیست‌پخش پاک کن" @@ -4137,7 +4053,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4149,7 +4065,7 @@ msgstr "لیست‌پخش را دوباره نامگذاری کن" msgid "Rename playlist..." msgstr "لیست‌پخش را دوباره نامگذاری کن..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "ترک‌ها را به این ترتیب دوباره شماره‌گذاری کن..." @@ -4199,7 +4115,7 @@ msgstr "ساکن شدن دوباره" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "بازنشانی" @@ -4240,7 +4156,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4270,8 +4186,9 @@ msgstr "دستگاه را با امنیت پاک کن" msgid "Safely remove the device after copying" msgstr "دستگاه را پس از کپی، با امنیت پاک کن" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "الگوی ضرباهنگ" @@ -4309,7 +4226,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "ذخیره‌ی لیست‌پخش..." @@ -4349,7 +4266,7 @@ msgstr "نمایه‌ی الگوی ضرباهنگ سنجه‌پذیر (SSR)" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "امتیاز" @@ -4366,12 +4283,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "جستجو" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4514,7 +4431,7 @@ msgstr "جزئیات سرور" msgid "Service offline" msgstr "سرویس برون‌خط" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "%1 را برابر \"%2‌\"قرار بده..." @@ -4523,7 +4440,7 @@ msgstr "%1 را برابر \"%2‌\"قرار بده..." msgid "Set the volume to percent" msgstr "بلندی صدا را برابر درصد قرار بده" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "این مقدار را برای همه‌ی ترک‌های گزیده قرار بده..." @@ -4590,7 +4507,7 @@ msgstr "نمایش یک OSD زیبا" msgid "Show above status bar" msgstr "نمایش در بالای میله‌ی وضعیت" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "نمایش همه‌ی آهنگ‌ها" @@ -4610,16 +4527,12 @@ msgstr "نمایش جداسازها" msgid "Show fullsize..." msgstr "نمایش اندازه‌ی کامل..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "نمایش در مرورگر پرونده..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4631,27 +4544,23 @@ msgstr "نمایش در هنرمندان گوناگون" msgid "Show moodbar" msgstr "نمایش میله‌مود" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "نمایش تنها تکراری‌ها" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "نمایش تنها بی‌برچسب‌ها" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "نمایش پیشنهادهای جستجو" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4687,7 +4596,7 @@ msgstr "برزدن آلبوم‌ها" msgid "Shuffle all" msgstr "پخش درهم همه" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "پخش درهم لیست‌پخش" @@ -4723,7 +4632,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "پرش پس در لیست‌پخش" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "پرش شمار" @@ -4731,11 +4640,11 @@ msgstr "پرش شمار" msgid "Skip forwards in playlist" msgstr "پرش پیش در لیست‌پخش" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4767,7 +4676,7 @@ msgstr "راک ملایم" msgid "Song Information" msgstr "اطلاعات آهنگ" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "اطلاعات آهنگ" @@ -4803,7 +4712,7 @@ msgstr "مرتب‌سازی" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "سرچشمه" @@ -4878,7 +4787,7 @@ msgid "Starting..." msgstr "شروع..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "ایست" @@ -4894,7 +4803,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "ایست پس از این آهنگ" @@ -4923,6 +4832,10 @@ msgstr "ایست‌شده" msgid "Stream" msgstr "جریان" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5032,6 +4945,10 @@ msgstr "جلد آلبوم آهنگ درحال پخش" msgid "The directory %1 is not valid" msgstr "پرونده‌ی «%1» معتبر نیست" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "مقدار دوم باید بزرگتر از مقدار اول باشد!" @@ -5050,7 +4967,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "زمان آزمایشی سرور ساب‌سونیک پایان یافته است. خواهش می‌کنیم هزینه‌ای را کمک کنید تا کلید پروانه را دریافت کنید. برای راهنمایی انجام کار تارنمای subsonic.org را ببینید." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5092,7 +5009,7 @@ msgid "" "continue?" msgstr "این پرونده‌ها از دستگاه پاک خواهند شد، آیا مطمئنید که می‌خواهید ادامه دهید؟" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5176,7 +5093,7 @@ msgstr "این گونه از دستگاه پشتیبانی نمی‌شود: %1" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5195,11 +5112,11 @@ msgstr "تبدیل به OSD زیبا" msgid "Toggle fullscreen" msgstr "تبدیل به تمام‌صفحه" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "تبدیل به وضعیت صف" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "تبدیل به وارانی" @@ -5239,7 +5156,7 @@ msgstr "همه‌ی درخواست‌های شبکه انجام شد" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "ترک" @@ -5248,7 +5165,7 @@ msgstr "ترک" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "آهنگ‌های تراکد" @@ -5285,6 +5202,10 @@ msgstr "خاموش" msgid "URI" msgstr "نشانی" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "نشانی" @@ -5310,9 +5231,9 @@ msgstr "ناکام در باگیری %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "ناشناخته" @@ -5329,11 +5250,11 @@ msgstr "خطای ناشناخته" msgid "Unset cover" msgstr "قرار ندادن جلد" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5346,15 +5267,11 @@ msgstr "لغو هموندی" msgid "Upcoming Concerts" msgstr "کنسرت‌های پیش‌رو" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "به‌روز رسانی همه‌ی پادکست‌ها" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "تغییرات پوشه‌های کتابخانه را به‌روز برسان" @@ -5464,7 +5381,7 @@ msgstr "استفاده از نرمال‌سازی صدا" msgid "Used" msgstr "استفاده‌شده" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "رابط کاربری" @@ -5490,7 +5407,7 @@ msgid "Variable bit rate" msgstr "آهنگ ضرب متغیر" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "هنرمندان گوناگون" @@ -5503,11 +5420,15 @@ msgstr "ویرایش %1" msgid "View" msgstr "نما" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "روش فرتورسازی" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "فرتورسازی‌ها" @@ -5515,10 +5436,6 @@ msgstr "فرتورسازی‌ها" msgid "Visualizations Settings" msgstr "تنظیم‌های فرتورسازی‌ها" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "تشخیص پویایی صدا" @@ -5541,10 +5458,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5647,7 +5560,7 @@ msgid "" "well?" msgstr "آیا می‌خواهید آهنگ‌های دیگر در این آلبوم را به «هنرمندان گوناگون» تراببرید؟" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "آیا مایل هستید که الان بازبینی کامل انجام دهید؟" @@ -5663,7 +5576,7 @@ msgstr "" msgid "Wrong username or password." msgstr "شناسه و گذرواژه‌ی نادرست" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/fi.po b/src/translations/fi.po index cde17e34e..29852659c 100644 --- a/src/translations/fi.po +++ b/src/translations/fi.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 14:49+0000\n" -"Last-Translator: Jiri Grönroos \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Finnish (http://www.transifex.com/davidsansome/clementine/language/fi/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -68,11 +68,6 @@ msgstr " sekuntia" msgid " songs" msgstr " kappaletta" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 kappaletta)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -104,7 +99,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "%1-soittolistat (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "valittuna %1 /" @@ -129,7 +124,7 @@ msgstr "%1 kappaletta löytyi" msgid "%1 songs found (showing %2)" msgstr "%1 kappaletta löytyi (näytetään %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 kappaletta" @@ -189,7 +184,7 @@ msgstr "&Keskelle" msgid "&Custom" msgstr "&Oma" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extrat" @@ -197,7 +192,7 @@ msgstr "&Extrat" msgid "&Grouping" msgstr "&Ryhmittely" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "O&hje" @@ -222,7 +217,7 @@ msgstr "&Lukitse arvostelu" msgid "&Lyrics" msgstr "&Sanoitus" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musiikki" @@ -230,15 +225,15 @@ msgstr "&Musiikki" msgid "&None" msgstr "&Ei mitään" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Soittolista" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Lopeta" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Kertaa" @@ -246,7 +241,7 @@ msgstr "Kertaa" msgid "&Right" msgstr "&Oikealle" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Sekoita" @@ -254,7 +249,7 @@ msgstr "Sekoita" msgid "&Stretch columns to fit window" msgstr "&Sovita sarakkeet ikkunan leveyteen" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Työkalut" @@ -290,7 +285,7 @@ msgstr "0px" msgid "1 day" msgstr "1 päivä" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 kappale" @@ -434,11 +429,11 @@ msgstr "Keskeytä" msgid "About %1" msgstr "Tietoja - %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Tietoja - Clementine" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Tietoja - Qt" @@ -448,7 +443,7 @@ msgid "Absolute" msgstr "Absoluuttisia" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Tilin tiedot" @@ -502,19 +497,19 @@ msgstr "Lisää toinen suoratoisto..." msgid "Add directory..." msgstr "Lisää kansio..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Lisää tiedosto" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Lisää tiedosto muuntajaan" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Lisää tiedosto(ja) muuntajaan" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Lisää tiedosto..." @@ -522,12 +517,12 @@ msgstr "Lisää tiedosto..." msgid "Add files to transcode" msgstr "Lisää tiedostoja muunnettavaksi" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Lisää kansio" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Lisää kansio..." @@ -539,7 +534,7 @@ msgstr "Lisää uusi kansio..." msgid "Add podcast" msgstr "Lisää podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Lisää podcast..." @@ -607,10 +602,6 @@ msgstr "Lisää kappaleen keskeyttämislaskuri" msgid "Add song title tag" msgstr "Lisää tunniste kappaleen nimi" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Lisää kappale välimuistin" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Lisää tunniste " @@ -619,18 +610,10 @@ msgstr "Lisää tunniste " msgid "Add song year tag" msgstr "Lisää kappaleen levytysvuoden tunniste" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "LIsää kappale \"Omaan musiikkiin\", kun \"Tykkää\"-painiketta napsautetaan" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Lisää suoratoisto..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Lisää omaan musiikkiin" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Lisää Spotify-soittolistoihin" @@ -639,14 +622,10 @@ msgstr "Lisää Spotify-soittolistoihin" msgid "Add to Spotify starred" msgstr "Lisää Spotifyn tähdellä varustettuihin" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Lisää toiseen soittolistaan" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Lisää kirjanmerkkeihin" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Lisää soittolistaan" @@ -656,10 +635,6 @@ msgstr "Lisää soittolistaan" msgid "Add to the queue" msgstr "Lisää jonoon" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Lisää käyttäjä/ryhmä kirjanmerkkeihin" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Lisää wiimotedev-toiminto" @@ -697,7 +672,7 @@ msgstr "Jälkeen" msgid "After copying..." msgstr "Kopioinnin jälkeen..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -710,7 +685,7 @@ msgstr "Albumi" msgid "Album (ideal loudness for all tracks)" msgstr "Albumi (ihanteellinen voimakkuus kaikille kappaleille)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -725,10 +700,6 @@ msgstr "Kansikuva" msgid "Album info on jamendo.com..." msgstr "Albumin tiedot jamendo.comissa..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumit" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumit kansikuvineen" @@ -741,11 +712,11 @@ msgstr "Albumit vailla kansikuvia" msgid "All" msgstr "Kaikki" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Kaikki tiedostot (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Kaikki kunnia Hypnotoadille!" @@ -870,7 +841,7 @@ msgid "" "the songs of your library?" msgstr "Oletko varma että haluat kirjoittaa kaikkien kirjastosi kappleiden tilastot suoraan kirjastosi tiedostoihin?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -879,7 +850,7 @@ msgstr "Oletko varma että haluat kirjoittaa kaikkien kirjastosi kappleiden tila msgid "Artist" msgstr "Esittäjä" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Esittäjätiedot" @@ -950,7 +921,7 @@ msgstr "Kuvatiedoston koko keskimäärin" msgid "BBC Podcasts" msgstr "BBC-podcastit" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1007,7 +978,8 @@ msgstr "Paras" msgid "Biography" msgstr "Biografia" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bittivirta" @@ -1060,7 +1032,7 @@ msgstr "Selaa..." msgid "Buffer duration" msgstr "Puskurin kesto" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Puskuroidaan" @@ -1084,19 +1056,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE-tiedostojen tuki" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Välimuistin polku:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Välimuistin käyttö" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Asetetaan välimuistiin %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Peru" @@ -1105,12 +1064,6 @@ msgstr "Peru" msgid "Cancel download" msgstr "Peru lataaminen" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha vaaditaan.\nYritä kirjautua Vk.comiin selaimella korjataksesi tämän ongelman." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Vaihda kansikuvaa" @@ -1149,6 +1102,10 @@ msgid "" "songs" msgstr "Mono-toistoasetuksen tilan vaihtaminen tulee voimaan seuraavassa kappaleessa" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Tarkista uudet jaksot" @@ -1157,19 +1114,15 @@ msgstr "Tarkista uudet jaksot" msgid "Check for updates" msgstr "Tarkista päivitykset" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Tarkista päivitykset..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Valitse Vk.comin välimuistikansio" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Anna nimi älykkäälle soittolistalle" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Valitse automaattisesti" @@ -1215,13 +1168,13 @@ msgstr "Siivoaminen" msgid "Clear" msgstr "Tyhjennä" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Tyhjennä soittolista" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1354,24 +1307,20 @@ msgstr "Värit" msgid "Comma separated list of class:level, level is 0-3" msgstr "Pilkuin erotettu lista luokka:taso -määritteitä, jossa taso on väliltä 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Kommentti" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Yhteisöradio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Täydennä tunnisteet automaattisesti" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Täydennä tunnisteet automaattisesti..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1402,15 +1351,11 @@ msgstr "Muokkaa Spotifya..." msgid "Configure Subsonic..." msgstr "Subsonicin asetukset..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Vk.com-asetukset..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Muokkaa hakua..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Kirjaston asetukset..." @@ -1444,16 +1389,16 @@ msgid "" "http://localhost:4040/" msgstr "Palvelin hylkäsi yhteyden, tarkista palvelimen osoite. Esimerkki: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Yhteys aikakatkaistiin, tarkista palvelimen osoite. Esimerkki: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Yhteysongelma tai omistaja on poistanut äänen käytöstä" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsoli" @@ -1477,20 +1422,16 @@ msgstr "Muunna häviöttömät äänitiedostot ennen niiden etäpäähän lähet msgid "Convert lossless files" msgstr "Muunna häviöttömät tiedostot" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopioi jakamisosoite leikepöydälle" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopioi leikepöydälle" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopioi laitteelle..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopioi kirjastoon" @@ -1512,6 +1453,15 @@ msgid "" "required GStreamer plugins installed" msgstr "GStreamer-elementin \"%1\" luonti epäonnistui - varmista, että kaikki vaaditut GStreamer-liitännäiset on asennettu" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Soittolistan luominen epäonnistui" @@ -1538,7 +1488,7 @@ msgstr "Ei voitu avata kohdetiedostoa %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Kansikuvaselain" @@ -1624,11 +1574,11 @@ msgid "" "recover your database" msgstr "Tietokantakorruptio havaittu. Lue https://github.com/clementine-player/Clementine/wiki/Database-Corruption saadaksesi tietoja, kuinka palauttaa tietokanta" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Luotu" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Muokattu" @@ -1656,7 +1606,7 @@ msgstr "Vähennä äänenvoimakkuutta" msgid "Default background image" msgstr "Oletustaustakuva" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1679,7 +1629,7 @@ msgid "Delete downloaded data" msgstr "Poista ladattu data" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Poista tiedostot" @@ -1687,7 +1637,7 @@ msgstr "Poista tiedostot" msgid "Delete from device..." msgstr "Poista laitteelta..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Poista levyltä..." @@ -1712,11 +1662,15 @@ msgstr "Poista alkuperäiset tiedostot" msgid "Deleting files" msgstr "Poistetaan tiedostoja" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Poista valitut kappaleet jonosta" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Poista kappale jonosta" @@ -1745,11 +1699,11 @@ msgstr "Laitteen nimi" msgid "Device properties..." msgstr "Laitteen ominaisuudet..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Laitteet" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1796,7 +1750,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Poissa käytöstä" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1817,7 +1771,7 @@ msgstr "Näkymäasetukset" msgid "Display the on-screen-display" msgstr "Näytä kuvaruutunäyttö" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Tee kirjaston täydellinen läpikäynti" @@ -1988,12 +1942,12 @@ msgstr "Dynaaminen satunnainen sekoitus" msgid "Edit smart playlist..." msgstr "Muokkaa älykästä soittolistaa..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Muokkaa tunnistetta \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Muokkaa tunnistetta..." @@ -2006,7 +1960,7 @@ msgid "Edit track information" msgstr "Muokkaa kappaleen tietoja" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Muokkaa kappaleen tietoja..." @@ -2026,10 +1980,6 @@ msgstr "Sähköposti" msgid "Enable Wii Remote support" msgstr "Käytä Wii-ohjainta" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Käytä automaattista välimuistia" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Käytä taajuuskorjainta" @@ -2114,7 +2064,7 @@ msgstr "Kirjoita tämä IP sovellukseen yhdistääksesi Clementineen." msgid "Entire collection" msgstr "Koko kokoelma" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Taajuuskorjain" @@ -2127,8 +2077,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Vastaa --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Virhe" @@ -2148,6 +2098,11 @@ msgstr "Virhe kappaleita kopioidessa" msgid "Error deleting songs" msgstr "Virhe kappaleita poistaessa" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Virhe ladatessa Spotify-liitännäistä" @@ -2268,7 +2223,7 @@ msgstr "Häivytys" msgid "Fading duration" msgstr "Häivytyksen kesto" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "CD-aseman lukeminen epäonnistui" @@ -2347,27 +2302,23 @@ msgstr "Tiedostopääte" msgid "File formats" msgstr "Tiedostomuodot" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Tiedoston nimi (ja polku)" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Tiedostonimi" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Tiedostonimen kaava:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Tiedostopolut" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Tiedostokoko" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2377,7 +2328,7 @@ msgstr "Tiedostotyyppi" msgid "Filename" msgstr "Tiedostonimi" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Tiedostot" @@ -2389,10 +2340,6 @@ msgstr "Muunnettavat tiedostot" msgid "Find songs in your library that match the criteria you specify." msgstr "Etsi kirjastosta kappaleet, jotka sopivat hakuehtoihisi." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Etsi tätä esittäjää" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Luodaan sormenjälkeä kappaleesta..." @@ -2461,6 +2408,7 @@ msgid "Form" msgstr "Lomake" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Muoto" @@ -2497,7 +2445,7 @@ msgstr "Täysi diskantti" msgid "Ge&nre" msgstr "&Tyylilaji" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Yleiset" @@ -2505,7 +2453,7 @@ msgstr "Yleiset" msgid "General settings" msgstr "Yleiset asetukset" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2538,11 +2486,11 @@ msgstr "Anna nimi:" msgid "Go" msgstr "Mene" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Siirry seuraavaan soittolistaan" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Siirry edelliseen soittolistaan" @@ -2596,7 +2544,7 @@ msgstr "Järjestä tyylin/albumin mukaan" msgid "Group by Genre/Artist/Album" msgstr "Järjestä tyylin/esittäjän/albumin mukaan" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2786,11 +2734,11 @@ msgstr "Asennettu" msgid "Integrity check" msgstr "Eheystarkistus" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Palvelutarjoajat" @@ -2807,6 +2755,10 @@ msgstr "Intro-kappaleet" msgid "Invalid API key" msgstr "Virheellinen API-avain" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Virheellinen muoto" @@ -2863,7 +2815,7 @@ msgstr "Jamendo-tietokanta" msgid "Jump to previous song right away" msgstr "Siirry edelliseen kappaleeseen välittömästi" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Näytä parhaillaan soiva kappale" @@ -2887,7 +2839,7 @@ msgstr "Pidä käynnissä taustalla, kun ikkuna suljetaan" msgid "Keep the original files" msgstr "Säilytä alkuperäiset tiedostot" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kissanpentuja" @@ -2928,7 +2880,7 @@ msgstr "Suuri sivupalkki" msgid "Last played" msgstr "Viimeksi soitettu" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Viimeksi toistettu" @@ -2969,12 +2921,12 @@ msgstr "Vähiten pidetyt kappaleet" msgid "Left" msgstr "Vasen" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Kesto" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Kirjasto" @@ -2983,7 +2935,7 @@ msgstr "Kirjasto" msgid "Library advanced grouping" msgstr "Kirjaston tarkennettu ryhmittely" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Ilmoitus kirjaston läpikäynnistä" @@ -3023,7 +2975,7 @@ msgstr "Lataa kansikuva levyltä..." msgid "Load playlist" msgstr "Lataa soittolista" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Lataa soittolista..." @@ -3059,8 +3011,7 @@ msgstr "Lataa kappaleen tietoja" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Ladataan..." @@ -3069,7 +3020,6 @@ msgstr "Ladataan..." msgid "Loads files/URLs, replacing current playlist" msgstr "Lataa tiedostoja tai verkko-osoitteita, korvaa samalla nykyinen soittolista" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3079,8 +3029,7 @@ msgstr "Lataa tiedostoja tai verkko-osoitteita, korvaa samalla nykyinen soittoli #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Kirjaudu sisään" @@ -3088,15 +3037,11 @@ msgstr "Kirjaudu sisään" msgid "Login failed" msgstr "Kirjautuminen epäonnistui" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Kirjaudu ulos" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Long term prediction -profiili (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Tykkää" @@ -3177,7 +3122,7 @@ msgstr "Oletusprofiili (MAIN)" msgid "Make it so!" msgstr "Toteuta!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Toteuta!" @@ -3223,10 +3168,6 @@ msgstr "Täyttää jokaisen hakuehdon (AND)" msgid "Match one or more search terms (OR)" msgstr "Täyttää yhden tai useampia hakuehtoja (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Suurin bittinopeus" @@ -3257,6 +3198,10 @@ msgstr "Pienin bittinopeus" msgid "Minimum buffer fill" msgstr "Puskurin vähimmäistäyttö" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Puuttuvat projectM-asetukset" @@ -3277,7 +3222,7 @@ msgstr "Mono-toisto" msgid "Months" msgstr "Kuukautta" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Mieliala" @@ -3290,10 +3235,6 @@ msgstr "Mielialapalkin tyyli" msgid "Moodbars" msgstr "Mielialapalkit" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Lisää" - #: library/library.cpp:84 msgid "Most played" msgstr "Eniten soitetut" @@ -3311,7 +3252,7 @@ msgstr "Liitoskohdat" msgid "Move down" msgstr "Siirrä alas" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Siirrä kirjastoon..." @@ -3320,8 +3261,7 @@ msgstr "Siirrä kirjastoon..." msgid "Move up" msgstr "Siirrä ylös" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musiikki" @@ -3330,22 +3270,10 @@ msgid "Music Library" msgstr "Musiikkikirjasto" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Vaimenna" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Omat albumit" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Musiikkikirjasto" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Omat suositukseni" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3391,7 +3319,7 @@ msgstr "Älä koskaan aloita toistoa" msgid "New folder" msgstr "Uusi kansio" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Uusi soittolista" @@ -3420,7 +3348,7 @@ msgid "Next" msgstr "Seuraava" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Seuraava kappale" @@ -3458,7 +3386,7 @@ msgstr "Ei lyhyitä lohkoja" msgid "None" msgstr "Ei mitään" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Yksikään valitsemistasi kappaleista ei sovellu kopioitavaksi laitteelle" @@ -3507,10 +3435,6 @@ msgstr "Ei kirjautunut" msgid "Not mounted - double click to mount" msgstr "Ei liitetty - kaksoisnapsauta liittääksesi" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Mitään ei löytynyt" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Ilmoituksen tyyppi" @@ -3592,7 +3516,7 @@ msgstr "Läpinäkyvyys" msgid "Open %1 in browser" msgstr "Avaa %1 selaimessa" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Avaa &ääni-CD..." @@ -3612,7 +3536,7 @@ msgstr "Avaa kansio, josta musiikki tuodaan" msgid "Open device" msgstr "Avaa laite" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Avaa tiedosto..." @@ -3666,7 +3590,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Hallitse tiedostoja" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Hallitse tiedostoja..." @@ -3678,7 +3602,7 @@ msgstr "Hallinnoidaan tiedostoja" msgid "Original tags" msgstr "Alkuperäiset tunnisteet" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3746,7 +3670,7 @@ msgstr "Party" msgid "Password" msgstr "Salasana" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Keskeytä" @@ -3759,7 +3683,7 @@ msgstr "Keskeytä toisto" msgid "Paused" msgstr "Keskeytetty" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3774,14 +3698,14 @@ msgstr "Pikseli" msgid "Plain sidebar" msgstr "Pelkistetty sivupalkki" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Toista" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Soittokertoja" @@ -3812,7 +3736,7 @@ msgstr "Soittimen asetukset" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Soittolista" @@ -3829,7 +3753,7 @@ msgstr "Soittolistan valinnat" msgid "Playlist type" msgstr "Soittolistan tyyppi" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Soittolistat" @@ -3870,11 +3794,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Asetukset" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Asetukset..." @@ -3934,7 +3858,7 @@ msgid "Previous" msgstr "Edellinen" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Edellinen kappale" @@ -3985,16 +3909,16 @@ msgstr "Laatu" msgid "Querying device..." msgstr "Kysytään tietoja laitteelta..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Jonohallinta" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Aseta valitut kappaleet jonoon" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Aseta kappale jonoon" @@ -4006,7 +3930,7 @@ msgstr "Radio (sama äänenvoimakkuus kaikille kappaleille)" msgid "Rain" msgstr "Sadetta" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Sadetta" @@ -4043,7 +3967,7 @@ msgstr "Arvostele nykyinen kappale 4:n arvoiseksi" msgid "Rate the current song 5 stars" msgstr "Arvostele nykyinen kappale 5:n arvoiseksi" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Arvostelu" @@ -4110,7 +4034,7 @@ msgstr "Poista" msgid "Remove action" msgstr "Poista toiminto" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Poista kaksoiskappaleet soittolistasta" @@ -4118,15 +4042,7 @@ msgstr "Poista kaksoiskappaleet soittolistasta" msgid "Remove folder" msgstr "Poista kansio" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Poista musiikkikirjastosta" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Poista kirjanmerkeistä" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Poista soittolistalta" @@ -4138,7 +4054,7 @@ msgstr "Poista soittolista" msgid "Remove playlists" msgstr "Poista soittolistat" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Poista soittolistasta kappaleet, jotka eivät ole käytettävissä" @@ -4150,7 +4066,7 @@ msgstr "Nimeä soittolista uudelleen" msgid "Rename playlist..." msgstr "Nimeä soittolista uudelleen..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Numeroi kappaleet tässä järjestyksessä ..." @@ -4200,7 +4116,7 @@ msgstr "Täytä uudelleen" msgid "Require authentication code" msgstr "Vaadi varmistuskoodi" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Oletukset" @@ -4241,7 +4157,7 @@ msgstr "Kopioi levy" msgid "Rip CD" msgstr "Kopioi CD:n sisältö" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Kopioi ääni-CD:n sisältö" @@ -4271,8 +4187,9 @@ msgstr "Poista laite turvallisesti" msgid "Safely remove the device after copying" msgstr "Poista laite turvallisesti kopioinnin jälkeen" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Näytteenottotaajuus" @@ -4310,7 +4227,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Tallenna soittolista" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Tallenna soittolista..." @@ -4350,7 +4267,7 @@ msgstr "Scalable sampling rate -profiili (SSR)" msgid "Scale size" msgstr "Skaalaa koko" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Pisteet" @@ -4367,12 +4284,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Etsi" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Haku" @@ -4515,7 +4432,7 @@ msgstr "Palvelimen tiedot" msgid "Service offline" msgstr "Ei yhteyttä palveluun" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Aseta %1 %2:een" @@ -4524,7 +4441,7 @@ msgstr "Aseta %1 %2:een" msgid "Set the volume to percent" msgstr "Säädä äänenvoimakkuus prosenttia" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Aseta arvo kaikille valituille kappaleille..." @@ -4591,7 +4508,7 @@ msgstr "Näytä kuvaruutunäyttö" msgid "Show above status bar" msgstr "Näytä tilapalkin yläpuolella" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Näytä kaikki kappaleet" @@ -4611,16 +4528,12 @@ msgstr "Näytä erottimet" msgid "Show fullsize..." msgstr "Näytä oikeassa koossa..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Näytä tiedostoselaimessa..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Näytä kirjastossa..." @@ -4632,27 +4545,23 @@ msgstr "Näytä kohdassa \"Useita esittäjiä\"" msgid "Show moodbar" msgstr "Näytä mielialapalkki" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Näytä vain kaksoiskappaleet" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Näytä vain vailla tunnistetta olevat" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Näytä tai piilota sivupalkki" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Näytä toistettava kappale sivullasi" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Näytä hakuehdotukset" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Näytä sivupalkki" @@ -4688,7 +4597,7 @@ msgstr "Sekoita albumit" msgid "Shuffle all" msgstr "Sekoita kaikki" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Sekoita soittolista" @@ -4724,7 +4633,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Siirry soittolistan edelliseen kappaleeseen" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Ohituskerrat" @@ -4732,11 +4641,11 @@ msgstr "Ohituskerrat" msgid "Skip forwards in playlist" msgstr "Siirry soittolistan seuraavaan kappaleeseen" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Ohita valitut kappaleet" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Ohita kappale" @@ -4768,7 +4677,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Kappaletiedot" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Kappaletiedot" @@ -4804,7 +4713,7 @@ msgstr "Järjestys" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Lähde" @@ -4879,7 +4788,7 @@ msgid "Starting..." msgstr "Aloittaa ..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Pysäytä" @@ -4895,7 +4804,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Pysäytä toistettavan kappaleen jälkeen" @@ -4924,6 +4833,10 @@ msgstr "Pysäytetty" msgid "Stream" msgstr "Suoratoisto" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5033,6 +4946,10 @@ msgstr "Parhaillaan soivan kappaleen albumin kansikuva" msgid "The directory %1 is not valid" msgstr "Kansio %1 ei ole kelvollinen" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Toisen arvo pitää olla suurempi kuin ensimmäinen!" @@ -5051,7 +4968,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Subsonic-palvelimen kokeiluaika on ohi. Lahjoita saadaksesi lisenssiavaimen. Lisätietoja osoitteessa subsonic.org." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5093,7 +5010,7 @@ msgid "" "continue?" msgstr "Nämä tiedostot poistetaan laitteelta, haluatko varmasti jatkaa?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5177,7 +5094,7 @@ msgstr "Tämän tyyppinen laite ei ole tuettu: %1" msgid "Time step" msgstr "Aikasiirtymä" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5196,11 +5113,11 @@ msgstr "Kuvaruutunäyttö päälle / pois" msgid "Toggle fullscreen" msgstr "Koko näytön tila" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Vaihda jonon tila" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Valitse scrobbling" @@ -5240,7 +5157,7 @@ msgstr "Yhteensä verkko pyyntöjä tehty" msgid "Trac&k" msgstr "&Kappale" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Kappale" @@ -5249,7 +5166,7 @@ msgstr "Kappale" msgid "Tracks" msgstr "Kappaleet" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Muunna eri muotoon" @@ -5286,6 +5203,10 @@ msgstr "Sammuta" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Osoite/osoitteet" @@ -5311,9 +5232,9 @@ msgstr "Kohteen %1 lataus epäonnistui (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Tuntematon" @@ -5330,11 +5251,11 @@ msgstr "Tuntematon virhe" msgid "Unset cover" msgstr "Poista kansikuva" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5347,15 +5268,11 @@ msgstr "Poista tilaus" msgid "Upcoming Concerts" msgstr "Tulevat konsertit" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Päivitä" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Päivitä kaikki podcastit" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Päivitä muuttuneet kirjastokansiot" @@ -5465,7 +5382,7 @@ msgstr "Käytä äänen normalisointia" msgid "Used" msgstr "Käytetty" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Käyttöliittymä" @@ -5491,7 +5408,7 @@ msgid "Variable bit rate" msgstr "Muuttuva bittinopeus" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Useita esittäjiä" @@ -5504,11 +5421,15 @@ msgstr "Versio %1" msgid "View" msgstr "Näkymä" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Visualisointitila" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualisoinnit" @@ -5516,10 +5437,6 @@ msgstr "Visualisoinnit" msgid "Visualizations Settings" msgstr "Visualisointiasetukset" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Äänen havaitseminen" @@ -5542,10 +5459,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Seinä" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Varoita suljettaessa soittolistan sisältävää välilehteä" @@ -5648,7 +5561,7 @@ msgid "" "well?" msgstr "Haluatko siirtä albumin muut kappaleet luokkaan \"Useita esittäjiä\"?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Haluatko suorittaa kirjaston läpikäynnin nyt?" @@ -5664,7 +5577,7 @@ msgstr "Kirjoita metatiedot" msgid "Wrong username or password." msgstr "Väärä käyttäjätunnus tai salasana." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/fr.po b/src/translations/fr.po index 788346fa1..bc49415ec 100644 --- a/src/translations/fr.po +++ b/src/translations/fr.po @@ -48,8 +48,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 15:13+0000\n" -"Last-Translator: jb78180 \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: French (http://www.transifex.com/davidsansome/clementine/language/fr/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -104,11 +104,6 @@ msgstr " secondes" msgid " songs" msgstr " morceaux" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 morceaux)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -140,7 +135,7 @@ msgstr "%1 sur %2" msgid "%1 playlists (%2)" msgstr "%1 listes de lecture (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 sélectionnés de" @@ -165,7 +160,7 @@ msgstr "%1 morceaux trouvés" msgid "%1 songs found (showing %2)" msgstr "%1 morceaux trouvés (%2 affichés)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 pistes" @@ -225,7 +220,7 @@ msgstr "&Centrer" msgid "&Custom" msgstr "&Personnaliser" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extras" @@ -233,7 +228,7 @@ msgstr "&Extras" msgid "&Grouping" msgstr "&Regroupement" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Aide" @@ -258,7 +253,7 @@ msgstr "&Vérouiller la note" msgid "&Lyrics" msgstr "&Paroles" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musique" @@ -266,15 +261,15 @@ msgstr "&Musique" msgid "&None" msgstr "Aucu&n" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Liste de lecture" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Quitter" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Mode répétition" @@ -282,7 +277,7 @@ msgstr "Mode répétition" msgid "&Right" msgstr "&Droite" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Mode aléatoire" @@ -290,7 +285,7 @@ msgstr "Mode aléatoire" msgid "&Stretch columns to fit window" msgstr "Étirer les &colonnes pour s'adapter à la fenêtre" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Outils" @@ -326,7 +321,7 @@ msgstr "0px" msgid "1 day" msgstr "1 jour" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "Une piste" @@ -470,11 +465,11 @@ msgstr "Abandonner" msgid "About %1" msgstr "À propos de %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "À propos de Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "À propos de Qt..." @@ -484,7 +479,7 @@ msgid "Absolute" msgstr "Absolu" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Détails du compte" @@ -538,19 +533,19 @@ msgstr "Ajouter un autre flux..." msgid "Add directory..." msgstr "Ajouter un dossier..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Ajouter un fichier" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Ajouter un fichier à transcoder" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Ajouter des fichiers à transcoder" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Ajouter un fichier..." @@ -558,12 +553,12 @@ msgstr "Ajouter un fichier..." msgid "Add files to transcode" msgstr "Ajouter des fichiers à transcoder" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Ajouter un dossier" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Ajouter un dossier..." @@ -575,7 +570,7 @@ msgstr "Ajouter un nouveau dossier..." msgid "Add podcast" msgstr "Ajouter un podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Ajouter un podcast..." @@ -643,10 +638,6 @@ msgstr "Ajouter le compteur de sauts du morceau" msgid "Add song title tag" msgstr "Ajouter le tag titre du morceau" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Ajouter le morceau au cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Ajouter le tag piste du morceau" @@ -655,18 +646,10 @@ msgstr "Ajouter le tag piste du morceau" msgid "Add song year tag" msgstr "Ajouter le tag année du morceau" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Ajoute les pistes à « Ma musique » lorsque le bouton « j'aime » est cliqué" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Ajouter un flux..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Ajouter à Ma musique" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Ajouter aux listes de lecture Spotify" @@ -675,14 +658,10 @@ msgstr "Ajouter aux listes de lecture Spotify" msgid "Add to Spotify starred" msgstr "Ajouter aux préférés de Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Ajouter à une autre liste de lecture" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Ajouter aux favoris" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Ajouter à la liste de lecture" @@ -692,10 +671,6 @@ msgstr "Ajouter à la liste de lecture" msgid "Add to the queue" msgstr "Ajouter à la liste d'attente" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Ajoute l'utilisateur ou le groupe au favoris" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Ajouter des actions wiimote" @@ -733,7 +708,7 @@ msgstr "Après " msgid "After copying..." msgstr "Après avoir copié..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -746,7 +721,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (volume idéal pour toutes les pistes)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -761,10 +736,6 @@ msgstr "Pochette d'album" msgid "Album info on jamendo.com..." msgstr "Informations de l'album sur jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albums" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albums ayant une pochette" @@ -777,11 +748,11 @@ msgstr "Albums sans pochette" msgid "All" msgstr "Tout" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Tous les fichiers (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Gloire au crapaud hypnotique!" @@ -906,7 +877,7 @@ msgid "" "the songs of your library?" msgstr "Êtes-vous sûr de vouloir enregistrer les statistiques du morceau dans le fichier du morceau pour tous les morceaux de votre bibliothèque ?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -915,7 +886,7 @@ msgstr "Êtes-vous sûr de vouloir enregistrer les statistiques du morceau dans msgid "Artist" msgstr "Artiste" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Info artiste" @@ -986,7 +957,7 @@ msgstr "Taille moyenne de l'image" msgid "BBC Podcasts" msgstr "Podcasts BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1043,7 +1014,8 @@ msgstr "Meilleur" msgid "Biography" msgstr "Biographie" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Débit" @@ -1096,7 +1068,7 @@ msgstr "Parcourir..." msgid "Buffer duration" msgstr "Durée du tampon" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Mise en mémoire tampon" @@ -1120,19 +1092,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Support des CUE sheet." -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Emplacement du cache :" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Mise en cache" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Mise en cache %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Annuler" @@ -1141,12 +1100,6 @@ msgstr "Annuler" msgid "Cancel download" msgstr "Annuler le téléchargement" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha est nécessaire.\nEssayez de vous connecter à Vk.com avec votre navigateur pour régler le problème." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Changer la couverture de l'album" @@ -1185,6 +1138,10 @@ msgid "" "songs" msgstr "Le changement de la préférence de lecture monophonique sera effectif pour les prochains morceaux joués." +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Chercher de nouveaux épisodes" @@ -1193,19 +1150,15 @@ msgstr "Chercher de nouveaux épisodes" msgid "Check for updates" msgstr "Vérifier les mises à jour" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Vérifier les mises à jour" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Choisissez le répertoire de cache Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Choisissez un nom pour votre liste de lecture intelligente" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Choisir automatiquement" @@ -1251,13 +1204,13 @@ msgstr "Nettoyage en cours" msgid "Clear" msgstr "Effacer" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Vider la liste de lecture" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1390,24 +1343,20 @@ msgstr "Couleurs" msgid "Comma separated list of class:level, level is 0-3" msgstr "Liste séparée par une virgule des classes:niveau, le niveau étant entre 1 et 3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Commentaire" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Radio communautaire" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Compléter les tags automatiquement" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Compléter les tags automatiquement..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1438,15 +1387,11 @@ msgstr "Configurer Spotify…" msgid "Configure Subsonic..." msgstr "Configurer Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Configuration de Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Configurer la recherche globale..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Configurer votre bibliothèque..." @@ -1480,16 +1425,16 @@ msgid "" "http://localhost:4040/" msgstr "Connexion refusée par le serveur. Vérifiez son URL. Exemple : http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Connexion expirée. Vérifiez l'URL du serveur. Exemple : http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Problème de connexion ou audio désactivé par le propriétaire" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Console" @@ -1513,20 +1458,16 @@ msgstr "Convertir les fichiers audio sans perte avant de les envoyer au serveur msgid "Convert lossless files" msgstr "Convertir les fichiers sans perte" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Copier l'URL partagée dans le presse-papier" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Copier dans le presse papier" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Copier sur le périphérique" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Copier vers la bibliothèque..." @@ -1548,6 +1489,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Impossible de créer l'élément GStreamer « %1 » - vérifier que les modules externes GStreamer nécessaires sont installés." +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "La liste de lecture n'a pas pu être créée" @@ -1574,7 +1524,7 @@ msgstr "Impossible d'ouvrir le fichier de sortie %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Gestionnaire de pochettes" @@ -1660,11 +1610,11 @@ msgid "" "recover your database" msgstr "Une corruption de la base de données a été détectée. Veuillez lire https://github.com/clementine-player/Clementine/wiki/Database-Corruption pour obtenir des informations sur la restauration de votre base de données" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Date de création" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Date de modification" @@ -1692,7 +1642,7 @@ msgstr "Diminuer le volume" msgid "Default background image" msgstr "Image d'arrière-plan par défaut" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Périphérique par défaut à %1" @@ -1715,7 +1665,7 @@ msgid "Delete downloaded data" msgstr "Effacer les données téléchargées" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Supprimer les fichiers" @@ -1723,7 +1673,7 @@ msgstr "Supprimer les fichiers" msgid "Delete from device..." msgstr "Supprimer du périphérique..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Supprimer du disque..." @@ -1748,11 +1698,15 @@ msgstr "Supprimer les fichiers originaux" msgid "Deleting files" msgstr "Suppression des fichiers" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Enlever les pistes sélectionnées de la file d'attente" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Enlever cette piste de la file d'attente" @@ -1781,11 +1735,11 @@ msgstr "Nom du périphérique" msgid "Device properties..." msgstr "Propriétés du périphérique..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Périphériques" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Boîte de dialogue" @@ -1832,7 +1786,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Désactivé" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1853,7 +1807,7 @@ msgstr "Options d'affichage" msgid "Display the on-screen-display" msgstr "Afficher le menu à l'écran" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Refaire une analyse complète de la bibliothèque" @@ -2024,12 +1978,12 @@ msgstr "Mix aléatoire dynamique" msgid "Edit smart playlist..." msgstr "Éditer la liste de lecture intelligente..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Modifier le tag « %1 »..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Modifier le tag..." @@ -2042,7 +1996,7 @@ msgid "Edit track information" msgstr "Modifier la description de la piste" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Modifier la description de la piste..." @@ -2062,10 +2016,6 @@ msgstr "Courriel" msgid "Enable Wii Remote support" msgstr "Activer le support Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Activer la mise en cache automatique" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Activer l'égaliseur" @@ -2150,7 +2100,7 @@ msgstr "Saisissez cette adresse IP dans l'application pour vous connecter à Cle msgid "Entire collection" msgstr "Collection complète" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Égaliseur" @@ -2163,8 +2113,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Equivalent à --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Erreur" @@ -2184,6 +2134,11 @@ msgstr "Erreur lors de la copie des morceaux" msgid "Error deleting songs" msgstr "Erreur lors de la suppression des morceaux" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Erreur lors du téléchargement du module Spotify" @@ -2304,7 +2259,7 @@ msgstr "Fondu" msgid "Fading duration" msgstr "Durée du fondu" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Échec lors de la lecture du CD" @@ -2383,27 +2338,23 @@ msgstr "Extension de fichier" msgid "File formats" msgstr "Formats de fichier" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Fichier" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Fichier (sans l'emplacement)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Schéma du nom de fichier :" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Chemins des fichiers" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Taille du fichier" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2413,7 +2364,7 @@ msgstr "Type de fichier" msgid "Filename" msgstr "Nom du fichier" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Fichiers" @@ -2425,10 +2376,6 @@ msgstr "Fichiers à convertir" msgid "Find songs in your library that match the criteria you specify." msgstr "Trouve les morceaux dans votre bibliothèque qui correspondent aux critères que vous spécifiez." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Trouver cet artiste" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Génération de l'empreinte audio" @@ -2497,6 +2444,7 @@ msgid "Form" msgstr "Form" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2533,7 +2481,7 @@ msgstr "Aigus Max." msgid "Ge&nre" msgstr "Ge&nre" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Général" @@ -2541,7 +2489,7 @@ msgstr "Général" msgid "General settings" msgstr "Configuration générale" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2574,11 +2522,11 @@ msgstr "Donner un nom" msgid "Go" msgstr "Go" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Aller à la liste de lecture suivante" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Aller à la liste de lecture précédente" @@ -2632,7 +2580,7 @@ msgstr "Grouper par Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Grouper par Genre/Artiste/Album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2822,11 +2770,11 @@ msgstr "Installé" msgid "Integrity check" msgstr "Vérification de l'intégrité" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Services de musique" @@ -2843,6 +2791,10 @@ msgstr "Introduction des pistes" msgid "Invalid API key" msgstr "API key invalide" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Format invalide" @@ -2899,7 +2851,7 @@ msgstr "Base de données Jamendo" msgid "Jump to previous song right away" msgstr "Aller tout de suite à la piste précédente" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Aller à la piste jouée actuellement" @@ -2923,7 +2875,7 @@ msgstr "Laisser tourner en arrière plan lorsque la fenêtre est fermée" msgid "Keep the original files" msgstr "Conserver les fichiers originaux" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Chatons" @@ -2964,7 +2916,7 @@ msgstr "Barre latérale large" msgid "Last played" msgstr "Dernière écoute" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Dernière écoute" @@ -3005,12 +2957,12 @@ msgstr "Pistes les moins aimées" msgid "Left" msgstr "Gauche" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Durée" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Bibliothèque" @@ -3019,7 +2971,7 @@ msgstr "Bibliothèque" msgid "Library advanced grouping" msgstr "Groupement avancé de la bibliothèque" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Avertissement de mise à jour de la bibliothèque" @@ -3059,7 +3011,7 @@ msgstr "Charger la pochette depuis le disque..." msgid "Load playlist" msgstr "Charger une liste de lecture" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Charger une liste de lecture..." @@ -3095,8 +3047,7 @@ msgstr "Chargement des info des pistes" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Chargement..." @@ -3105,7 +3056,6 @@ msgstr "Chargement..." msgid "Loads files/URLs, replacing current playlist" msgstr "Charger des fichiers/URLs, et remplacer la liste de lecture actuelle" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3115,8 +3065,7 @@ msgstr "Charger des fichiers/URLs, et remplacer la liste de lecture actuelle" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Se connecter" @@ -3124,15 +3073,11 @@ msgstr "Se connecter" msgid "Login failed" msgstr "Erreur lors de la connexion" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Déconnexion" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Profil de prédiction à long terme (PLT)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "J'aime" @@ -3213,7 +3158,7 @@ msgstr "Profil principal (MAIN)" msgid "Make it so!" msgstr "Voilà!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Ainsi soit-il!" @@ -3259,10 +3204,6 @@ msgstr "Utiliser tous les termes de recherche (ET)" msgid "Match one or more search terms (OR)" msgstr "Utiliser un ou plusieurs termes de recherche (OU)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maximum pour les résultats globaux de recherche" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Débit maximum" @@ -3293,6 +3234,10 @@ msgstr "Débit minimum" msgid "Minimum buffer fill" msgstr "Remplissage minimum du tampon" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Pré-réglages projectM manquants" @@ -3313,7 +3258,7 @@ msgstr "Lecture monophonique" msgid "Months" msgstr "Mois" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Humeur" @@ -3326,10 +3271,6 @@ msgstr "Style de la barre d'humeur" msgid "Moodbars" msgstr "Barre d'humeur" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Plus" - #: library/library.cpp:84 msgid "Most played" msgstr "Les plus jouées" @@ -3347,7 +3288,7 @@ msgstr "Points de montage" msgid "Move down" msgstr "Déplacer vers le bas" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Déplacer vers la bibliothèque..." @@ -3356,8 +3297,7 @@ msgstr "Déplacer vers la bibliothèque..." msgid "Move up" msgstr "Déplacer vers le haut" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musique" @@ -3366,22 +3306,10 @@ msgid "Music Library" msgstr "Bibliothèque musicale" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Sourdine" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Mes albums" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Ma musique" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Mes suggestions" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3427,7 +3355,7 @@ msgstr "Ne jamais commencer à lire" msgid "New folder" msgstr "Nouveau dossier" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nouvelle liste de lecture" @@ -3456,7 +3384,7 @@ msgid "Next" msgstr "Suivant" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Piste suivante" @@ -3494,7 +3422,7 @@ msgstr "Pas de bloc court" msgid "None" msgstr "Aucun" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Aucun des morceaux sélectionnés n'était valide pour la copie vers un périphérique" @@ -3543,10 +3471,6 @@ msgstr "Non connecté" msgid "Not mounted - double click to mount" msgstr "Non monté – double-cliquez pour monter" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Rien trouvé" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Notifications" @@ -3628,7 +3552,7 @@ msgstr "Opacité" msgid "Open %1 in browser" msgstr "Ouvrir %1 dans le navigateur" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Lire un CD &audio" @@ -3648,7 +3572,7 @@ msgstr "Ouvrir un répertoire pour en importer la musique" msgid "Open device" msgstr "Ouvrir le périphérique" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Ouvrir un fichier..." @@ -3702,7 +3626,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organiser les fichiers" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organisation des fichiers..." @@ -3714,7 +3638,7 @@ msgstr "Organisation des fichiers" msgid "Original tags" msgstr "Tags originaux" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3782,7 +3706,7 @@ msgstr "Soirée" msgid "Password" msgstr "Mot de passe" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pause" @@ -3795,7 +3719,7 @@ msgstr "Mettre la lecture en pause" msgid "Paused" msgstr "En pause" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3810,14 +3734,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Barre latérale simple" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Lecture" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Compteur d'écoutes" @@ -3848,7 +3772,7 @@ msgstr "Options du lecteur" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Liste de lecture" @@ -3865,7 +3789,7 @@ msgstr "Options de la liste de lecture" msgid "Playlist type" msgstr "Type de liste de lecture" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Listes de lecture" @@ -3906,11 +3830,11 @@ msgstr "Préférences" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Préférences" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Préférences..." @@ -3970,7 +3894,7 @@ msgid "Previous" msgstr "Précédent" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Piste précédente" @@ -4021,16 +3945,16 @@ msgstr "Qualité" msgid "Querying device..." msgstr "Interrogation périphérique" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Gestionnaire de file d'attente" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Mettre les pistes sélectionnées en liste d'attente" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Mettre cette piste en liste d'attente" @@ -4042,7 +3966,7 @@ msgstr "Radio (volume égalisé pour toutes les pistes)" msgid "Rain" msgstr "Pluie" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Pluie" @@ -4079,7 +4003,7 @@ msgstr "Noter ce morceau 4 étoiles" msgid "Rate the current song 5 stars" msgstr "Noter ce morceau 5 étoiles" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Note" @@ -4146,7 +4070,7 @@ msgstr "Supprimer" msgid "Remove action" msgstr "Effacer l'action" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Supprimer les doublons de la liste de lecture" @@ -4154,15 +4078,7 @@ msgstr "Supprimer les doublons de la liste de lecture" msgid "Remove folder" msgstr "Supprimer un dossier" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Supprimer de ma musique" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Supprimer des favoris" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Supprimer de la liste de lecture" @@ -4174,7 +4090,7 @@ msgstr "Supprimer la liste de lecture" msgid "Remove playlists" msgstr "Supprimer les listes de lecture" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Supprimer les pistes indisponibles dans la liste de lecture" @@ -4186,7 +4102,7 @@ msgstr "Renommer la liste de lecture" msgid "Rename playlist..." msgstr "Renommer la liste de lecture..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Renuméroter les pistes dans cet ordre..." @@ -4236,7 +4152,7 @@ msgstr "Repeupler" msgid "Require authentication code" msgstr "Exiger un code d'authentification" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Réinitialiser" @@ -4277,7 +4193,7 @@ msgstr "Extraire" msgid "Rip CD" msgstr "Extraire le CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Extraire le CD audio" @@ -4307,8 +4223,9 @@ msgstr "Enlever le périphérique en toute sécurité" msgid "Safely remove the device after copying" msgstr "Enlever le périphérique en toute sécurité à la fin de la copie" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Échantillonnage" @@ -4346,7 +4263,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Sauvegarder la liste de lecture" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Enregistrer la liste de lecture..." @@ -4386,7 +4303,7 @@ msgstr "Profil du taux d'échantillonnage" msgid "Scale size" msgstr "Taille redimensionnée" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Score" @@ -4403,12 +4320,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Recherche" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Recherche" @@ -4551,7 +4468,7 @@ msgstr "Détails du serveur" msgid "Service offline" msgstr "Service hors-ligne" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Définir %1 à la valeur « %2 »..." @@ -4560,7 +4477,7 @@ msgstr "Définir %1 à la valeur « %2 »..." msgid "Set the volume to percent" msgstr "Définir le volume à pourcents" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Définir une valeur pour toutes les pistes sélectionnées..." @@ -4627,7 +4544,7 @@ msgstr "Utiliser l'affichage à l'écran (OSD)" msgid "Show above status bar" msgstr "Afficher au dessus de la barre d'état" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Afficher tous les morceaux" @@ -4647,16 +4564,12 @@ msgstr "Afficher les séparateurs" msgid "Show fullsize..." msgstr "Afficher en taille réelle..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Afficher les groupes dans le résultat global de recherche" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Afficher dans le navigateur de fichiers" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Afficher dans la bibliothèque..." @@ -4668,27 +4581,23 @@ msgstr "Classer dans la catégorie « Compilations d'artistes »" msgid "Show moodbar" msgstr "Afficher la barre d'humeur" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Afficher uniquement les doublons" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Afficher uniquement les morceaux sans tag" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Afficher ou masquer la barre latérale" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Afficher le morceau en cours de lecture sur votre page" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Afficher les suggestions de recherche" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Afficher la barre latérale" @@ -4724,7 +4633,7 @@ msgstr "Aléatoire : albums" msgid "Shuffle all" msgstr "Aléatoire : tout" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Mélanger la liste de lecture" @@ -4760,7 +4669,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Lire la piste précédente" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Compteur de morceaux sautés" @@ -4768,11 +4677,11 @@ msgstr "Compteur de morceaux sautés" msgid "Skip forwards in playlist" msgstr "Lire la piste suivante" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Passer les pistes sélectionnées" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Passer la piste" @@ -4804,7 +4713,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Informations sur le morceau" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Info morceau" @@ -4840,7 +4749,7 @@ msgstr "Tri" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Source" @@ -4915,7 +4824,7 @@ msgid "Starting..." msgstr "Démarrage..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Stop" @@ -4931,7 +4840,7 @@ msgstr "Arrêter après chaque piste" msgid "Stop after every track" msgstr "Arrêter après chaque piste" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Arrêter la lecture après cette piste" @@ -4960,6 +4869,10 @@ msgstr "Interrompu" msgid "Stream" msgstr "Flux" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5069,6 +4982,10 @@ msgstr "La pochette d'album de la piste courante" msgid "The directory %1 is not valid" msgstr "Le répertoire %1 est invalide" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "La seconde valeur doit être plus grande que la première !" @@ -5087,7 +5004,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "La période d'essai pour le serveur Subsonic est terminée. Merci de faire un don pour avoir un clef de licence. Visitez subsonic.org pour plus d'informations." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5129,7 +5046,7 @@ msgid "" "continue?" msgstr "Ces fichiers vont être supprimés du périphérique, êtes-vous sûr de vouloir continuer ?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5213,7 +5130,7 @@ msgstr "Ce type de périphérique n'est pas supporté : %1" msgid "Time step" msgstr "Pas temporel" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5232,11 +5149,11 @@ msgstr "Basculer l'affichage de l'OSD" msgid "Toggle fullscreen" msgstr "Basculer en mode plein écran" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Basculer l'état de la file d'attente" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Basculer le scrobbling" @@ -5276,7 +5193,7 @@ msgstr "Nombre total de requêtes réseau effectuées" msgid "Trac&k" msgstr "Titr&e" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Piste" @@ -5285,7 +5202,7 @@ msgstr "Piste" msgid "Tracks" msgstr "Pistes" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transcoder de la musique" @@ -5322,6 +5239,10 @@ msgstr "Éteindre" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5347,9 +5268,9 @@ msgstr "Impossible de télécharger %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Inconnu" @@ -5366,11 +5287,11 @@ msgstr "Erreur de type inconnu" msgid "Unset cover" msgstr "Enlever cette pochette" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Ne pas passer les pistes sélectionnées" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Ne pas passer la piste" @@ -5383,15 +5304,11 @@ msgstr "Se désinscrire" msgid "Upcoming Concerts" msgstr "Concerts à venir" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Mise à jour" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Mettre à jour tous les podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Mettre à jour les dossiers de la bibliothèque" @@ -5501,7 +5418,7 @@ msgstr "Utiliser la normalisation de volume" msgid "Used" msgstr "Utilisé" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Interface utilisateur" @@ -5527,7 +5444,7 @@ msgid "Variable bit rate" msgstr "Débit variable" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Compilations d'artistes" @@ -5540,11 +5457,15 @@ msgstr "Version %1" msgid "View" msgstr "Vue" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Mode de visualisation" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualisations" @@ -5552,10 +5473,6 @@ msgstr "Visualisations" msgid "Visualizations Settings" msgstr "Paramètres de Visualisations" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Détecteur d’activité vocale" @@ -5578,10 +5495,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Mur" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "M'avertir lors de la fermeture d'un onglet de liste de lecture" @@ -5684,7 +5597,7 @@ msgid "" "well?" msgstr "Voulez-vous aussi déplacer les autres morceaux de cet album dans la catégorie « Compilations d'artistes » ?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Voulez-vous effectuer une analyse complète de la bibliothèque maintenant ?" @@ -5700,7 +5613,7 @@ msgstr "Écrire les métadonnées" msgid "Wrong username or password." msgstr "Nom d'utilisateur et/ou mot de passe invalide." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/ga.po b/src/translations/ga.po index 86f1b6688..b0e23a20e 100644 --- a/src/translations/ga.po +++ b/src/translations/ga.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Irish (http://www.transifex.com/davidsansome/clementine/language/ga/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,11 +63,6 @@ msgstr "soicindí" msgid " songs" msgstr "amhráin" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -99,7 +94,7 @@ msgstr "%1 ar %2" msgid "%1 playlists (%2)" msgstr "" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 roghnaithe de" @@ -124,7 +119,7 @@ msgstr "%1 amhráin aimsithe" msgid "%1 songs found (showing %2)" msgstr "%1 amhráin aimsithe (ag taispeáint %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 rianta" @@ -184,7 +179,7 @@ msgstr "&Lár" msgid "&Custom" msgstr "&Saincheaptha" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Breiseáin" @@ -192,7 +187,7 @@ msgstr "&Breiseáin" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Cabhair" @@ -217,7 +212,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Ceol" @@ -225,15 +220,15 @@ msgstr "&Ceol" msgid "&None" msgstr "&Dada" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Scoir" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -241,7 +236,7 @@ msgstr "" msgid "&Right" msgstr "&Deas" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -249,7 +244,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "&Sín colúin chun an fhuinneog a líonadh" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Uirlisí" @@ -285,7 +280,7 @@ msgstr "" msgid "1 day" msgstr "1 lá" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 rian" @@ -429,11 +424,11 @@ msgstr "" msgid "About %1" msgstr "Maidir le %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Maidir le Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Maidir le Qt..." @@ -443,7 +438,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Sonraí an chuntais" @@ -497,19 +492,19 @@ msgstr "Cuir sruth eile leis..." msgid "Add directory..." msgstr "Cuir comhadlann leis..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Cuir comhad leis" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Cuir comhad leis..." @@ -517,12 +512,12 @@ msgstr "Cuir comhad leis..." msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Cuir fillteán leis" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Cuir fillteán leis..." @@ -534,7 +529,7 @@ msgstr "Cuir fillteán nua leis..." msgid "Add podcast" msgstr "Cuir podchraoladh leis" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Cuir podchraoladh leis..." @@ -602,10 +597,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -614,18 +605,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Cuir sruth leis..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -634,14 +617,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -651,10 +630,6 @@ msgstr "" msgid "Add to the queue" msgstr "Cuir leis an scuaine" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -692,7 +667,7 @@ msgstr "I ndiaidh" msgid "After copying..." msgstr "I ndiaidh macasamhlú..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -705,7 +680,7 @@ msgstr "Albam" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -720,10 +695,6 @@ msgstr "Clúdach an Albaim" msgid "Album info on jamendo.com..." msgstr "Faisnéis an albaim ar jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albaim le clúdaigh" @@ -736,11 +707,11 @@ msgstr "Albaim gan clúdaigh" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Gach Comhad (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -865,7 +836,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -874,7 +845,7 @@ msgstr "" msgid "Artist" msgstr "Ealaíontóir" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -945,7 +916,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "Podchraoltaí an BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1002,7 +973,8 @@ msgstr "Is Fearr" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1055,7 +1027,7 @@ msgstr "Siortaigh..." msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1079,19 +1051,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Cealaigh" @@ -1100,12 +1059,6 @@ msgstr "Cealaigh" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Athraigh ealaíon an chlúdaigh" @@ -1144,6 +1097,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Lorg cláir nua" @@ -1152,19 +1109,15 @@ msgstr "Lorg cláir nua" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Lorg nuashonruithe..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Roghnaigh go huathoibríoch" @@ -1210,13 +1163,13 @@ msgstr "Ag glanadh" msgid "Clear" msgstr "Glan" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1349,24 +1302,20 @@ msgstr "Dathanna" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Trácht" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Críochnaigh clibeanna go huathoibríoch" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Críochnaigh clibeanna go huathoibríoch" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1397,15 +1346,11 @@ msgstr "Cumraigh Spotify..." msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Cumraigh leabharlann..." @@ -1439,16 +1384,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1472,20 +1417,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Macasamhlaigh go dtí an ngearrthaisce" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Macasamhlaigh go gléas..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Macasamhlaigh go leabharlann..." @@ -1507,6 +1448,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1533,7 +1483,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1619,11 +1569,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Dáta ar a chruthaíodh é" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Dáta ar a athraíodh é" @@ -1651,7 +1601,7 @@ msgstr "Laghdaigh an airde" msgid "Default background image" msgstr "Íomhá réamhshocraithe an chúlra" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1674,7 +1624,7 @@ msgid "Delete downloaded data" msgstr "Scrios sonraí íosluchtaithe" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Scrios comhaid" @@ -1682,7 +1632,7 @@ msgstr "Scrios comhaid" msgid "Delete from device..." msgstr "Scrios ón ngléas..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Scrios ón ndiosca..." @@ -1707,11 +1657,15 @@ msgstr "Scrios na comhaid bhunaidh" msgid "Deleting files" msgstr "Ag scriosadh comhaid" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Bain an rian as an scuaine" @@ -1740,11 +1694,11 @@ msgstr "Ainm an ghléis" msgid "Device properties..." msgstr "Airíonna an ghléis..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Gléasanna" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1791,7 +1745,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1812,7 +1766,7 @@ msgstr "Roghanna taispeána" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1983,12 +1937,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Cuir clib in eagar..." @@ -2001,7 +1955,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2021,10 +1975,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Cumasaigh cothromóir" @@ -2109,7 +2059,7 @@ msgstr "" msgid "Entire collection" msgstr "An cnuasach ar fad" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Cothromóir" @@ -2122,8 +2072,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Botún" @@ -2143,6 +2093,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2263,7 +2218,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2342,27 +2297,23 @@ msgstr "Iarmhír comhadainm" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Comhadainm" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Méid comhaid" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2372,7 +2323,7 @@ msgstr "Cineál comhad" msgid "Filename" msgstr "Comhadainm" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Comhaid" @@ -2384,10 +2335,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "Aimsigh amhráin i do leabharlann a chomhoireann leis an slat tomhais a shonraíonn tú." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2456,6 +2403,7 @@ msgid "Form" msgstr "Foirm" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formáid" @@ -2492,7 +2440,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Coiteann" @@ -2500,7 +2448,7 @@ msgstr "Coiteann" msgid "General settings" msgstr "Socruithe coiteann" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2533,11 +2481,11 @@ msgstr "Tabhair ainm dó:" msgid "Go" msgstr "Téigh" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2591,7 +2539,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2781,11 +2729,11 @@ msgstr "Suiteáilte" msgid "Integrity check" msgstr "Dearbháil sláine" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Idirlíon" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Soláthraithe idirlín" @@ -2802,6 +2750,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2858,7 +2810,7 @@ msgstr "Bunachar sonraí Jamendo" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Léim chuig an rian atá á seinm faoi láthair" @@ -2882,7 +2834,7 @@ msgstr "" msgid "Keep the original files" msgstr "Coinnigh na comhaid bhunaidh" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2923,7 +2875,7 @@ msgstr "" msgid "Last played" msgstr "An ceann deiridh a seinneadh" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2964,12 +2916,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Aga" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Leabharlann" @@ -2978,7 +2930,7 @@ msgstr "Leabharlann" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3018,7 +2970,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3054,8 +3006,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Ag luchtú..." @@ -3064,7 +3015,6 @@ msgstr "Ag luchtú..." msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3074,8 +3024,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Síniú isteach" @@ -3083,15 +3032,11 @@ msgstr "Síniú isteach" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Grá" @@ -3172,7 +3117,7 @@ msgstr "" msgid "Make it so!" msgstr "Bíodh sé mar sin!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3218,10 +3163,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3252,6 +3193,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3272,7 +3217,7 @@ msgstr "" msgid "Months" msgstr "Míonna" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3285,10 +3230,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "Na cinn is mó a seinneadh" @@ -3306,7 +3247,7 @@ msgstr "" msgid "Move down" msgstr "Bog síos" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Bog go dtí an leabharlann..." @@ -3315,8 +3256,7 @@ msgstr "Bog go dtí an leabharlann..." msgid "Move up" msgstr "Bog suas" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Ceol" @@ -3325,22 +3265,10 @@ msgid "Music Library" msgstr "Leabharlann cheoil" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Balbhaigh" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Mo Mholtaí" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3386,7 +3314,7 @@ msgstr "Ná tosaigh ag seinm riamh" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3415,7 +3343,7 @@ msgid "Next" msgstr "Ar aghaidh" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Rian ar aghaidh" @@ -3453,7 +3381,7 @@ msgstr "" msgid "None" msgstr "Dada" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3502,10 +3430,6 @@ msgstr "Níl tú sínithe isteach" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Cineál fógra" @@ -3587,7 +3511,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "Oscail %1 i líonléitheoir" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3607,7 +3531,7 @@ msgstr "" msgid "Open device" msgstr "Oscail gléas" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Oscail comhad..." @@ -3661,7 +3585,7 @@ msgstr "" msgid "Organise Files" msgstr "Eagraigh comhaid" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Eagraigh comhaid..." @@ -3673,7 +3597,7 @@ msgstr "Ag eagrú comhaid" msgid "Original tags" msgstr "Clibeanna bunaidh" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3741,7 +3665,7 @@ msgstr "Cóisir" msgid "Password" msgstr "Focal faire" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Cuir ar sos" @@ -3754,7 +3678,7 @@ msgstr "Cuir athsheinm ar sos" msgid "Paused" msgstr "Curtha ar sos" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3769,14 +3693,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Seinn" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3807,7 +3731,7 @@ msgstr "Roghanna an tseinnteora" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3824,7 +3748,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3865,11 +3789,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Sainroghanna" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Sainroghanna..." @@ -3929,7 +3853,7 @@ msgid "Previous" msgstr "Roimhe" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "An rian roimhe" @@ -3980,16 +3904,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Bainisteoir na Scuaine" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Cuir na rianta roghnaithe i scuaine" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Cuir an rian i scuaine" @@ -4001,7 +3925,7 @@ msgstr "" msgid "Rain" msgstr "Báisteach" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4038,7 +3962,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4105,7 +4029,7 @@ msgstr "Bain" msgid "Remove action" msgstr "Bain gníomh" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4113,15 +4037,7 @@ msgstr "" msgid "Remove folder" msgstr "Bain fillteán" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4133,7 +4049,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4145,7 +4061,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4195,7 +4111,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Athshocraigh" @@ -4236,7 +4152,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4266,8 +4182,9 @@ msgstr "Bain an gléas go sábháilte" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4305,7 +4222,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4345,7 +4262,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4362,12 +4279,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Cuardaigh" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4510,7 +4427,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Socraigh %1 go \"%2\"..." @@ -4519,7 +4436,7 @@ msgstr "Socraigh %1 go \"%2\"..." msgid "Set the volume to percent" msgstr "Socraigh an airde chuig faoin gcéad" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Socraigh luach do gach rian roghnaithe..." @@ -4586,7 +4503,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Taispeáin gach amhrán" @@ -4606,16 +4523,12 @@ msgstr "Taispeáin roinnteoirí" msgid "Show fullsize..." msgstr "Taispeáin lánmhéid..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Taispeáin i siortaitheoir na gcomhad..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4627,27 +4540,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Taispeáin na cinn nach bhfuil clib orthu amháin" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4683,7 +4592,7 @@ msgstr "Seinn na halbaim go fánach" msgid "Shuffle all" msgstr "Seinn uile go fánach" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4719,7 +4628,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4727,11 +4636,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4763,7 +4672,7 @@ msgstr "Rac bog" msgid "Song Information" msgstr "Faisnéis an amhráin" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Faisnéis an amhráin" @@ -4799,7 +4708,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Foinse" @@ -4874,7 +4783,7 @@ msgid "Starting..." msgstr "Ag tosú..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Stad" @@ -4890,7 +4799,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Stad i ndiaidh an rian seo" @@ -4919,6 +4828,10 @@ msgstr "Stadtha" msgid "Stream" msgstr "Sruth" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5028,6 +4941,10 @@ msgstr "Clúdadh an albaim den amhrán atá á seinm faoi láthair" msgid "The directory %1 is not valid" msgstr "Ní comhadlann bailí í %1" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Ní mór don dara luach a bheith níos mó ná an chéad cheann!" @@ -5046,7 +4963,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5088,7 +5005,7 @@ msgid "" "continue?" msgstr "Scriosfar na comhaid seo ón ngléas, an bhfuil tú cinnte gur mian leat leanúint ar aghaidh?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5172,7 +5089,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5191,11 +5108,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "Scoránaigh lánscáileán" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5235,7 +5152,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Rian" @@ -5244,7 +5161,7 @@ msgstr "Rian" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5281,6 +5198,10 @@ msgstr "Múch" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(anna)" @@ -5306,9 +5227,9 @@ msgstr "Níorbh fhéidir %1 a íosluchtú (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Anaithnid" @@ -5325,11 +5246,11 @@ msgstr "Botún anaithnid" msgid "Unset cover" msgstr "Díshocraigh an clúdach" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5342,15 +5263,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Nuashonraigh gach podchraoladh" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5460,7 +5377,7 @@ msgstr "" msgid "Used" msgstr "Caite" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Comhéadan" @@ -5486,7 +5403,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Ealaíontóirí éagsúla" @@ -5499,11 +5416,15 @@ msgstr "Leagan %1" msgid "View" msgstr "Amharc" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Amharcléirithe" @@ -5511,10 +5432,6 @@ msgstr "Amharcléirithe" msgid "Visualizations Settings" msgstr "Socruithe amharcléirithe" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5537,10 +5454,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5643,7 +5556,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5659,7 +5572,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/gl.po b/src/translations/gl.po index ba151bde8..52bc6dd63 100644 --- a/src/translations/gl.po +++ b/src/translations/gl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Galician (http://www.transifex.com/davidsansome/clementine/language/gl/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -67,11 +67,6 @@ msgstr " segundos" msgid " songs" msgstr " cancións" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -103,7 +98,7 @@ msgstr "%1 en %2" msgid "%1 playlists (%2)" msgstr "%1 listas de reprodución (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 escollidas de" @@ -128,7 +123,7 @@ msgstr "%1 canción encontrada" msgid "%1 songs found (showing %2)" msgstr "%1 cancións atopada (amosando %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 canción" @@ -188,7 +183,7 @@ msgstr "&Centrar" msgid "&Custom" msgstr "&Personalizado" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Complementos" @@ -196,7 +191,7 @@ msgstr "&Complementos" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Axuda" @@ -221,7 +216,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Música" @@ -229,15 +224,15 @@ msgstr "&Música" msgid "&None" msgstr "&Ningunha" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Lista de reprodución" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Saír" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Modo de repetición" @@ -245,7 +240,7 @@ msgstr "&Modo de repetición" msgid "&Right" msgstr "&Direita" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Modo aleatorio" @@ -253,7 +248,7 @@ msgstr "&Modo aleatorio" msgid "&Stretch columns to fit window" msgstr "&Axustar as columnas á xanela" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Ferramentas" @@ -289,7 +284,7 @@ msgstr "0px" msgid "1 day" msgstr "1 día" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 pista" @@ -433,11 +428,11 @@ msgstr "Cancelar" msgid "About %1" msgstr "Acerca do %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Acerca de Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Acerca Qt..." @@ -447,7 +442,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Detalles da conta" @@ -501,19 +496,19 @@ msgstr "Engadir outro fluxo…" msgid "Add directory..." msgstr "Engadir un cartafol…" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Engadir un ficheiro" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Engadir arquivo ó transcodificador" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Engadir arquivo(s) ó transcodificador" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Engadir ficheiro..." @@ -521,12 +516,12 @@ msgstr "Engadir ficheiro..." msgid "Add files to transcode" msgstr "Engadir ficheiros para converter" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Engadir cartafol" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Engadir cartafol..." @@ -538,7 +533,7 @@ msgstr "Engadir novo cartafol" msgid "Add podcast" msgstr "Engadir un podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Engadir un podcast…" @@ -606,10 +601,6 @@ msgstr "Engadir a etiqueta dos saltos" msgid "Add song title tag" msgstr "Engadir a etiqueta do título" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Engadir a etiqueta da pista" @@ -618,18 +609,10 @@ msgstr "Engadir a etiqueta da pista" msgid "Add song year tag" msgstr "Engadir a etiqueta do ano" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Engadir fluxo..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -638,14 +621,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Engadir a outra lista de reprodución" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Engadir á lista" @@ -655,10 +634,6 @@ msgstr "Engadir á lista" msgid "Add to the queue" msgstr "Engadir á cola" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Engadir acción wiimotedev" @@ -696,7 +671,7 @@ msgstr "Despois de " msgid "After copying..." msgstr "Despóis de copiar..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -709,7 +684,7 @@ msgstr "Álbum" msgid "Album (ideal loudness for all tracks)" msgstr "Álbum (sonoridade ideal para todas as pistas)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -724,10 +699,6 @@ msgstr "Portada" msgid "Album info on jamendo.com..." msgstr "Información do Álbum en Jamendo.com" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Álbums con portada" @@ -740,11 +711,11 @@ msgstr "Álbums sen portada" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Todos os ficheiros" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -869,7 +840,7 @@ msgid "" "the songs of your library?" msgstr "Seguro que quere escribir as estadísticas das cancións nos ficheiros para tódalas cancións na biblioteca?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -878,7 +849,7 @@ msgstr "Seguro que quere escribir as estadísticas das cancións nos ficheiros p msgid "Artist" msgstr "Intérprete" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Información do intérprete" @@ -949,7 +920,7 @@ msgstr "Tamaño medio das imaxes" msgid "BBC Podcasts" msgstr "Podcasts da BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1006,7 +977,8 @@ msgstr "Mellor" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Taxa de bits" @@ -1059,7 +1031,7 @@ msgstr "Examinar..." msgid "Buffer duration" msgstr "Duración de almacenado en búfer" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Almacenando no búfer…" @@ -1083,19 +1055,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Compatibilidade con follas CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Cancelar" @@ -1104,12 +1063,6 @@ msgstr "Cancelar" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Cambiar a portada" @@ -1148,6 +1101,10 @@ msgid "" "songs" msgstr "Se cambia a opción sobre a reprodución nunha única canle, o cambio será efectivo a partir da seguinte canción." +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Buscar novos episodios" @@ -1156,19 +1113,15 @@ msgstr "Buscar novos episodios" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Verificar se há actualizazóns..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Escolla un nome para a súa lista intelixente" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Elixir automaticamente" @@ -1214,13 +1167,13 @@ msgstr "Facendo limpeza…" msgid "Clear" msgstr "Limpar" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Baleirar a lista de reprodución" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1353,24 +1306,20 @@ msgstr "Cores" msgid "Comma separated list of class:level, level is 0-3" msgstr "Lista separada por comas de :, onde o nivel será un valor do 0 ao 3." -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Comentario" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Completar as etiquetas automaticamente." -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Completar as etiquetas automaticamente…" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1401,15 +1350,11 @@ msgstr "Configura Spotify" msgid "Configure Subsonic..." msgstr "Configurar Subsonic…" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Configurar a busca global…" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Configurar a biblioteca..." @@ -1443,16 +1388,16 @@ msgid "" "http://localhost:4040/" msgstr "Conexión rexeitada polo servidor, comprobe o URL do servidor. Por exemplo: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Conexión fora de tempo, comprobe o URL do servidor. Por exemplo: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Consola" @@ -1476,20 +1421,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Copiar no portapapeis" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Copiar para o dispositivo" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Copiar para a biblioteca" @@ -1511,6 +1452,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Non podes crear o elemento GStreamer «%1». Asegúrese de que ten instalados os complementos GStreamer." +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1537,7 +1487,7 @@ msgstr "Non se puido abrir o arquivo externo %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Xestor de portadas" @@ -1623,11 +1573,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Data de criazón" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Data de alterazón" @@ -1655,7 +1605,7 @@ msgstr "Diminuír o volume" msgid "Default background image" msgstr "Imaxe de fondo predeterminada" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1678,7 +1628,7 @@ msgid "Delete downloaded data" msgstr "Eliminar os datos descargados" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Eliminar arquivos " @@ -1686,7 +1636,7 @@ msgstr "Eliminar arquivos " msgid "Delete from device..." msgstr "Eliminar do dispositivo" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Eliminar do disco" @@ -1711,11 +1661,15 @@ msgstr "Eliminar os ficheiros orixinais" msgid "Deleting files" msgstr "Eliminando os ficheiros…" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Quitar as pistas seleccionadas da cola" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Quitar da cola" @@ -1744,11 +1698,11 @@ msgstr "Nome do dispositivo" msgid "Device properties..." msgstr "Propiedades do dispositivo…" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Dispositivos" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1795,7 +1749,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1816,7 +1770,7 @@ msgstr "Opcións de visualización" msgid "Display the on-screen-display" msgstr "Amosar a mensaxe en pantalla" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Analizar completamente a biblioteca" @@ -1987,12 +1941,12 @@ msgstr "Mestura aleatoria dinámica" msgid "Edit smart playlist..." msgstr "Editar a lista intelixente…" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Editar etiqueta \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Editar etiqueta..." @@ -2005,7 +1959,7 @@ msgid "Edit track information" msgstr "Editar información da pista" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Editar información da pista..." @@ -2025,10 +1979,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "Activar a compatibilidade con controis de Wii." -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Activar o ecualizador." @@ -2113,7 +2063,7 @@ msgstr "Introducir esta IP na App para conectar con Clementine." msgid "Entire collection" msgstr "Colección completa" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ecualizador" @@ -2126,8 +2076,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Equivalente a «--log-levels *:3»." #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Erro" @@ -2147,6 +2097,11 @@ msgstr "Erro ao copiar as cancións" msgid "Error deleting songs" msgstr "Erro ao eliminar as cancións" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Erro ao baixar o engadido de Spotify" @@ -2267,7 +2222,7 @@ msgstr "Desvanecendo" msgid "Fading duration" msgstr "Duración do desvanecimento" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2346,27 +2301,23 @@ msgstr "Extensión do ficheiro" msgid "File formats" msgstr "Formatos de ficheiro" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nome do ficheiro" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Nome do ficheiro (sen camiño)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Tamaño do ficheiro" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2376,7 +2327,7 @@ msgstr "Tipo de ficheiro" msgid "Filename" msgstr "Ruta" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Ficheiros" @@ -2388,10 +2339,6 @@ msgstr "Ficheiros a converter" msgid "Find songs in your library that match the criteria you specify." msgstr "Atope cancións na súa biblioteca que coincidan cos criterios indicados." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Obtendo un identificador para a canción…" @@ -2460,6 +2407,7 @@ msgid "Form" msgstr "Formulario" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formato" @@ -2496,7 +2444,7 @@ msgstr "Full Treble" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Xeral" @@ -2504,7 +2452,7 @@ msgstr "Xeral" msgid "General settings" msgstr "Configuración xeral" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2537,11 +2485,11 @@ msgstr "Noméeo:" msgid "Go" msgstr "Ir" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Ir á seguinte lapela de lista" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Ir á lapela anterior de lista" @@ -2595,7 +2543,7 @@ msgstr "Agrupar por Xénero/Álbum" msgid "Group by Genre/Artist/Album" msgstr "Agrupar por xénero/intérprete/álbum" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2785,11 +2733,11 @@ msgstr "Instalado" msgid "Integrity check" msgstr "Comprobación da integridade" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Fornecedores de internet" @@ -2806,6 +2754,10 @@ msgstr "" msgid "Invalid API key" msgstr "Chave non válida da API" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Formato inválido" @@ -2862,7 +2814,7 @@ msgstr "Base de dados de Jamendo" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Ir á pista que se está a reproducir" @@ -2886,7 +2838,7 @@ msgstr "Continuar a execución en segundo plano ao pechar a xanela." msgid "Keep the original files" msgstr "Gardar os arquivos orixinais" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2927,7 +2879,7 @@ msgstr "Barra lateral larga" msgid "Last played" msgstr "Últimos en soar" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2968,12 +2920,12 @@ msgstr "Pistas en peor estima" msgid "Left" msgstr "Esquerda" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Duración" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Biblioteca" @@ -2982,7 +2934,7 @@ msgstr "Biblioteca" msgid "Library advanced grouping" msgstr "Agrupamento avanzado da biblioteca" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Nota de análise da biblioteca" @@ -3022,7 +2974,7 @@ msgstr "Cargar a portada do computador…" msgid "Load playlist" msgstr "Cargar unha lista" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Cargar unha lista…" @@ -3058,8 +3010,7 @@ msgstr "Cargando a información das pistas…" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Cargando…" @@ -3068,7 +3019,6 @@ msgstr "Cargando…" msgid "Loads files/URLs, replacing current playlist" msgstr "Carga ficheiros ou enderezos URL, substituíndo a lista actual." -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3078,8 +3028,7 @@ msgstr "Carga ficheiros ou enderezos URL, substituíndo a lista actual." #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Acceder" @@ -3087,15 +3036,11 @@ msgstr "Acceder" msgid "Login failed" msgstr "Non se puido acceder." -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Perfil de predición a longo prazo (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Gústame" @@ -3176,7 +3121,7 @@ msgstr "Perfil principal (MAIN)" msgid "Make it so!" msgstr "Que así sexa!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3222,10 +3167,6 @@ msgstr "Coincidencia con todos os termos (AND)" msgid "Match one or more search terms (OR)" msgstr "Coincidencia con algúns termos (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Taxa de bits máxima" @@ -3256,6 +3197,10 @@ msgstr "Taxa de bits mínima" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Predefinicións de Missing projectM" @@ -3276,7 +3221,7 @@ msgstr "Reprodución nunha única canle." msgid "Months" msgstr "Meses" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Ánimo" @@ -3289,10 +3234,6 @@ msgstr "Estilo da barra do ánimo" msgid "Moodbars" msgstr "Barras do ánimo" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "Máis tocados" @@ -3310,7 +3251,7 @@ msgstr "Pontos de montaxe" msgid "Move down" msgstr "Mover para abaixo" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Mover para a biblioteca..." @@ -3319,8 +3260,7 @@ msgstr "Mover para a biblioteca..." msgid "Move up" msgstr "Mover para acima" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Música" @@ -3329,22 +3269,10 @@ msgid "Music Library" msgstr "Colección de música" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Silencio" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Música persoal" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "As miñas recomendazóns" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3390,7 +3318,7 @@ msgstr "Nunca comezar reproducindo" msgid "New folder" msgstr "Novo cartafol" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nova lista de reprodución" @@ -3419,7 +3347,7 @@ msgid "Next" msgstr "Próximo" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Seguinte pista" @@ -3457,7 +3385,7 @@ msgstr "Non hai bloques pequenos." msgid "None" msgstr "Nengún" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Nengunha das cancións seleccionadas é axeitada para sera copiada a un dispositivo " @@ -3506,10 +3434,6 @@ msgstr "Desconectado do servizo." msgid "Not mounted - double click to mount" msgstr "Desmontado. Faga dobre clic para montalo." -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Tipo de notificación" @@ -3591,7 +3515,7 @@ msgstr "Opacidade" msgid "Open %1 in browser" msgstr "Abrir %1 no navegador" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Abrir un CD de &son…" @@ -3611,7 +3535,7 @@ msgstr "" msgid "Open device" msgstr "Abrir o dispositivo" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Abrir un ficheiro…" @@ -3665,7 +3589,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organizar os ficheiros" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organizar os ficheiros…" @@ -3677,7 +3601,7 @@ msgstr "Organizando os ficheiros…" msgid "Original tags" msgstr "Etiquetas orixinais" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3745,7 +3669,7 @@ msgstr "Festa" msgid "Password" msgstr "Contrasinal" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pausa" @@ -3758,7 +3682,7 @@ msgstr "Pausa" msgid "Paused" msgstr "Pausado" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3773,14 +3697,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Barra lateral simple" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Reproducir" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Escoitas" @@ -3811,7 +3735,7 @@ msgstr "Opczóns do player" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Lista de reprodución" @@ -3828,7 +3752,7 @@ msgstr "Opcións da lista de reprodución" msgid "Playlist type" msgstr "Tipo de lista" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Listas de reprodución" @@ -3869,11 +3793,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Configuración" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Configuración…" @@ -3933,7 +3857,7 @@ msgid "Previous" msgstr "Anterior" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Pista anterior" @@ -3984,16 +3908,16 @@ msgstr "" msgid "Querying device..." msgstr "Investigando no dispositivo" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Xestor da fila" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Engadir á lista" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Engadir á lista" @@ -4005,7 +3929,7 @@ msgstr "Radio (mesmo volume para todas as pistas)" msgid "Rain" msgstr "Chuvia" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4042,7 +3966,7 @@ msgstr "Califica a canción actual 4 estrelas" msgid "Rate the current song 5 stars" msgstr "Califica a canción actual 5 estrelas" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Avaliación" @@ -4109,7 +4033,7 @@ msgstr "Remover" msgid "Remove action" msgstr "Eliminar acción" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Eliminar as entradas duplicadas da lista" @@ -4117,15 +4041,7 @@ msgstr "Eliminar as entradas duplicadas da lista" msgid "Remove folder" msgstr "Eliminar cartafol" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Quitar da música persoal" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Eliminar da lista de reprodución" @@ -4137,7 +4053,7 @@ msgstr "Eliminar lista de reproducción" msgid "Remove playlists" msgstr "Eliminar listas de reprodución" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4149,7 +4065,7 @@ msgstr "Renomear lista de reprodución" msgid "Rename playlist..." msgstr "Renomear lista de reprodución" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Volver numerar as pistas na seguinte orde…" @@ -4199,7 +4115,7 @@ msgstr "preencher novamente" msgid "Require authentication code" msgstr "Requerir código de autenticación" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "reestablelecer" @@ -4240,7 +4156,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4270,8 +4186,9 @@ msgstr "Retirar o dispositivo de maneira segura." msgid "Safely remove the device after copying" msgstr "Retirar o dispositivo de maneira segura tras a copia." -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Frecuencia de mostraxe" @@ -4309,7 +4226,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Gardar lista de reprodución..." @@ -4349,7 +4266,7 @@ msgstr "Perfil de taxa de mostra escalábel (SSR)" msgid "Scale size" msgstr "Tamaño de escala" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Puntuación" @@ -4366,12 +4283,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Buscar" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4514,7 +4431,7 @@ msgstr "Detalles do servidor" msgid "Service offline" msgstr "Servizo Inválido" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Colocar %1 para \"%2\"..." @@ -4523,7 +4440,7 @@ msgstr "Colocar %1 para \"%2\"..." msgid "Set the volume to percent" msgstr "Axusta o volume a por cento" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Axusta o volume para todos os cortes seleccionados" @@ -4590,7 +4507,7 @@ msgstr "Amosar unha pantalla xeitosa" msgid "Show above status bar" msgstr "Mostrar" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Amosar todas as cancións" @@ -4610,16 +4527,12 @@ msgstr "Amosar as divisións" msgid "Show fullsize..." msgstr "Mostrar tamaño completo " -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Mostrar no buscador de arquivos" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4631,27 +4544,23 @@ msgstr "Amosar en varios intérpretes" msgid "Show moodbar" msgstr "Amosar a barra do ánimo." -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Mostrar somente os duplicados" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Só amosar o que non estea etiquetado." -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Fornecer suxestións para a busca." -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4687,7 +4596,7 @@ msgstr "Desordenar os álbums" msgid "Shuffle all" msgstr "Desordenalo todo" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Desordenar a lista" @@ -4723,7 +4632,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Saltar para trás na lista de músicas" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Saltar a conta" @@ -4731,11 +4640,11 @@ msgstr "Saltar a conta" msgid "Skip forwards in playlist" msgstr "Saltar cara adiante na lista de reprodución" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4767,7 +4676,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Información da canción" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Información" @@ -4803,7 +4712,7 @@ msgstr "Orde" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Orixe" @@ -4878,7 +4787,7 @@ msgid "Starting..." msgstr "Iniciando…" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Deter" @@ -4894,7 +4803,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Deter a reprodución despois da pista actual" @@ -4923,6 +4832,10 @@ msgstr "Detido" msgid "Stream" msgstr "Fluxo" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5032,6 +4945,10 @@ msgstr "Portada do álbum da canción actual" msgid "The directory %1 is not valid" msgstr "O directorio %1 non é valido" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "O valor segundo debería ser maior que o primeiro" @@ -5050,7 +4967,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Acabou o período de proba do servidor de Subsonic. Faga unha doazón para conseguir unha chave de acceso. Visite subsonic.org para máis información." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5092,7 +5009,7 @@ msgid "" "continue?" msgstr "Estes arquivos serán eliminados do dispositivo, estás seguro de querer continuar?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5176,7 +5093,7 @@ msgstr "Clementine non é compatíbel con este tipo de dispositivo: %1." msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5195,11 +5112,11 @@ msgstr "Alternar o OSD xeitoso" msgid "Toggle fullscreen" msgstr "Pantalla completa" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Alternar o estado da cola" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Alternar o envío de escoitas" @@ -5239,7 +5156,7 @@ msgstr "Solicitudes de rede" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Pista" @@ -5248,7 +5165,7 @@ msgstr "Pista" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Conversión de música" @@ -5285,6 +5202,10 @@ msgstr "Apagar" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5310,9 +5231,9 @@ msgstr "Non é posíbel descargar %1 (%2)." #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Descoñecido" @@ -5329,11 +5250,11 @@ msgstr "Erro descoñecido" msgid "Unset cover" msgstr "Anular a escolla da portada" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5346,15 +5267,11 @@ msgstr "Anular a subscrición" msgid "Upcoming Concerts" msgstr "Vindeiros concertos" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Actualizar todos os podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Actualizar os cartafoles da biblioteca con cambios" @@ -5464,7 +5381,7 @@ msgstr "Empregar a normalización do volume." msgid "Used" msgstr "Empregado" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Interface de usuario" @@ -5490,7 +5407,7 @@ msgid "Variable bit rate" msgstr "Taxa de bits variábel" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Varios intérpretes" @@ -5503,11 +5420,15 @@ msgstr "Versón %1" msgid "View" msgstr "Vista" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Modo de visualización" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualizacións" @@ -5515,10 +5436,6 @@ msgstr "Visualizacións" msgid "Visualizations Settings" msgstr "Configuración das visualizacións" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Detección da voz" @@ -5541,10 +5458,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Advírtame ao pechar unha pestana de lista de reprodución" @@ -5647,7 +5560,7 @@ msgid "" "well?" msgstr "Quere mover tamén o resto das cancións do álbum a «Varios Intérpretes»?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Quere realizar unha análise completa agora?" @@ -5663,7 +5576,7 @@ msgstr "" msgid "Wrong username or password." msgstr "O nome de usuario ou contrasinal non son correctos." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/he.po b/src/translations/he.po index 212549dc7..09d4aa155 100644 --- a/src/translations/he.po +++ b/src/translations/he.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Hebrew (http://www.transifex.com/davidsansome/clementine/language/he/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -70,11 +70,6 @@ msgstr " שניות" msgid " songs" msgstr " שירים" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 שירים)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -106,7 +101,7 @@ msgstr "%1 על %2" msgid "%1 playlists (%2)" msgstr "%1 רשימות השמעה (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "נבחרו %1 מתוך" @@ -131,7 +126,7 @@ msgstr "נמצאו %1 שירים" msgid "%1 songs found (showing %2)" msgstr "נמצאו %1 שירים (מוצגים %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 רצועות" @@ -191,7 +186,7 @@ msgstr "מ&רכז" msgid "&Custom" msgstr "ה&תאמה אישית" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "תוספות" @@ -199,7 +194,7 @@ msgstr "תוספות" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "ע&זרה" @@ -224,7 +219,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "מוזיקה" @@ -232,15 +227,15 @@ msgstr "מוזיקה" msgid "&None" msgstr "&ללא" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "רשימת השמעה" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "י&ציאה" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "מצב חזרה" @@ -248,7 +243,7 @@ msgstr "מצב חזרה" msgid "&Right" msgstr "&ימין" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "מצב ערבוב" @@ -256,7 +251,7 @@ msgstr "מצב ערבוב" msgid "&Stretch columns to fit window" msgstr "&מתיחת עמודות בהתאמה לחלון" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&כלים" @@ -292,7 +287,7 @@ msgstr "0px" msgid "1 day" msgstr "יום אחד" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "רצועה אחת" @@ -436,11 +431,11 @@ msgstr "בטל" msgid "About %1" msgstr "בערך %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "על אודות Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "על אודות Qt..." @@ -450,7 +445,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "פרטי החשבון" @@ -504,19 +499,19 @@ msgstr "הוספת תזרים אחר..." msgid "Add directory..." msgstr "הוספת תיקייה..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "הוספת קובץ" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "הוסף קובץ לממיר" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "הוסף קבצים לממיר" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "הוספת קובץ..." @@ -524,12 +519,12 @@ msgstr "הוספת קובץ..." msgid "Add files to transcode" msgstr "הוספת קובצי מוזיקה להמרה" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "הוספת תיקייה" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "הוספת תיקייה..." @@ -541,7 +536,7 @@ msgstr "הוספת תיקייה חדשה..." msgid "Add podcast" msgstr "הוספת פודקאסט" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "הוספת פודקאסט..." @@ -609,10 +604,6 @@ msgstr "הוספת מספר דילוגים לשיר" msgid "Add song title tag" msgstr "הוספת תג כותרת לשיר" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "הוסף שיר למטמון" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "הוספת תג פסקול לשיר" @@ -621,18 +612,10 @@ msgstr "הוספת תג פסקול לשיר" msgid "Add song year tag" msgstr "הוספת תג שנה לשיר" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "הוסף שירים ל-\"שירים שלי\" אם כפתור ה-\"אוהב\" נלחץ" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "הוספת תזרים" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "הוסף לשירים שלי" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "הוסף לרשימת ההשמעה של Spotify" @@ -641,14 +624,10 @@ msgstr "הוסף לרשימת ההשמעה של Spotify" msgid "Add to Spotify starred" msgstr "הוסף למועדפים של Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "הוספה לרשימת השמעה אחרת" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "הוסף לסימניות" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "הוספה לרשימת ההשמעה" @@ -658,10 +637,6 @@ msgstr "הוספה לרשימת ההשמעה" msgid "Add to the queue" msgstr "הוספה לתור" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "הוסף משתמש\\קבוצה לסימניות" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "הוספת פעולת wiimotedev" @@ -699,7 +674,7 @@ msgstr "לאחר " msgid "After copying..." msgstr "אחרי העתקה..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -712,7 +687,7 @@ msgstr "אלבום" msgid "Album (ideal loudness for all tracks)" msgstr "אלבום (עצמת שמע אידאלית לכל הרצועות)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -727,10 +702,6 @@ msgstr "עטיפת אלבום" msgid "Album info on jamendo.com..." msgstr "מידע על האלבום ב־jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "כל האלבומים" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "אלבומים עם עטיפה" @@ -743,11 +714,11 @@ msgstr "אלבומים ללא עטיפה" msgid "All" msgstr "הכל" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "כל הקבצים (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -872,7 +843,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -881,7 +852,7 @@ msgstr "" msgid "Artist" msgstr "אמן" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "מידע על האמן" @@ -952,7 +923,7 @@ msgstr "גודל תמונה ממוצע" msgid "BBC Podcasts" msgstr "BBC פודקאסט" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "מספר פעימות לדקה" @@ -1009,7 +980,8 @@ msgstr "מיטבי" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "קצב הסיביות" @@ -1062,7 +1034,7 @@ msgstr "עיון..." msgid "Buffer duration" msgstr "משך הבאפר (buffer)" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "באגירה" @@ -1086,19 +1058,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "תמיכה ב־CUE sheet" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "ביטול" @@ -1107,12 +1066,6 @@ msgstr "ביטול" msgid "Cancel download" msgstr "בטל הורדה" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "שינוי עטיפת האלבום" @@ -1151,6 +1104,10 @@ msgid "" "songs" msgstr "שינוי העדפת השמעת מונו יהיה יעיל לניגון השירים הבאים" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "בדיקת פרקים חדשים" @@ -1159,19 +1116,15 @@ msgstr "בדיקת פרקים חדשים" msgid "Check for updates" msgstr "בדוק עדכונים" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "בדיקת עדכונים..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "נא לבחור בשם עבור רשימת ההשמעה החכמה" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "בחירה אוטומטית" @@ -1217,13 +1170,13 @@ msgstr "מנקה" msgid "Clear" msgstr "ניקוי" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "ניקוי רשימת ההשמעה" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1356,24 +1309,20 @@ msgstr "צבעים" msgid "Comma separated list of class:level, level is 0-3" msgstr "רשימה מופרדת בפסיקים של class:level,level יכול להיות 0-3 " -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "הערה" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "השלמת תג אוטומטית" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "השלמת תגים אוטומטית..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1404,15 +1353,11 @@ msgstr "הגדרת Spotify..." msgid "Configure Subsonic..." msgstr "הגדרת תת קולי" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "מגדיר חיפוש " -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "הגדרת הספרייה..." @@ -1446,16 +1391,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "קונסול" @@ -1479,20 +1424,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "העתקה אל הלוח" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "העתקה להתקן.." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "העתקה לספרייה..." @@ -1514,6 +1455,15 @@ msgid "" "required GStreamer plugins installed" msgstr "לא ניתן ליצור את רכיב ה־GStreamer „%1“ - יש לוודא שכל תוספי ה־GStreamer מותקנים כראוי" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1540,7 +1490,7 @@ msgstr "לא ניתן לפתוח את קובץ הפלט %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "מנהל העטיפות" @@ -1626,11 +1576,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "תאריך יצירה" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "תאריך שינוי" @@ -1658,7 +1608,7 @@ msgstr "הנמכת עצמת השמע" msgid "Default background image" msgstr "תמונת בררת המחדל לרקע" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1681,7 +1631,7 @@ msgid "Delete downloaded data" msgstr "מחיקת מידע שהתקבל" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "מחיקת קבצים" @@ -1689,7 +1639,7 @@ msgstr "מחיקת קבצים" msgid "Delete from device..." msgstr "מחיקה מתוך התקן..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "מחיקה מתוך דיסק..." @@ -1714,11 +1664,15 @@ msgstr "מחיקת הקבצים המקוריים" msgid "Deleting files" msgstr "הקבצים נמחקים" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "הסרת הרצועות הנבחרות מהתור" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "הסרת הרצועה מהתור" @@ -1747,11 +1701,11 @@ msgstr "שם ההתקן" msgid "Device properties..." msgstr "מאפייני ההתקן..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "התקנים" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1798,7 +1752,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1819,7 +1773,7 @@ msgstr "הגדרות תצוגה" msgid "Display the on-screen-display" msgstr "הצגת חיווי מסך" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "ביצוע סריקה חוזרת לכל הספרייה" @@ -1990,12 +1944,12 @@ msgstr "מיקס דינמי אקראי" msgid "Edit smart playlist..." msgstr "עריכת רשימת השמעה חכמה..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "עריכת תגית..." @@ -2008,7 +1962,7 @@ msgid "Edit track information" msgstr "עריכת פרטי הרצועה" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "עריכת פרטי הרצועה..." @@ -2028,10 +1982,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "הפעלת תמיכה ב־Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "הפעלת אקולייזר" @@ -2116,7 +2066,7 @@ msgstr "הכנס כתובת IP באפליקציה על מנת להתחבר ל-Cl msgid "Entire collection" msgstr "כל האוסף" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "אקולייזר" @@ -2129,8 +2079,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "זהה לאפשרות--log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "שגיאה" @@ -2150,6 +2100,11 @@ msgstr "שגיאה בהעתקת שירים" msgid "Error deleting songs" msgstr "שגיאה במחיקת שירים" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "שגיאה בהורדת תוסף Spotify" @@ -2270,7 +2225,7 @@ msgstr "עמעום מוזיקה" msgid "Fading duration" msgstr "משך זמן עמעום המוזיקה" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2349,27 +2304,23 @@ msgstr "סיומת הקובץ" msgid "File formats" msgstr "סוג הקובץ" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "שם הקובץ" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "שם הקובץ (ללא נתיב)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "גודל הקובץ" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2379,7 +2330,7 @@ msgstr "סוג הקובץ" msgid "Filename" msgstr "שם הקובץ" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "קבצים" @@ -2391,10 +2342,6 @@ msgstr "קובצי מוזיקה להמרה" msgid "Find songs in your library that match the criteria you specify." msgstr "חיפוש שירים בספרייה על פי קריטריונים מוגדרים." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "ניתוח טביעת האצבע של השיר" @@ -2463,6 +2410,7 @@ msgid "Form" msgstr "טופס" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "תבנית" @@ -2499,7 +2447,7 @@ msgstr "טרבל מלא" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "כללי" @@ -2507,7 +2455,7 @@ msgstr "כללי" msgid "General settings" msgstr "הגדרות כלליות" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2540,11 +2488,11 @@ msgstr "שם עבור הפריט:" msgid "Go" msgstr "מעבר" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "מעבר ללשונית רשימת ההשמעה הבאה" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "מעבר ללשונית רשימת ההשמעה הקודמת" @@ -2598,7 +2546,7 @@ msgstr "קיבוץ על פי סגנון/אלבום" msgid "Group by Genre/Artist/Album" msgstr "קיבוץ על פי סגנון/אמן/אלבום" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2788,11 +2736,11 @@ msgstr "הותקן" msgid "Integrity check" msgstr "בדיקת שלמות" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "אינטרנט" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "ספקי אינטרנט" @@ -2809,6 +2757,10 @@ msgstr "" msgid "Invalid API key" msgstr "מפתח API לא תקין" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "תבנית לא תקינה" @@ -2865,7 +2817,7 @@ msgstr "מסד הנתונים של Jamendo" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "קפיצה לרצועה המתנגנת כעת" @@ -2889,7 +2841,7 @@ msgstr "להמשיך ולהריץ ברקע כאשר החלון סגור" msgid "Keep the original files" msgstr "שמירה על הקבצים המקוריים" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2930,7 +2882,7 @@ msgstr "סרגל צד גדול" msgid "Last played" msgstr "השמעה אחרונה" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2971,12 +2923,12 @@ msgstr "הרצועות הכי פחות אהובות" msgid "Left" msgstr "שמאל" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "אורך" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "ספרייה" @@ -2985,7 +2937,7 @@ msgstr "ספרייה" msgid "Library advanced grouping" msgstr "קיבוץ מתקדם של הספרייה" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "הודעה על סריקה מחודשת של הספרייה" @@ -3025,7 +2977,7 @@ msgstr "טעינת עטיפה מהדיסק..." msgid "Load playlist" msgstr "טעינת רשימת השמעה" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "טעינת רשימת השמעה..." @@ -3061,8 +3013,7 @@ msgstr "נטען מידע אודות השירים" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "בטעינה..." @@ -3071,7 +3022,6 @@ msgstr "בטעינה..." msgid "Loads files/URLs, replacing current playlist" msgstr "טעינת קבצים/כתובות, תוך החלפת רשימת ההשמעה הנוכחית" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3081,8 +3031,7 @@ msgstr "טעינת קבצים/כתובות, תוך החלפת רשימת ההש #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "כניסה" @@ -3090,15 +3039,11 @@ msgstr "כניסה" msgid "Login failed" msgstr "ההתחברות נכשלה" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "פרופיל תחזית ארוכת טווח(LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "אהוב" @@ -3179,7 +3124,7 @@ msgstr "הפרופיל הראשי (ראשי)" msgid "Make it so!" msgstr "ביצוע!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3225,10 +3170,6 @@ msgstr "הכללת כל נתוני החיפוש (AND)" msgid "Match one or more search terms (OR)" msgstr "הכללת נתון אחד או יותר מנתוני החיפוש (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "קצב סיביות מירבי" @@ -3259,6 +3200,10 @@ msgstr "קצב סיביות מזערי" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "חסרות אפשרויות קבועות של projectM" @@ -3279,7 +3224,7 @@ msgstr "השמעת מונו" msgid "Months" msgstr "חודשים" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "מצב רוח" @@ -3292,10 +3237,6 @@ msgstr "סגנון סרגל האווירה" msgid "Moodbars" msgstr "סרגלי אווירה" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "הכי מושמעים" @@ -3313,7 +3254,7 @@ msgstr "נקודות עגינה" msgid "Move down" msgstr "הזזה מטה" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "העברה לספרייה..." @@ -3322,8 +3263,7 @@ msgstr "העברה לספרייה..." msgid "Move up" msgstr "הזזה מעלה" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "מוזיקה" @@ -3332,22 +3272,10 @@ msgid "Music Library" msgstr "ספריית המוזיקה" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "השתקה" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "המוסיקה שלי" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "ההמלצות שלי" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3393,7 +3321,7 @@ msgstr "אין להתחיל להשמיע אף פעם" msgid "New folder" msgstr "תיקייה חדשה" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "רשימת השמעה חדשה" @@ -3422,7 +3350,7 @@ msgid "Next" msgstr "הבא" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "הרצועה הבאה" @@ -3460,7 +3388,7 @@ msgstr "ללא מקטעים קצרים" msgid "None" msgstr "אין" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "אף אחד מהשירים הנבחרים לא היה ראוי להעתקה להתקן" @@ -3509,10 +3437,6 @@ msgstr "לא מחובר" msgid "Not mounted - double click to mount" msgstr "לא מעוגן - יש ללחוץ לחיצה כפולה כדי לעגן" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "סוג התרעות" @@ -3594,7 +3518,7 @@ msgstr "שקיפות" msgid "Open %1 in browser" msgstr "פתיחת %1 בדפדפן" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "פתיחת &דיסק שמע..." @@ -3614,7 +3538,7 @@ msgstr "" msgid "Open device" msgstr "פתיחת התקן" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "פתיחת קובץ..." @@ -3668,7 +3592,7 @@ msgstr "" msgid "Organise Files" msgstr "ארגון קבצים" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "ארגון קבצים..." @@ -3680,7 +3604,7 @@ msgstr "הקבצים מאורגנים" msgid "Original tags" msgstr "תגים מקוריים" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3748,7 +3672,7 @@ msgstr "מסיבה" msgid "Password" msgstr "ססמה" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "השהייה" @@ -3761,7 +3685,7 @@ msgstr "השהיית הנגינה" msgid "Paused" msgstr "מושהה" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3776,14 +3700,14 @@ msgstr "פיקסל" msgid "Plain sidebar" msgstr "סרגל צד פשוט" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "נגינה" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "מונה השמעות" @@ -3814,7 +3738,7 @@ msgstr "אפשרויות נגן" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "רשימת השמעה" @@ -3831,7 +3755,7 @@ msgstr "אפשרויות רשימת ההשמעה" msgid "Playlist type" msgstr "סוג רשימת ההשמעה" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "רשימות השמעה" @@ -3872,11 +3796,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "מאפיינים" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "מאפיינים..." @@ -3936,7 +3860,7 @@ msgid "Previous" msgstr "הקודם" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "רצועה קודמת" @@ -3987,16 +3911,16 @@ msgstr "" msgid "Querying device..." msgstr "התקן מתושאל..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "מנהל התור" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "הוספת הרצועות הנבחרות" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "הוספת הרצועה לתור" @@ -4008,7 +3932,7 @@ msgstr "רדיו (עצמה זהה לכל הרצועות)" msgid "Rain" msgstr "גשם" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4045,7 +3969,7 @@ msgstr "דירוג השיר הנוכחי עם 4 כוכבים" msgid "Rate the current song 5 stars" msgstr "דירוג השיר הנוכחי עם 5 כוכבים" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "דירוג" @@ -4112,7 +4036,7 @@ msgstr "הסרה" msgid "Remove action" msgstr "הסרת הפעולה" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "הסרת כפילויות מרשימת ההשמעה" @@ -4120,15 +4044,7 @@ msgstr "הסרת כפילויות מרשימת ההשמעה" msgid "Remove folder" msgstr "הסרת תיקייה" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "הסרה מהמוסיקה שלי" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "הסרה מרשימת ההשמעה" @@ -4140,7 +4056,7 @@ msgstr "הסר רשימת השמעה" msgid "Remove playlists" msgstr "הסר רשימות השמעה" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4152,7 +4068,7 @@ msgstr "שינוי שם רשימת ההשמעה" msgid "Rename playlist..." msgstr "שינוי שם רשימת ההשמעה..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "מספור הרצועות מחדש על פי הסדר הנוכחי..." @@ -4202,7 +4118,7 @@ msgstr "איכלוס מחדש" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "איפוס" @@ -4243,7 +4159,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4273,8 +4189,9 @@ msgstr "הסרת התקן באופן בטוח" msgid "Safely remove the device after copying" msgstr "הסרת ההתקן באופן בטוח לאחר סיום ההעתקה" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "קצב הדגימה" @@ -4312,7 +4229,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "שמירת רשימת ההשמעה..." @@ -4352,7 +4269,7 @@ msgstr "פרופיל קצב דגימה משתנה (SSR)" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "ניקוד" @@ -4369,12 +4286,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "חיפוש" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4517,7 +4434,7 @@ msgstr "פרטי שרת" msgid "Service offline" msgstr "שירות לא מקוון" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "הגדרת %1 בתור „%2“..." @@ -4526,7 +4443,7 @@ msgstr "הגדרת %1 בתור „%2“..." msgid "Set the volume to percent" msgstr "הגדרת עצמת השמע ל־ אחוזים" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "הגדרת הערך לכל הרצועות הנבחרות..." @@ -4593,7 +4510,7 @@ msgstr "הצגת חיווי מסך נאה" msgid "Show above status bar" msgstr "הצגה מעל לשורת המצב" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "הצגת כל השירים" @@ -4613,16 +4530,12 @@ msgstr "הצגת חוצצים" msgid "Show fullsize..." msgstr "הצגה על מסך מלא..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "הצגה בסייר הקבצים..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4634,27 +4547,23 @@ msgstr "הצגה תחת אמנים שונים" msgid "Show moodbar" msgstr "הצגת סרגל האווירה" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "הצגת כפילויות בלבד" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "הצגת לא מתוייגים בלבד" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "הצגת הצעות חיפוש" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4690,7 +4599,7 @@ msgstr "ערבוב אלבומים" msgid "Shuffle all" msgstr "ערבוב עם הכול" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "ערבוב רשימת ההשמעה" @@ -4726,7 +4635,7 @@ msgstr "סקא" msgid "Skip backwards in playlist" msgstr "דילוג אחורה ברשימת ההשמעה" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "מונה דילוגים" @@ -4734,11 +4643,11 @@ msgstr "מונה דילוגים" msgid "Skip forwards in playlist" msgstr "דילוג קדימה ברשימת ההשמעה" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4770,7 +4679,7 @@ msgstr "רוק קל" msgid "Song Information" msgstr "מידע על השיר" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "מידע על השיר" @@ -4806,7 +4715,7 @@ msgstr "מיון" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "מקור" @@ -4881,7 +4790,7 @@ msgid "Starting..." msgstr "מופעל..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "הפסקה" @@ -4897,7 +4806,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "הפסקה אחרי רצועה זו" @@ -4926,6 +4835,10 @@ msgstr "בעצירה" msgid "Stream" msgstr "מדיה זורמת" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5035,6 +4948,10 @@ msgstr "עטיפת האלבום של השיר המתנגן כעת" msgid "The directory %1 is not valid" msgstr "התיקייה %1 לא חוקית" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "הערך השני חייב להיות גדול יותר מהערך הראשון!" @@ -5053,7 +4970,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "תמה תקופת הניסיון לשרת Subsonic. נא תרומתך לקבלת מפתח רישיון. לפרטים, נא לבקר ב subsonic.org " -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5095,7 +5012,7 @@ msgid "" "continue?" msgstr "קבצים אלו ימחקו מההתקן, האם להמשיך?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5179,7 +5096,7 @@ msgstr "סוג התקן זה לא נתמך: %1" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5198,11 +5115,11 @@ msgstr "החלפה ל/ממצב חיווי נאה" msgid "Toggle fullscreen" msgstr "הפעלה או כיבוי של מסך מלא" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "החלף מצב התור" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "החלפה לscrobbling" @@ -5242,7 +5159,7 @@ msgstr "סך הכל בקשות שנשלחו" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "רצועה" @@ -5251,7 +5168,7 @@ msgstr "רצועה" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "ממיר קבצי המוזיקה" @@ -5288,6 +5205,10 @@ msgstr "כבה" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5313,9 +5234,9 @@ msgstr "לא ניתן להוריד %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "לא ידוע" @@ -5332,11 +5253,11 @@ msgstr "שגיאה לא ידועה" msgid "Unset cover" msgstr "הסרת עטיפה" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5349,15 +5270,11 @@ msgstr "הסרת מינוי" msgid "Upcoming Concerts" msgstr "קונצרטים צפויים" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "עדכון כל הפודקאסטים" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "עדכון תיקיות שהשתנו בספרייה" @@ -5467,7 +5384,7 @@ msgstr "שימוש בנורמליזציה של עצמת השמע" msgid "Used" msgstr "בשימוש" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "מנשק משתמש" @@ -5493,7 +5410,7 @@ msgid "Variable bit rate" msgstr "קצב סיביות משתנה" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "אמנים שונים" @@ -5506,11 +5423,15 @@ msgstr "גרסה %1" msgid "View" msgstr "הצגה" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "מצב אפקטים חזותיים" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "אפקטים חזותיים" @@ -5518,10 +5439,6 @@ msgstr "אפקטים חזותיים" msgid "Visualizations Settings" msgstr "הגדרת אפקטים חזותיים" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "זיהוי פעולות קול" @@ -5544,10 +5461,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5650,7 +5563,7 @@ msgid "" "well?" msgstr "האם ברצונך להעביר גם את שאר השירים באלבום לאמנים שונים?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "האם ברצונך לבצע סריקה חוזרת כעת?" @@ -5666,7 +5579,7 @@ msgstr "" msgid "Wrong username or password." msgstr "שם משתמש או סיסמא שגויים" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/he_IL.po b/src/translations/he_IL.po index 4e7f5f8f9..36c3d5154 100644 --- a/src/translations/he_IL.po +++ b/src/translations/he_IL.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Hebrew (Israel) (http://www.transifex.com/davidsansome/clementine/language/he_IL/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -62,11 +62,6 @@ msgstr "" msgid " songs" msgstr "" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -98,7 +93,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "" @@ -123,7 +118,7 @@ msgstr "" msgid "%1 songs found (showing %2)" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "" @@ -183,7 +178,7 @@ msgstr "" msgid "&Custom" msgstr "" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -191,7 +186,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "" @@ -216,7 +211,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "" @@ -224,15 +219,15 @@ msgstr "" msgid "&None" msgstr "" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -240,7 +235,7 @@ msgstr "" msgid "&Right" msgstr "" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -248,7 +243,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "" @@ -284,7 +279,7 @@ msgstr "" msgid "1 day" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "" @@ -428,11 +423,11 @@ msgstr "" msgid "About %1" msgstr "" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "" @@ -442,7 +437,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -496,19 +491,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "" @@ -516,12 +511,12 @@ msgstr "" msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "" @@ -533,7 +528,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -601,10 +596,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -613,18 +604,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -633,14 +616,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -650,10 +629,6 @@ msgstr "" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -691,7 +666,7 @@ msgstr "" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -704,7 +679,7 @@ msgstr "" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -719,10 +694,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -735,11 +706,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -864,7 +835,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -873,7 +844,7 @@ msgstr "" msgid "Artist" msgstr "" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -944,7 +915,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1001,7 +972,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1054,7 +1026,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1078,19 +1050,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1099,12 +1058,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1143,6 +1096,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1151,19 +1108,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1209,13 +1162,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1348,24 +1301,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1396,15 +1345,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1438,16 +1383,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1471,20 +1416,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1506,6 +1447,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1532,7 +1482,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1618,11 +1568,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1650,7 +1600,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1673,7 +1623,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1681,7 +1631,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1706,11 +1656,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1739,11 +1693,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1790,7 +1744,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1811,7 +1765,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1982,12 +1936,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2000,7 +1954,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2020,10 +1974,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2108,7 +2058,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2121,8 +2071,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2142,6 +2092,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2262,7 +2217,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2341,27 +2296,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2371,7 +2322,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2383,10 +2334,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2455,6 +2402,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2491,7 +2439,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2499,7 +2447,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2532,11 +2480,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2590,7 +2538,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2780,11 +2728,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2801,6 +2749,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2857,7 +2809,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2881,7 +2833,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2922,7 +2874,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2963,12 +2915,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2977,7 +2929,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3017,7 +2969,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3053,8 +3005,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3063,7 +3014,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3073,8 +3023,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3082,15 +3031,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3171,7 +3116,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3217,10 +3162,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3251,6 +3192,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3271,7 +3216,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3284,10 +3229,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3305,7 +3246,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3314,8 +3255,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3324,22 +3264,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3385,7 +3313,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3414,7 +3342,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3452,7 +3380,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3501,10 +3429,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3586,7 +3510,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3606,7 +3530,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3660,7 +3584,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3672,7 +3596,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3740,7 +3664,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3753,7 +3677,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3768,14 +3692,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3806,7 +3730,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3823,7 +3747,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3864,11 +3788,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3928,7 +3852,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3979,16 +3903,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4000,7 +3924,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4037,7 +3961,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4104,7 +4028,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4112,15 +4036,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4132,7 +4048,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4144,7 +4060,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4194,7 +4110,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4235,7 +4151,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4265,8 +4181,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4304,7 +4221,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4344,7 +4261,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4361,12 +4278,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4509,7 +4426,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4518,7 +4435,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4585,7 +4502,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4605,16 +4522,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4626,27 +4539,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4682,7 +4591,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4718,7 +4627,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4726,11 +4635,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4762,7 +4671,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4798,7 +4707,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4873,7 +4782,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4889,7 +4798,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4918,6 +4827,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5027,6 +4940,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5045,7 +4962,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5087,7 +5004,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5171,7 +5088,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5190,11 +5107,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5234,7 +5151,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5243,7 +5160,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5280,6 +5197,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5305,9 +5226,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5324,11 +5245,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5341,15 +5262,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5459,7 +5376,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5485,7 +5402,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5498,11 +5415,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5510,10 +5431,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5536,10 +5453,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5642,7 +5555,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5658,7 +5571,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/hi.po b/src/translations/hi.po index adf349dd4..900d2491f 100644 --- a/src/translations/hi.po +++ b/src/translations/hi.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Hindi (http://www.transifex.com/davidsansome/clementine/language/hi/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -65,11 +65,6 @@ msgstr "सेकंड्स" msgid " songs" msgstr "गाने" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -101,7 +96,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "%1 प्लेलिस्ट (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 चयन किया " @@ -126,7 +121,7 @@ msgstr "%1 गाने mile" msgid "%1 songs found (showing %2)" msgstr "%1 गाने मिले ( %2 प्रदर्शित है )" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 tracks" @@ -186,7 +181,7 @@ msgstr "&kendra" msgid "&Custom" msgstr "&anukul" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -194,7 +189,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&saha" @@ -219,7 +214,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "" @@ -227,15 +222,15 @@ msgstr "" msgid "&None" msgstr "&कोई nahi" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&बंद" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -243,7 +238,7 @@ msgstr "" msgid "&Right" msgstr "&dayen" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -251,7 +246,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "&खीचे कॉलम विंडो फिट करने के लिए" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&upkaran" @@ -287,7 +282,7 @@ msgstr "" msgid "1 day" msgstr "1 din" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 giit" @@ -431,11 +426,11 @@ msgstr "" msgid "About %1" msgstr "" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "" @@ -445,7 +440,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -499,19 +494,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "" @@ -519,12 +514,12 @@ msgstr "" msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "" @@ -536,7 +531,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -604,10 +599,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -616,18 +607,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -636,14 +619,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -653,10 +632,6 @@ msgstr "" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -694,7 +669,7 @@ msgstr "" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -707,7 +682,7 @@ msgstr "" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -722,10 +697,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -738,11 +709,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -867,7 +838,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -876,7 +847,7 @@ msgstr "" msgid "Artist" msgstr "Kalakar" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -947,7 +918,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1004,7 +975,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1057,7 +1029,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1081,19 +1053,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1102,12 +1061,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1146,6 +1099,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1154,19 +1111,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1212,13 +1165,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1351,24 +1304,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1399,15 +1348,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1441,16 +1386,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1474,20 +1419,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1509,6 +1450,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1535,7 +1485,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1621,11 +1571,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1653,7 +1603,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1676,7 +1626,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1684,7 +1634,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1709,11 +1659,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1742,11 +1696,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1793,7 +1747,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1814,7 +1768,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1985,12 +1939,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2003,7 +1957,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2023,10 +1977,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2111,7 +2061,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2124,8 +2074,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2145,6 +2095,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2265,7 +2220,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2344,27 +2299,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2374,7 +2325,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2386,10 +2337,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2458,6 +2405,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2494,7 +2442,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2502,7 +2450,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2535,11 +2483,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2593,7 +2541,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2783,11 +2731,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2804,6 +2752,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2860,7 +2812,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2884,7 +2836,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2925,7 +2877,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2966,12 +2918,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2980,7 +2932,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3020,7 +2972,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3056,8 +3008,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3066,7 +3017,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3076,8 +3026,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3085,15 +3034,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3174,7 +3119,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3220,10 +3165,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3254,6 +3195,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3274,7 +3219,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3287,10 +3232,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3308,7 +3249,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3317,8 +3258,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3327,22 +3267,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3388,7 +3316,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3417,7 +3345,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3455,7 +3383,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3504,10 +3432,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3589,7 +3513,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3609,7 +3533,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3663,7 +3587,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3675,7 +3599,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3743,7 +3667,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3756,7 +3680,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3771,14 +3695,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3809,7 +3733,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3826,7 +3750,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3867,11 +3791,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3931,7 +3855,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3982,16 +3906,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4003,7 +3927,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4040,7 +3964,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4107,7 +4031,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4115,15 +4039,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4135,7 +4051,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4147,7 +4063,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4197,7 +4113,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4238,7 +4154,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4268,8 +4184,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4307,7 +4224,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4347,7 +4264,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4364,12 +4281,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4512,7 +4429,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4521,7 +4438,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4588,7 +4505,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4608,16 +4525,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4629,27 +4542,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4685,7 +4594,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4721,7 +4630,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4729,11 +4638,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4765,7 +4674,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4801,7 +4710,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4876,7 +4785,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4892,7 +4801,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4921,6 +4830,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5030,6 +4943,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5048,7 +4965,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5090,7 +5007,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5174,7 +5091,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5193,11 +5110,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5237,7 +5154,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5246,7 +5163,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5283,6 +5200,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5308,9 +5229,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5327,11 +5248,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5344,15 +5265,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5462,7 +5379,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5488,7 +5405,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5501,11 +5418,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5513,10 +5434,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5539,10 +5456,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5645,7 +5558,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5661,7 +5574,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/hr.po b/src/translations/hr.po index 6438a0a2f..730948b0d 100644 --- a/src/translations/hr.po +++ b/src/translations/hr.po @@ -6,13 +6,13 @@ # gogo , 2010 # gogo , 2010 # PyroCMS HR , 2013 -# gogo , 2013-2016 +# gogo , 2013-2017 # gogo , 2012 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-10-03 19:09+0000\n" -"Last-Translator: gogo \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Croatian (http://www.transifex.com/davidsansome/clementine/language/hr/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -67,11 +67,6 @@ msgstr " sekundi" msgid " songs" msgstr " pjesme" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 pjesma)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -103,7 +98,7 @@ msgstr "%1 na %2" msgid "%1 playlists (%2)" msgstr "%1 popisi izvođenja (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 odabranih od" @@ -128,7 +123,7 @@ msgstr "%1 pronađenih pjesma" msgid "%1 songs found (showing %2)" msgstr "%1 pronađenih pjesama (prikazuje %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 pjesama" @@ -188,7 +183,7 @@ msgstr "&Centriraj" msgid "&Custom" msgstr "&Podešeno" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Dodaci" @@ -196,7 +191,7 @@ msgstr "Dodaci" msgid "&Grouping" msgstr "&Grupiranje" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Pomoć" @@ -221,7 +216,7 @@ msgstr "&Zaključaj ocjenu" msgid "&Lyrics" msgstr "&Tekst pjesame" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Glazba" @@ -229,15 +224,15 @@ msgstr "Glazba" msgid "&None" msgstr "&Nijedan" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Popis izvođenja" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Zatvorite Clementine" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Način ponavljanja" @@ -245,7 +240,7 @@ msgstr "Način ponavljanja" msgid "&Right" msgstr "&Desno" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Način naizmjeničnog sviranja" @@ -253,7 +248,7 @@ msgstr "Način naizmjeničnog sviranja" msgid "&Stretch columns to fit window" msgstr "&Rastegni stupce da stanu u prozor" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Alati" @@ -289,7 +284,7 @@ msgstr "0 piksela" msgid "1 day" msgstr "1 dan" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 pjesma" @@ -433,11 +428,11 @@ msgstr "Prekini" msgid "About %1" msgstr "O %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "O Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "O Qt..." @@ -447,7 +442,7 @@ msgid "Absolute" msgstr "Apsolutne" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Pojedinosti računa" @@ -501,19 +496,19 @@ msgstr "Dodajte novi stream..." msgid "Add directory..." msgstr "Dodajte direktorij..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Dodaj datoteku" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Dodaj datoteku u enkôder" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Dodaj datoteku(e) u enkôder" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Dodajte datoteku..." @@ -521,12 +516,12 @@ msgstr "Dodajte datoteku..." msgid "Add files to transcode" msgstr "Dodajte datoteku za transkôdiranje..." -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Dodajte mapu" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Dodajte mapu..." @@ -538,7 +533,7 @@ msgstr "Dodajte novu mapu" msgid "Add podcast" msgstr "Dodajte podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Dodajte podcast..." @@ -606,10 +601,6 @@ msgstr "Dodajte oznaku brojeva preskakanja pjesme" msgid "Add song title tag" msgstr "Dodajte oznaku naziva pjesme" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Dodaj pjesmu u priručnu memoriju" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Dodajte oznaku broja pjesme" @@ -618,18 +609,10 @@ msgstr "Dodajte oznaku broja pjesme" msgid "Add song year tag" msgstr "Dodajte oznaku godine pjesme" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Dodaj pjesmu u \"Moja glazba\" kada je \"Sviđa mi se\" tipka kliknuta" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Dodajte stream..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Dodaj u Moja glazba" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Dodaj na Spotify popis izvođenja" @@ -638,14 +621,10 @@ msgstr "Dodaj na Spotify popis izvođenja" msgid "Add to Spotify starred" msgstr "Dodaj u Spotify ocjenjeno" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Dodajte na drugi popis izvođenja" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Dodaj u zabilješku" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Dodajte u popis izvođenja" @@ -655,10 +634,6 @@ msgstr "Dodajte u popis izvođenja" msgid "Add to the queue" msgstr "Se odabrati za reprodukciju i dodati na popis izvođenja" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Dodaj korisnika/grupu u zabilješku" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Dodajte radnju Wiimote uređaja" @@ -696,7 +671,7 @@ msgstr "Nakon " msgid "After copying..." msgstr "Nakon kopiranja..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -709,7 +684,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (idealna glasnoća za sve pjesme)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -724,10 +699,6 @@ msgstr "Omot albuma" msgid "Album info on jamendo.com..." msgstr "Album info na jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumi" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumi s omotima" @@ -740,11 +711,11 @@ msgstr "Albumi bez omota" msgid "All" msgstr "Svi" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Sve datoteke" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Sva slava Hypnotoadu!" @@ -869,7 +840,7 @@ msgid "" "the songs of your library?" msgstr "Sigurno želite zapisati statistiku pjesama u datoteke pjesama za sve pjesme u vašoj fonoteci?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -878,7 +849,7 @@ msgstr "Sigurno želite zapisati statistiku pjesama u datoteke pjesama za sve pj msgid "Artist" msgstr "Izvođač" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Info izvođača" @@ -949,7 +920,7 @@ msgstr "Prosječna veličina slike" msgid "BBC Podcasts" msgstr "BBC podcasti" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1006,7 +977,8 @@ msgstr "Najbolje" msgid "Biography" msgstr "Životopis" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Brzina prijenosa" @@ -1059,7 +1031,7 @@ msgstr "Pogledaj..." msgid "Buffer duration" msgstr "Trajanje međuspremnika" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Međupohrana" @@ -1083,19 +1055,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Podrška za CUE listu" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Putanja priručne memorije:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Priručna memorija" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Priručna memorija %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Otkaži" @@ -1104,12 +1063,6 @@ msgstr "Otkaži" msgid "Cancel download" msgstr "Prekini preuzimanje" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha je potrebna.\nProbajte se prijaviti na Vk.com s vašim preglednikom, za popravak problema." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Promijenite omot albuma" @@ -1148,6 +1101,10 @@ msgid "" "songs" msgstr "Promjena postavke mono reprodukcije imati će učinka na sljedeće reproducirane pjesme" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Provjeri za nove nastavke" @@ -1156,19 +1113,15 @@ msgstr "Provjeri za nove nastavke" msgid "Check for updates" msgstr "Provjeri nadopune" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Provjeri ima li nadogradnja" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Odaberite Vk.com direktorij priručne memorije" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Izaberite naziv za svoj pametni popis izvođenja" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Automatski odabir" @@ -1214,13 +1167,13 @@ msgstr "Brisanje" msgid "Clear" msgstr "Isprazni" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Ispraznite popis izvođenja" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1353,24 +1306,20 @@ msgstr "Boje" msgid "Comma separated list of class:level, level is 0-3" msgstr "Zarezom odvojen popis klasa:razina, razina je 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Komentar" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Društveni radio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Završi oznake automatski" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Završite oznake automatski..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1401,15 +1350,11 @@ msgstr "Podesite Spotify ..." msgid "Configure Subsonic..." msgstr "Podesi Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Podesite Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Podesite globalno pretraživanje..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Podesi fonoteku..." @@ -1441,18 +1386,18 @@ msgstr "Spajanje Spotify-a" msgid "" "Connection refused by server, check server URL. Example: " "http://localhost:4040/" -msgstr "Veza je odbijena od strane poslužitelja, provjerite URL poslužitelja. Npr. http://localhost:4040/" +msgstr "Povezivanje je odbijeno od strane poslužitelja, provjerite URL poslužitelja. Npr. http://localhost:4040/" + +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" -msgstr "Veza je istekla, provjerite URL poslužitelja. Npr. http://localhost:4040/" +msgstr "Povezivanje je isteklo, provjerite URL poslužitelja. Npr. http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Poteškoće s povezivanjem ili je zvuk onemogućio vlasnik" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konzola" @@ -1476,20 +1421,16 @@ msgstr "Konvertiraj lossless zvučne datoteke prije slanja na mrežni daljinski msgid "Convert lossless files" msgstr "Konvertiraj lossless datoteke" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopiraj dijeljeni URL u međuspremnik" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopiraj u međuspremnik" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopirajte na uređaj..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopirajte u fonoteku..." @@ -1511,6 +1452,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Nije moguče stvoriti GStreamer element \"%1\" - provjerite imate li sve GStreamer pluginove instalirane" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Nemoguće stvaranje popisa izvođenja" @@ -1537,7 +1487,7 @@ msgstr "Nije moguće otvoriti izlaznu datoteku %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Upravljanje omotima" @@ -1623,11 +1573,11 @@ msgid "" "recover your database" msgstr "Baza podataka je oštećena. Pročitajte na https://github.com/clementine-player/Clementine/wiki/Database-Corruption upute kako obnoviti bazu podataka" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Izrađeno datuma" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Izmjenjeno datuma" @@ -1655,7 +1605,7 @@ msgstr "Smanji glasnoću zvuka" msgid "Default background image" msgstr "Uobičajena slika pozadine" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Zadani uređaj na %1" @@ -1678,7 +1628,7 @@ msgid "Delete downloaded data" msgstr "Obriši preuzete podatke" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Obrišite datoteku" @@ -1686,7 +1636,7 @@ msgstr "Obrišite datoteku" msgid "Delete from device..." msgstr "Obrišite s uređaja..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Obrišite s diska..." @@ -1711,11 +1661,15 @@ msgstr "Obriši izvorne datoteke" msgid "Deleting files" msgstr "Brisanje datoteka" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Uklonite označenu pjesmu s reprodukcije" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Uklonite označenu pjesmu za reprodukciju" @@ -1744,11 +1698,11 @@ msgstr "Naziv uređaja" msgid "Device properties..." msgstr "Mogućnosti uređaja..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Uređaji" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dijalog" @@ -1770,7 +1724,7 @@ msgstr "Korisničko ime" #: ../bin/src/ui_networkproxysettingspage.h:158 msgid "Direct internet connection" -msgstr "Direktna internet veza" +msgstr "Izravan pristup internetu" #: ../bin/src/ui_magnatunedownloaddialog.h:141 #: ../bin/src/ui_transcodedialog.h:216 @@ -1795,7 +1749,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Onemogućeno" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1816,7 +1770,7 @@ msgstr "Mogućnosti zaslona" msgid "Display the on-screen-display" msgstr "Prikaži zaslonski prikaz (OSD)" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Pretražite ponovno cijelu fonoteku" @@ -1987,12 +1941,12 @@ msgstr "Dinamičan naizmjeničan mix" msgid "Edit smart playlist..." msgstr "Uredite pametni popis izvođenja..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Uredi oznaku \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Uredite oznake..." @@ -2005,7 +1959,7 @@ msgid "Edit track information" msgstr "Uredite informacije o pjesmi" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Uredite informacije o pjesmi..." @@ -2025,10 +1979,6 @@ msgstr "E-pošta" msgid "Enable Wii Remote support" msgstr "Omogući podršku Wii Daljinskog upravljanja" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Omogući automatsku priručnu memoriju" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Omogući ekvalizator" @@ -2113,7 +2063,7 @@ msgstr "Upišite ovu IP adresu u aplikaciju za spajanje na Clementine." msgid "Entire collection" msgstr "Cijelu kolekciju" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekvalizator" @@ -2126,8 +2076,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Odgovara --log-levels *: 3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Greška" @@ -2147,6 +2097,11 @@ msgstr "Greška u kopiranju pjesama" msgid "Error deleting songs" msgstr "Greška u brisanju pjesama" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "greška pri preuzimanju Spotify dodatka" @@ -2267,7 +2222,7 @@ msgstr "Utišavanje" msgid "Fading duration" msgstr "Trajanje utišavanja" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Nemoguće čitanje CD uređaja" @@ -2346,27 +2301,23 @@ msgstr "Ekstenzija datoteke" msgid "File formats" msgstr "Format datoteke" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Naziv datoteke" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Naziv datoteke (bez putanje)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Naziv datoteke uzorka:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Putanje datoteke" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Veličina datoteke" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2376,7 +2327,7 @@ msgstr "Vrsta datoteke" msgid "Filename" msgstr "Naziv datoteke" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Datoteke" @@ -2388,10 +2339,6 @@ msgstr "Datoteke za enkôdiranje" msgid "Find songs in your library that match the criteria you specify." msgstr "Pronađite pjesme u svojoj fonoteci koji se poklapa sa zadanim uvjetom." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Potraži ovog izvođača" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Prepoznavanje pjesme" @@ -2460,6 +2407,7 @@ msgid "Form" msgstr "Oblik" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2496,7 +2444,7 @@ msgstr "Pun Treble" msgid "Ge&nre" msgstr "Vrsta &glazbe" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Općenito" @@ -2504,7 +2452,7 @@ msgstr "Općenito" msgid "General settings" msgstr "Opće postavke" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2537,11 +2485,11 @@ msgstr "Upišite naziv streama:" msgid "Go" msgstr "Idi" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Idi na sljedeću karticu popisa izvođenja" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Idi na prijašnju karticu popisa izvođenja" @@ -2595,7 +2543,7 @@ msgstr "Grupiraj po Vrsti glazbe/Albumu" msgid "Group by Genre/Artist/Album" msgstr "Grupiraj po Vrsti glazbe/Izvođaču/Albumu" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2785,11 +2733,11 @@ msgstr "Instaliran" msgid "Integrity check" msgstr "Provjera integriteta" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internet usluge" @@ -2806,6 +2754,10 @@ msgstr "Uvodne pjesme" msgid "Invalid API key" msgstr "Neispravan API ključ" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Neispravan format" @@ -2862,7 +2814,7 @@ msgstr "Jamendo baza podataka" msgid "Jump to previous song right away" msgstr "Skočiti odmah na prijašnju pjesmu" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Prebaci na trenutno reproduciranu pjesmu" @@ -2886,7 +2838,7 @@ msgstr "Nastavi izvođenje u pozadini kada je prozor zatvoren" msgid "Keep the original files" msgstr "Zadrži izvorne datoteke" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Mačići" @@ -2927,7 +2879,7 @@ msgstr "Velika bočna traka" msgid "Last played" msgstr "Zadnje reproducirano" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Zadnje reproducirano" @@ -2968,12 +2920,12 @@ msgstr "Najmanje omiljene pjesme" msgid "Left" msgstr "Lijevo" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Trajanje" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Fonoteka" @@ -2982,7 +2934,7 @@ msgstr "Fonoteka" msgid "Library advanced grouping" msgstr "Napredno grupiranje fonoteke" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Obavijest o ponovnom pretraživanju fonoteke" @@ -3022,7 +2974,7 @@ msgstr "Učitajte omot s diska..." msgid "Load playlist" msgstr "Otvorite popis izvođenja" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Otvorite popis izvođenja..." @@ -3058,8 +3010,7 @@ msgstr "Učitavanje informacija o pjesmi" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Učitavanje..." @@ -3068,7 +3019,6 @@ msgstr "Učitavanje..." msgid "Loads files/URLs, replacing current playlist" msgstr "Učitaj Datoteke/URL, zamijeni trenutni popis izvođenja" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3078,8 +3028,7 @@ msgstr "Učitaj Datoteke/URL, zamijeni trenutni popis izvođenja" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Prijava" @@ -3087,15 +3036,11 @@ msgstr "Prijava" msgid "Login failed" msgstr "Neuspjela prijava" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Odjava" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Profil dugoročnog predviđanja (DP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Sviđa mi se" @@ -3176,14 +3121,14 @@ msgstr "Glavni profil (GLAVNI)" msgid "Make it so!" msgstr "Učinite tako!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Učinite tako!" #: internet/spotify/spotifyservice.cpp:669 msgid "Make playlist available offline" -msgstr "Učini popis izvođenja dostupnim kada je veza prekinuta" +msgstr "Učini popis izvođenja dostupnim kada je povezivanje prekinuto" #: internet/lastfm/lastfmservice.cpp:280 msgid "Malformed response" @@ -3222,10 +3167,6 @@ msgstr "Svaki uvjet za pretragu se mora podudarati (AND)" msgid "Match one or more search terms (OR)" msgstr "Jedan ili više uvjeta za pretragu se mora podudarati (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maksimalno rezultata globalne pretrage" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maksimalna brzina prijenosa" @@ -3256,6 +3197,10 @@ msgstr "Minimalna brzina prijenosa" msgid "Minimum buffer fill" msgstr "Minimalan ispun međuspremnika" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Nedostaju projectM predložci" @@ -3276,7 +3221,7 @@ msgstr "Mono reprodukcija" msgid "Months" msgstr "Mjeseci" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Tonalitet" @@ -3289,10 +3234,6 @@ msgstr "Stil trake tonaliteta" msgid "Moodbars" msgstr "Traka tonaliteta" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Više" - #: library/library.cpp:84 msgid "Most played" msgstr "Najviše reproducirano" @@ -3310,7 +3251,7 @@ msgstr "Točka montiranja" msgid "Move down" msgstr "Pomakni dolje" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Premjesti u fonoteku..." @@ -3319,8 +3260,7 @@ msgstr "Premjesti u fonoteku..." msgid "Move up" msgstr "Pomakni gore" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Glazba" @@ -3329,22 +3269,10 @@ msgid "Music Library" msgstr "Fonoteka" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Utišaj" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Moji albumi" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Moja glazba" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Moje preporuke" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3390,7 +3318,7 @@ msgstr "Nikada ne započinji reprodukciju glazbe" msgid "New folder" msgstr "Nova mapa" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Novi popis izvođenja" @@ -3419,7 +3347,7 @@ msgid "Next" msgstr "Sljedeća pjesma" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Sljedeća pjesma" @@ -3457,7 +3385,7 @@ msgstr "Bez kratkih blokova" msgid "None" msgstr "Ništa" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Nijedna od odabranih pjesama nije prikladna za kopiranje na uređaj" @@ -3506,10 +3434,6 @@ msgstr "Niste prijavljeni" msgid "Not mounted - double click to mount" msgstr "Nije montirano - dva put klikni za montiranje" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Ništa pronađeno" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Vrsta obavijesti" @@ -3591,7 +3515,7 @@ msgstr "Zasjenjenost" msgid "Open %1 in browser" msgstr "Otvori %1 u pregledniku" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Otvorite &glazbeni CD..." @@ -3611,7 +3535,7 @@ msgstr "Otvori direktorij za uvoz glazbe iz" msgid "Open device" msgstr "Otvorite uređaj" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Otvorite datoteku..." @@ -3665,7 +3589,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organizirajte datoteke" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organizirajte datoteke..." @@ -3677,7 +3601,7 @@ msgstr "Organiziranje datoteka" msgid "Original tags" msgstr "Izvorne oznake" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3745,7 +3669,7 @@ msgstr "Party" msgid "Password" msgstr "Lozinka" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pauziraj reprodukciju" @@ -3758,7 +3682,7 @@ msgstr "Pauziraj reprodukciju" msgid "Paused" msgstr "Reprodukcija pauzirana" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3773,14 +3697,14 @@ msgstr "Piksela" msgid "Plain sidebar" msgstr "Jednostavna bočna traka" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Pokreni reprodukciju" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Broj izvođenja" @@ -3811,7 +3735,7 @@ msgstr "Mogućnosti preglednika" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Popis izvođenja" @@ -3828,7 +3752,7 @@ msgstr "Mogućnosti popisa izvođenja" msgid "Playlist type" msgstr "Vrsta popisa izvođenja" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Popis izvođenja" @@ -3869,11 +3793,11 @@ msgstr "Osobitost" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Mogućnosti" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Mogućnosti..." @@ -3933,7 +3857,7 @@ msgid "Previous" msgstr "Prijašnja pjesma" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Prijašnja pjesma" @@ -3984,16 +3908,16 @@ msgstr "Kvaliteta" msgid "Querying device..." msgstr "Tražim uređaj..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Upravljanje odabranim pjesmama za reprodukciju" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Odaberite označenu pjesmu za reprodukciju" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Odaberite pjesmu za reprodukciju" @@ -4005,7 +3929,7 @@ msgstr "Radio (jednaka glasnoća za sve pjesme)" msgid "Rain" msgstr "Kiša" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Kiša" @@ -4042,7 +3966,7 @@ msgstr "Ocjenite trenutnu pjesmu s 4 zvijezdice" msgid "Rate the current song 5 stars" msgstr "Ocjenite trenutnu pjesmu s 5 zvijezdica" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Ocjena" @@ -4109,7 +4033,7 @@ msgstr "Uklonite" msgid "Remove action" msgstr "Uklonite radnju" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Ukloni duplikate iz popisa izvođenja" @@ -4117,15 +4041,7 @@ msgstr "Ukloni duplikate iz popisa izvođenja" msgid "Remove folder" msgstr "Uklonite mapu" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Ukoni iz Moje glazbe" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Ukloni iz zabilješki" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Uklonite iz popisa izvođenja" @@ -4137,7 +4053,7 @@ msgstr "Ukloni popis izvođenja" msgid "Remove playlists" msgstr "Ukloni popise izvođenja" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Ukloni nedostupne pjesme s popisa izvođenja" @@ -4149,7 +4065,7 @@ msgstr "Preimenujte popis izvođenja" msgid "Rename playlist..." msgstr "Preimenujte popis izvođenja..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Promjenite redosljed pjesama ovim redosljedom..." @@ -4199,7 +4115,7 @@ msgstr "Izmješajte pjesme" msgid "Require authentication code" msgstr "Potreban je kôd autentifikacije" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Poništite" @@ -4240,7 +4156,7 @@ msgstr "Ripaj" msgid "Rip CD" msgstr "Ripaj CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Ripaj glazbeni CD" @@ -4270,8 +4186,9 @@ msgstr "Sigurno ukloni uređaj" msgid "Safely remove the device after copying" msgstr "Sigurno ukloni uređaj nakon kopiranja" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Frekvencija" @@ -4309,7 +4226,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Spremite popis izvođenja" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Spremite popis izvođenja..." @@ -4349,7 +4266,7 @@ msgstr "Profil skalabilne brzine uzorkovanja (SBU)" msgid "Scale size" msgstr "Promijeni veličinu" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Pogodci" @@ -4366,12 +4283,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Traži" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Traži" @@ -4514,7 +4431,7 @@ msgstr "Pojedinosti poslužitelja" msgid "Service offline" msgstr "Usluga nedostupna" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Postavite %1 na \"%2\"..." @@ -4523,7 +4440,7 @@ msgstr "Postavite %1 na \"%2\"..." msgid "Set the volume to percent" msgstr "Postavi glasnoću zvuka na posto" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Postavi vrijednosti za sve odabrane pjesme..." @@ -4590,7 +4507,7 @@ msgstr "Prikaži ljepši OSD" msgid "Show above status bar" msgstr "Prikaži iznad statusne trake" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Prikaži sve pjesme" @@ -4610,16 +4527,12 @@ msgstr "Prikaži razdjelnike u stablu fonoteke" msgid "Show fullsize..." msgstr "Prikaži u punoj veličini..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Prikaži grupe u rezultatima globalne pretrage" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Prikaži u pregledniku datoteka..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Prikaži u fonoteci..." @@ -4631,27 +4544,23 @@ msgstr "Prikaži u različitim izvođačima" msgid "Show moodbar" msgstr "Prikaži traku tonaliteta" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Prikaži samo duplicirane pjesme" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Prikaži samo neoznačene pjesme" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Prikaži ili sakrij bočnu traku" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Prikaži pjesmu koja se reproducira na svojoj stranici" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Prikaži prijedloge pretraživanja" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Prikaži bočnu traku" @@ -4687,7 +4596,7 @@ msgstr "Sviraj naizmjenično albume" msgid "Shuffle all" msgstr "Sviraj naizmjenično sve" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Izmješajte popis izvođenja" @@ -4723,7 +4632,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Preskoči unatrag u popisu izvođenja" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Preskoči računanje" @@ -4731,11 +4640,11 @@ msgstr "Preskoči računanje" msgid "Skip forwards in playlist" msgstr "Preskoči unaprijed u popisu izvođenja" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Preskoči odabrane pjesme" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Preskoči pjesmu" @@ -4767,7 +4676,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Informacije o pjesmi" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Info pjesme" @@ -4803,7 +4712,7 @@ msgstr "Razvrstavanje" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Izvor" @@ -4878,7 +4787,7 @@ msgid "Starting..." msgstr "Započinjem..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Zaustavi reprodukciju" @@ -4894,7 +4803,7 @@ msgstr "Zaustavi reprodukciju nakon pojedine pjesme" msgid "Stop after every track" msgstr "Zaustavi reprodukciju nakon svake pjesme" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Zaustavi reprodukciju nakon ove pjesme" @@ -4923,6 +4832,10 @@ msgstr "Reprodukcija zaustavljena" msgid "Stream" msgstr "Stream" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5032,6 +4945,10 @@ msgstr "Omot albuma trenutno reproducirane pjesme" msgid "The directory %1 is not valid" msgstr "Direktorij %1 nije valjan" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Druga vrijednost mora biti veća od prve!" @@ -5050,7 +4967,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Probno razdoblje za Subsonic poslužitelj je završeno. Molim, donirajte za dobivanje ključa licence. Posjetite subsonic.org za više pojedinosti." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5092,7 +5009,7 @@ msgid "" "continue?" msgstr "Ove datoteke bit će obrisane sa uređaja, sigurno želite nastaviti?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5176,7 +5093,7 @@ msgstr "Ova vrst uređaja nije podržana: %1" msgid "Time step" msgstr "Vrijeme preskoka" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5195,11 +5112,11 @@ msgstr "Uključi/Isključi ljepši OSD" msgid "Toggle fullscreen" msgstr "Cijelozaslonski prikaz" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Uključi/isključi stanje reda čekanja" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Uključi/Isključi skrobblanje" @@ -5239,7 +5156,7 @@ msgstr "Ukupno mrežnih zahtjeva" msgid "Trac&k" msgstr "Broj &pjesme" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Broj" @@ -5248,7 +5165,7 @@ msgstr "Broj" msgid "Tracks" msgstr "Pjesme" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Enkôdiranje glazbe" @@ -5285,6 +5202,10 @@ msgstr "Isključivanje" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(ovi)" @@ -5310,9 +5231,9 @@ msgstr "Nije moguće preuzeti %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Nepoznato" @@ -5329,11 +5250,11 @@ msgstr "Nepoznata greška" msgid "Unset cover" msgstr "Uklonite omot" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Ukloni preskakanje odabrane pjesme" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Ukloni preskakanje pjesme" @@ -5346,15 +5267,11 @@ msgstr "Otkažite pretplatu" msgid "Upcoming Concerts" msgstr "Nadolazeći koncerti" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Nadopuna" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Nadopuni sve podcaste" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Nadopuni promjene u mapi fonoteke" @@ -5464,7 +5381,7 @@ msgstr "Koristi normalizaciju glasnoće zvuka" msgid "Used" msgstr "Iskorišteno" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Korisničko sučelje" @@ -5490,7 +5407,7 @@ msgid "Variable bit rate" msgstr "Promjenjiva brzina prijenosa" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Razni izvođači" @@ -5503,11 +5420,15 @@ msgstr "Inačica %1" msgid "View" msgstr "Pogled" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Način vizualizacije" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Vizualizacija" @@ -5515,10 +5436,6 @@ msgstr "Vizualizacija" msgid "Visualizations Settings" msgstr "Mogućnosti vizualizacije" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Detekcija govorne aktivnosti" @@ -5541,10 +5458,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Zid" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Upozori me pri zatvaranju kartice popisa izvođenja" @@ -5647,7 +5560,7 @@ msgid "" "well?" msgstr "Želite li preseliti druge pjesme s ovog albuma u razne izvođače?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Želite li pokrenuti ponovnu potpunu prtetragu odmah?" @@ -5663,7 +5576,7 @@ msgstr "Zapiši metapodatke" msgid "Wrong username or password." msgstr "Pogrešno korisničko ime ili lozinka." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/hu.po b/src/translations/hu.po index b3237dc50..a940bf41a 100644 --- a/src/translations/hu.po +++ b/src/translations/hu.po @@ -17,8 +17,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 13:08+0000\n" -"Last-Translator: Balázs Meskó \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Hungarian (http://www.transifex.com/davidsansome/clementine/language/hu/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -73,11 +73,6 @@ msgstr " másodperc" msgid " songs" msgstr " számok" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 számok)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -109,7 +104,7 @@ msgstr "%1, %2" msgid "%1 playlists (%2)" msgstr "%1 lejátszólista (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 kiválasztva" @@ -134,7 +129,7 @@ msgstr "%1 szám megtalálva" msgid "%1 songs found (showing %2)" msgstr "%1 szám megtalálva (mutatva %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 szám" @@ -194,7 +189,7 @@ msgstr "&Középre" msgid "&Custom" msgstr "&Egyéni" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extrák" @@ -202,7 +197,7 @@ msgstr "&Extrák" msgid "&Grouping" msgstr "Cs&oportosítás" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Súgó" @@ -227,7 +222,7 @@ msgstr "Értékelés &zárolása" msgid "&Lyrics" msgstr "&Dalszövegek" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Zene" @@ -235,15 +230,15 @@ msgstr "&Zene" msgid "&None" msgstr "&Egyik sem" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Lejátszólista" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Kilépés" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Ismétlési mód" @@ -251,7 +246,7 @@ msgstr "&Ismétlési mód" msgid "&Right" msgstr "&Jobbra" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Véletlenszerű lejátszási mód" @@ -259,7 +254,7 @@ msgstr "Véletlenszerű lejátszási mód" msgid "&Stretch columns to fit window" msgstr "&Oszlopszélességek igazítása az ablakhoz" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Eszközök" @@ -295,7 +290,7 @@ msgstr "0px" msgid "1 day" msgstr "1 nap" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 szám" @@ -439,11 +434,11 @@ msgstr "Megállít" msgid "About %1" msgstr "A(z) %1 névjegye" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "A Clementine névjegye" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Qt névjegye…" @@ -453,7 +448,7 @@ msgid "Absolute" msgstr "Abszolút" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Fiók részletek" @@ -507,19 +502,19 @@ msgstr "Új adatfolyam hozzáadása" msgid "Add directory..." msgstr "Mappa hozzáadása" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Új fájl" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Fájl hozzáadása az átkódoláshoz" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Fájl(ok) hozzáadása az átkódoláshoz" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Fájl hozzáadása" @@ -527,12 +522,12 @@ msgstr "Fájl hozzáadása" msgid "Add files to transcode" msgstr "Fájlok felvétele átkódoláshoz" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Mappa hozzáadása" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Mappa hozzáadása..." @@ -544,7 +539,7 @@ msgstr "Új mappa hozzáadása…" msgid "Add podcast" msgstr "Podcast hozzáadása" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Podcast hozzáadása..." @@ -612,10 +607,6 @@ msgstr "Számkihagyás számláló hozzáadása" msgid "Add song title tag" msgstr "Számcím címke hozzáadása" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Szám hozzáadása a gyorsítótárhoz" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Szám sorszámának hozzáadása" @@ -624,18 +615,10 @@ msgstr "Szám sorszámának hozzáadása" msgid "Add song year tag" msgstr "Szám évének hozzáadása" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Szám hozzáadása a Zenéimhez a \"Szeret\" gombot megnyomásakor" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Adatfolyam hozzáadása…" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Hozzáadás a Zenéimhez" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Hozzáadás a Spotify lejátszólistához" @@ -644,14 +627,10 @@ msgstr "Hozzáadás a Spotify lejátszólistához" msgid "Add to Spotify starred" msgstr "Hozzáadás a Spotify csillagozottakhoz" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Hozzáadás másik lejátszólistához" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Add a könyvjelzőkhöz" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Hozzáadás a lejátszólistához" @@ -661,10 +640,6 @@ msgstr "Hozzáadás a lejátszólistához" msgid "Add to the queue" msgstr "Sorbaállít" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Felhasználó/ csoport hozzáadása a könyvjelzőkhöz" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Wiimotedev esemény hozzáadása" @@ -702,7 +677,7 @@ msgstr "Utána" msgid "After copying..." msgstr "Másolás után…" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -715,7 +690,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (ideális hangerő minden számhoz)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -730,10 +705,6 @@ msgstr "Albumborító" msgid "Album info on jamendo.com..." msgstr "Album információ a jamendo.com-ról…" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumok" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumok borítóval" @@ -746,11 +717,11 @@ msgstr "Albumok bórító nélkül" msgid "All" msgstr "Mind" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Minden fájl (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Minden Dicsőség a Hypnotoadnak!" @@ -875,7 +846,7 @@ msgid "" "the songs of your library?" msgstr "Biztos, hogy a szám statisztikákat bele akarod írni az összes fájlba?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -884,7 +855,7 @@ msgstr "Biztos, hogy a szám statisztikákat bele akarod írni az összes fájlb msgid "Artist" msgstr "Előadó" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Előadó infó" @@ -955,7 +926,7 @@ msgstr "Átlagos képméret" msgid "BBC Podcasts" msgstr "BBC podcastok" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1012,7 +983,8 @@ msgstr "Legjobb" msgid "Biography" msgstr "Életrajz" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitráta" @@ -1065,7 +1037,7 @@ msgstr "Tallózás…" msgid "Buffer duration" msgstr "Puffer hossza" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Pufferelés" @@ -1089,19 +1061,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE fájl támogatás" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "A gyorsítótár elérése:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Gyorsítótárazás" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Gyorsítótárazás %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Mégsem" @@ -1110,12 +1069,6 @@ msgstr "Mégsem" msgid "Cancel download" msgstr "Letöltés abbahagyása" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "CAPTCHA azonosítás szükséges.\nPróbálj belépni a böngészőben a Vk.com -ra a probléma megoldásához." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Albumborító módosítása" @@ -1154,6 +1107,10 @@ msgid "" "songs" msgstr "A mono lejátszás bekapcsolása csak a következő zeneszámnál lesz érvényes" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Új epizódok keresése" @@ -1162,19 +1119,15 @@ msgstr "Új epizódok keresése" msgid "Check for updates" msgstr "Frissítések keresése" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Frissítés keresése..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Vk.com gyorsítótár mappa" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Válassz egy nevet az intelligens lejátszólistádnak" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Automatikus választás" @@ -1220,13 +1173,13 @@ msgstr "Tisztítás" msgid "Clear" msgstr "Kiürít" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Lejátszólista ürítése" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1359,24 +1312,20 @@ msgstr "Színek" msgid "Comma separated list of class:level, level is 0-3" msgstr "Vesszővel tagolt lista az osztály:szint pároknak, a szintek 0-3 értékeket vehetnek fel" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Megjegyzés" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Közösségi rádió" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Címkék automatikus kiegészítése" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Címkék automatikus kiegészítése" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1407,15 +1356,11 @@ msgstr "Spotify beállítása..." msgid "Configure Subsonic..." msgstr "Subsonic beállítása..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Vk.com beállítása..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Globális keresés beállítása..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Zenetár beállítása..." @@ -1449,16 +1394,16 @@ msgid "" "http://localhost:4040/" msgstr "A szerver elutasította a kapcsolódást, ellenőrizd a linket. Példa: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Kapcsolat időtúllépés, ellenőrizd a linket. Példa: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Kapcsolat hiba, vagy a felhasználó kikapcsolta az audiót" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konzol" @@ -1482,20 +1427,16 @@ msgstr "Veszteségmentes fájlok kovertálása a távoli szerverre való küldé msgid "Convert lossless files" msgstr "Veszteségmentes fájlok kovertálása" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Megosztott URL másolása a vágólapra" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Másolás vágólapra" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Másolás eszközre..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Másolás a zenetárba..." @@ -1517,6 +1458,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Nem hozható létre a \"%1\" GStreamer objektum. Ellenőrizze, hogy telepített minden szükséges GStreamer modult." +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Nem lehet létrehozni a lejátszólistát" @@ -1543,7 +1493,7 @@ msgstr "A %1 célfájl megnyitása sikertelen" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Borítókezelő" @@ -1629,11 +1579,11 @@ msgid "" "recover your database" msgstr "Adatbázis sérülés található. Kérjük olvassa el a https://github.com/clementine-player/Clementine/wiki/Database-Corruption honlapot további információkért, hogy hogyan állítsa vissza adatbázisát." -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Létrehozás dátuma" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Módosítás dátuma" @@ -1661,7 +1611,7 @@ msgstr "Hangerő csökkentése" msgid "Default background image" msgstr "Alapértelmezett háttérkép" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Alapértelmezett eszköz a következőn: %1" @@ -1684,7 +1634,7 @@ msgid "Delete downloaded data" msgstr "Letöltött adatok törlése" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Fájlok törlése" @@ -1692,7 +1642,7 @@ msgstr "Fájlok törlése" msgid "Delete from device..." msgstr "Törlés az eszközről..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Törlés a lemezről..." @@ -1717,11 +1667,15 @@ msgstr "Az eredeti fájlok törlése" msgid "Deleting files" msgstr "Fájlok törlése" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Kiválasztott számok törlése a sorból" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Szám törlése a sorból" @@ -1750,11 +1704,11 @@ msgstr "Eszköznév" msgid "Device properties..." msgstr "Eszköztulajdonságok..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Eszközök" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Párbeszéd" @@ -1801,7 +1755,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Letiltva" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1822,7 +1776,7 @@ msgstr "Beállítások megtekintése" msgid "Display the on-screen-display" msgstr "OSD mutatása" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Teljes zenetár újraolvasása" @@ -1993,12 +1947,12 @@ msgstr "Dinamikus véletlenszerű mix" msgid "Edit smart playlist..." msgstr "Intelligens lejátszólista szerkesztése…" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "\"%1\" címke szerkesztése..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Címke módosítása..." @@ -2011,7 +1965,7 @@ msgid "Edit track information" msgstr "Száminformációk szerkesztése" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Száminformációk szerkesztése..." @@ -2031,10 +1985,6 @@ msgstr "Email" msgid "Enable Wii Remote support" msgstr "Wii távvezérlő támogatás engedélyezése" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Automatikus gyorsítótárazás engedélyezése" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Hangszínszabályzó engedélyezése" @@ -2119,7 +2069,7 @@ msgstr "Írd be a megadott IP -t a Clementine kapcsolódásához" msgid "Entire collection" msgstr "A teljes kollekció" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Hangszínszabályzó" @@ -2132,8 +2082,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Megegyezik a --log-levels *:3 kapcsolóval" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Hiba" @@ -2153,6 +2103,11 @@ msgstr "Hiba történt a számok másolása közben" msgid "Error deleting songs" msgstr "Hiba történt a számok törlése közben" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Hiba a Spotify beépülő letöltése közben" @@ -2273,7 +2228,7 @@ msgstr "Elhalkulás" msgid "Fading duration" msgstr "Elhalkulás hossza" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Nem lehet olvasni a CD meghajtót" @@ -2352,27 +2307,23 @@ msgstr "Fájlkiterjesztés" msgid "File formats" msgstr "Fájl formátumok" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Fájlnév" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Fájlnév (útvonal nélkül)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Fájlnév minta" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Fájl útvonalak" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Fájlméret" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2382,7 +2333,7 @@ msgstr "Fájltípus" msgid "Filename" msgstr "Fájlnév" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Fájlok" @@ -2394,10 +2345,6 @@ msgstr "Átkódolandó fájlok" msgid "Find songs in your library that match the criteria you specify." msgstr "Azon számok megkeresése, melyek kielégítik az általad megadott feltételeket." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Előadó keresése" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Ujjlenyomat generálása a számhoz" @@ -2466,6 +2413,7 @@ msgid "Form" msgstr "Űrlap" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formátum" @@ -2502,7 +2450,7 @@ msgstr "Teljes magas" msgid "Ge&nre" msgstr "Mű&faj" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Általános" @@ -2510,7 +2458,7 @@ msgstr "Általános" msgid "General settings" msgstr "Általános beállítások" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2543,11 +2491,11 @@ msgstr "Adjon meg egy nevet:" msgid "Go" msgstr "Ugrás" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Váltás a következő lejátszólista lapra" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Váltás az előző lejátszólista lapra" @@ -2601,7 +2549,7 @@ msgstr "Műfaj/Album szerint" msgid "Group by Genre/Artist/Album" msgstr "Műfaj/Előadó/Album szerint" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2791,11 +2739,11 @@ msgstr "Telepítve" msgid "Integrity check" msgstr "Integritás ellenőrzése" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internet szolgáltatók" @@ -2812,6 +2760,10 @@ msgstr "A számokhoz" msgid "Invalid API key" msgstr "Érvénytelen API kulcs" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Érvénytelen formátum" @@ -2868,7 +2820,7 @@ msgstr "Jamendo adatbázis" msgid "Jump to previous song right away" msgstr "Azonnal ugorj az előző számra" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Ugrás a most lejátszott számra" @@ -2892,7 +2844,7 @@ msgstr "Futás a háttérben bezárt ablak esetén is" msgid "Keep the original files" msgstr "Eredeti fájlok megőrzése" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kismacskák" @@ -2933,7 +2885,7 @@ msgstr "Nagy oldalsáv" msgid "Last played" msgstr "Utoljára lejátszva" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Utoljára lejátszva" @@ -2974,12 +2926,12 @@ msgstr "Legkevésbé kedvelt számok" msgid "Left" msgstr "Balra" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Időtartam" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Zenetár" @@ -2988,7 +2940,7 @@ msgstr "Zenetár" msgid "Library advanced grouping" msgstr "Zenetár egyedi csoportosítása" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Zenetár újraolvasási figyelmeztetés" @@ -3028,7 +2980,7 @@ msgstr "Borító betöltése lemezről..." msgid "Load playlist" msgstr "Lejátszólista betöltése" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Lejátszólista betöltése…" @@ -3064,8 +3016,7 @@ msgstr "Szám információk betöltése" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Töltés..." @@ -3074,7 +3025,6 @@ msgstr "Töltés..." msgid "Loads files/URLs, replacing current playlist" msgstr "Fájlok/URL-ek betöltése, lejátszólista cseréje" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3084,8 +3034,7 @@ msgstr "Fájlok/URL-ek betöltése, lejátszólista cseréje" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Bejelentkezés" @@ -3093,15 +3042,11 @@ msgstr "Bejelentkezés" msgid "Login failed" msgstr "Sikertelen bejelentkezés" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Kijelentkezés" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Hosszú távú előrejelzésen alapuló profil (LTP" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Kedvenc" @@ -3182,7 +3127,7 @@ msgstr "Fő profil (MAIN)" msgid "Make it so!" msgstr "Csináld!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Csináld!" @@ -3228,10 +3173,6 @@ msgstr "Illeszkedés minden keresési feltételre (ÉS)" msgid "Match one or more search terms (OR)" msgstr "Illeszkedés legalább egy keresési feltételre (VAGY)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maximum globális keresési eredmény" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maximális bitráta" @@ -3262,6 +3203,10 @@ msgstr "Minimális bitráta" msgid "Minimum buffer fill" msgstr "Minimum puffer" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Hiányzó projectM beállítások" @@ -3282,7 +3227,7 @@ msgstr "Mono lejátszás" msgid "Months" msgstr "Hónap" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Hangulat" @@ -3295,10 +3240,6 @@ msgstr "Hangulatsáv stílus" msgid "Moodbars" msgstr "Hangulatsávok" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Több" - #: library/library.cpp:84 msgid "Most played" msgstr "Gyakran játszott" @@ -3316,7 +3257,7 @@ msgstr "Csatolási pontok" msgid "Move down" msgstr "Mozgatás lefelé" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Áthelyezés a zenetárba..." @@ -3325,8 +3266,7 @@ msgstr "Áthelyezés a zenetárba..." msgid "Move up" msgstr "Mozgatás felfelé" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Zene" @@ -3335,22 +3275,10 @@ msgid "Music Library" msgstr "Zenetár" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Némítás" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Saját albumok" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Zenéim" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Ajánlásaim" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3396,7 +3324,7 @@ msgstr "Soha ne indítsa el a lejátszást" msgid "New folder" msgstr "Új mappa" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Új lejátszólista" @@ -3425,7 +3353,7 @@ msgid "Next" msgstr "Következő" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Következő szám" @@ -3463,7 +3391,7 @@ msgstr "Rövid blokkok nélkül" msgid "None" msgstr "Egyik sem" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Egy kiválasztott szám sem alkalmas az eszközre való másoláshoz" @@ -3512,10 +3440,6 @@ msgstr "Nem vagy bejelentkezve" msgid "Not mounted - double click to mount" msgstr "Nincs csatolva - kattintson duplán a csatoláshoz" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nem talált semmit" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Értesítés módja" @@ -3597,7 +3521,7 @@ msgstr "Átlátszóság" msgid "Open %1 in browser" msgstr "%1 megnyitása a böngészőben" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "&Hang CD megnyitása..." @@ -3617,7 +3541,7 @@ msgstr "Mappa megnyitása zene importáláshoz" msgid "Open device" msgstr "Eszköz megnyitása" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Fájl megnyitása..." @@ -3671,7 +3595,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Fájlok rendezése" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Fájlok rendezése..." @@ -3683,7 +3607,7 @@ msgstr "Fájlok rendezés alatt" msgid "Original tags" msgstr "Eredeti címkék" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3751,7 +3675,7 @@ msgstr "Party" msgid "Password" msgstr "Jelszó" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Szünet" @@ -3764,7 +3688,7 @@ msgstr "Lejátszás szüneteltetése" msgid "Paused" msgstr "Szüneteltetve" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3779,14 +3703,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Egyszerű oldalsáv" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Lejátszás" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Lejátszások száma" @@ -3817,7 +3741,7 @@ msgstr "Lejátszó beállítások" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Lejátszólista" @@ -3834,7 +3758,7 @@ msgstr "Lejátszólista beállítások" msgid "Playlist type" msgstr "Lejátszólista típusa" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Lejátszólista" @@ -3875,11 +3799,11 @@ msgstr "Beállítás" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Beállítások" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Beállítások..." @@ -3939,7 +3863,7 @@ msgid "Previous" msgstr "Előző" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Előző szám" @@ -3990,16 +3914,16 @@ msgstr "Minőség" msgid "Querying device..." msgstr "Eszköz lekérdezése..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Sorkezelő" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Sorba állítja a kiválasztott számokat" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Szám sorba állítása" @@ -4011,7 +3935,7 @@ msgstr "Rádió (egyenlő hangerő minden számhoz)" msgid "Rain" msgstr "Eső" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Eső" @@ -4048,7 +3972,7 @@ msgstr "A most játszott szám értékelése 4 csillaggal" msgid "Rate the current song 5 stars" msgstr "A most játszott szám értékelése 5 csillaggal" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Értékelés" @@ -4115,7 +4039,7 @@ msgstr "Eltávolítás" msgid "Remove action" msgstr "Esemény eltávolítása" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Duplikációk eltávolítása a lejátszólistáról" @@ -4123,15 +4047,7 @@ msgstr "Duplikációk eltávolítása a lejátszólistáról" msgid "Remove folder" msgstr "Mappa eltávolítása" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Eltávolítás a Zenéimből" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Eltávolítás a kedvencekből" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Eltávolítás a lejátszólistáról" @@ -4143,7 +4059,7 @@ msgstr "Lejátszólista eltávolítása" msgid "Remove playlists" msgstr "Lejátszólista eltávolítása" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Az elérhetetlen számok törlése a lejátszólistáról" @@ -4155,7 +4071,7 @@ msgstr "Lejátszólista átnevezése" msgid "Rename playlist..." msgstr "Lejátszólista átnevezése…" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Számok újraszámozása ebben a sorrendben..." @@ -4205,7 +4121,7 @@ msgstr "Újbóli feltöltés" msgid "Require authentication code" msgstr "Hitelesítő kód kérése" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Visszaállítás" @@ -4246,7 +4162,7 @@ msgstr "Beolvasás" msgid "Rip CD" msgstr "CD beolvasása" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Audio CD beolvasása" @@ -4276,8 +4192,9 @@ msgstr "Eszköz biztonságos eltávolítása" msgid "Safely remove the device after copying" msgstr "Eszköz biztonságos eltávolítása másolás után" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Mintavételi sűrűség" @@ -4315,7 +4232,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Lejátszólista mentése" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Lejátszólista mentése..." @@ -4355,7 +4272,7 @@ msgstr "Skálázható mintavételezési profil (SSR)" msgid "Scale size" msgstr "Skála méret" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Pontszám" @@ -4372,12 +4289,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Keresés" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Keresés" @@ -4520,7 +4437,7 @@ msgstr "Szerver részletek" msgid "Service offline" msgstr "A szolgáltatás nem üzemel" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "%1 beállítása \"%2\"-ra/re..." @@ -4529,7 +4446,7 @@ msgstr "%1 beállítása \"%2\"-ra/re..." msgid "Set the volume to percent" msgstr "Hangerő beállítása százalékra" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Érték beállítása minden kiválasztott számnak..." @@ -4596,7 +4513,7 @@ msgstr "Pretty OSD megjelenítése" msgid "Show above status bar" msgstr "Jelenítse meg az állapotsáv fölött" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Minden szám mutatása" @@ -4616,16 +4533,12 @@ msgstr "Elválasztók mutatása" msgid "Show fullsize..." msgstr "Jelenítse meg teljes méretben..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Csoportok mutatása a globális keresési eredmények között" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Mutassa a fájlböngészőben..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Mutasd a zenetárban" @@ -4637,27 +4550,23 @@ msgstr "Jelenítse meg a különböző előadók között" msgid "Show moodbar" msgstr "Hangulatsáv megjelenítése" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Csak az ismétlődések mutatása" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Csak a címke nélküliek mutatása" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Oldalsáv megjelenítése vagy elrejtése" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "A lejátszott szám mutatása" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Keresési javaslatok megjelenítése" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Oldalsáv megjelenítése" @@ -4693,7 +4602,7 @@ msgstr "Albumok összekeverése" msgid "Shuffle all" msgstr "Az összes véletlenszerűen" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Lejátszólista véletlenszerűen" @@ -4729,7 +4638,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Visszalépés a lejátszólistában" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Kihagyások száma" @@ -4737,11 +4646,11 @@ msgstr "Kihagyások száma" msgid "Skip forwards in playlist" msgstr "Léptetés előre a lejátszólistában" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Kiválasztott számok kihagyása" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Szám kihagyása" @@ -4773,7 +4682,7 @@ msgstr "Lágy Rock" msgid "Song Information" msgstr "Száminformációk" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Szám infó" @@ -4809,7 +4718,7 @@ msgstr "Rendezés" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Forrás" @@ -4884,7 +4793,7 @@ msgid "Starting..." msgstr "Indítás…" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Leállít" @@ -4900,7 +4809,7 @@ msgstr "Leállítás a minden egyes szám után" msgid "Stop after every track" msgstr "Leállítás minden szám után" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Leállítás az aktuális szám után" @@ -4929,6 +4838,10 @@ msgstr "Leállítva" msgid "Stream" msgstr "Adatfolyam" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5038,6 +4951,10 @@ msgstr "A jelenleg játszott szám albumborítója" msgid "The directory %1 is not valid" msgstr "A %1 mappa érvénytelen" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "A második éréknek nagyobbnak kell lennie, mint az elsőnek!" @@ -5056,7 +4973,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "A Subsonic szerver próbaideje lejárt. Adakozáshoz, vagy licensz vásárlásához látogasd meg a subsonic.org oldalt." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5098,7 +5015,7 @@ msgid "" "continue?" msgstr "Ezek a fájlok törölve lesznek az eszközről. Biztos benne, hogy folytatja?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5182,7 +5099,7 @@ msgstr "A %1 eszköztípus nem támogatott" msgid "Time step" msgstr "Idő lépés" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5201,11 +5118,11 @@ msgstr "OSD ki-bekapcsolása" msgid "Toggle fullscreen" msgstr "Teljes képernyő" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Sorállapot megjelenítése" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Scrobble funkció váltása" @@ -5245,7 +5162,7 @@ msgstr "Összes hálózati kérés" msgid "Trac&k" msgstr "Szá&m" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Szám" @@ -5254,7 +5171,7 @@ msgstr "Szám" msgid "Tracks" msgstr "Számok" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Zene átkódolása" @@ -5291,6 +5208,10 @@ msgstr "Kikapcsolás" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(-ek)" @@ -5316,9 +5237,9 @@ msgstr "%1 (%2) nem letölthető" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Ismeretlen" @@ -5335,11 +5256,11 @@ msgstr "Ismeretlen hiba" msgid "Unset cover" msgstr "Borító törlése" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "A kiválasztott számok lejátszása" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Szám lejátszása" @@ -5352,15 +5273,11 @@ msgstr "Leiratkozás" msgid "Upcoming Concerts" msgstr "Következő koncertek" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Frissítés" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Összes podcast frissítése" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Megváltozott zenetárbeli könyvtárak frissítése" @@ -5470,7 +5387,7 @@ msgstr "Hangerő normalizálása" msgid "Used" msgstr "Használt" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Kezelőfelület" @@ -5496,7 +5413,7 @@ msgid "Variable bit rate" msgstr "Változó bitráta" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Különböző előadók" @@ -5509,11 +5426,15 @@ msgstr "%1 Verzió" msgid "View" msgstr "Nézet" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Megjelenítés módja" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Megjelenítések" @@ -5521,10 +5442,6 @@ msgstr "Megjelenítések" msgid "Visualizations Settings" msgstr "Megjelenítések Beállításai" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Hangtevékenység felismerése" @@ -5547,10 +5464,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Fal" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Figyelmeztessen a lejátszólista bezárásakor" @@ -5653,7 +5566,7 @@ msgid "" "well?" msgstr "Szeretné a többi számot ebből az albumból áthelyezni a Vegyes előadók közé is?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Akarsz futtatni egy teljes újraolvasást most?" @@ -5669,7 +5582,7 @@ msgstr "Metaadatok írása" msgid "Wrong username or password." msgstr "Érvénytelen felhasználói név vagy jelszó." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/hy.po b/src/translations/hy.po index 697be3da5..ad975ec67 100644 --- a/src/translations/hy.po +++ b/src/translations/hy.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Armenian (http://www.transifex.com/davidsansome/clementine/language/hy/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,11 +63,6 @@ msgstr " վայրկյան" msgid " songs" msgstr " երգ" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -99,7 +94,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "" @@ -124,7 +119,7 @@ msgstr "%1 երգ գտավ" msgid "%1 songs found (showing %2)" msgstr "%1 երգ գտավ (ցույց տրվում է %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "" @@ -184,7 +179,7 @@ msgstr "&Կենտրոն" msgid "&Custom" msgstr "" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -192,7 +187,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Օգնություն" @@ -217,7 +212,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "" @@ -225,15 +220,15 @@ msgstr "" msgid "&None" msgstr "" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Դուրս գալ" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -241,7 +236,7 @@ msgstr "" msgid "&Right" msgstr "&Աջ" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -249,7 +244,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "" @@ -285,7 +280,7 @@ msgstr "" msgid "1 day" msgstr "1 օր" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "" @@ -429,11 +424,11 @@ msgstr "" msgid "About %1" msgstr "" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "" @@ -443,7 +438,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -497,19 +492,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "" @@ -517,12 +512,12 @@ msgstr "" msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "" @@ -534,7 +529,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -602,10 +597,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -614,18 +605,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -634,14 +617,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -651,10 +630,6 @@ msgstr "" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -692,7 +667,7 @@ msgstr "" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -705,7 +680,7 @@ msgstr "" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -720,10 +695,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -736,11 +707,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -865,7 +836,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -874,7 +845,7 @@ msgstr "" msgid "Artist" msgstr "" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -945,7 +916,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1002,7 +973,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1055,7 +1027,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1079,19 +1051,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1100,12 +1059,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1144,6 +1097,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1152,19 +1109,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1210,13 +1163,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1349,24 +1302,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1397,15 +1346,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1439,16 +1384,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1472,20 +1417,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1507,6 +1448,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1533,7 +1483,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1619,11 +1569,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1651,7 +1601,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1674,7 +1624,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1682,7 +1632,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1707,11 +1657,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1740,11 +1694,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1791,7 +1745,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1812,7 +1766,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1983,12 +1937,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2001,7 +1955,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2021,10 +1975,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2109,7 +2059,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2122,8 +2072,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2143,6 +2093,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2263,7 +2218,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2342,27 +2297,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2372,7 +2323,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2384,10 +2335,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2456,6 +2403,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2492,7 +2440,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2500,7 +2448,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2533,11 +2481,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2591,7 +2539,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2781,11 +2729,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2802,6 +2750,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2858,7 +2810,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2882,7 +2834,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2923,7 +2875,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2964,12 +2916,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2978,7 +2930,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3018,7 +2970,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3054,8 +3006,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3064,7 +3015,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3074,8 +3024,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3083,15 +3032,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3172,7 +3117,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3218,10 +3163,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3252,6 +3193,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3272,7 +3217,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3285,10 +3230,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3306,7 +3247,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3315,8 +3256,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3325,22 +3265,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3386,7 +3314,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3415,7 +3343,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3453,7 +3381,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3502,10 +3430,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3587,7 +3511,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3607,7 +3531,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3661,7 +3585,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3673,7 +3597,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3741,7 +3665,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3754,7 +3678,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3769,14 +3693,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3807,7 +3731,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3824,7 +3748,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3865,11 +3789,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3929,7 +3853,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3980,16 +3904,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4001,7 +3925,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4038,7 +3962,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4105,7 +4029,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4113,15 +4037,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4133,7 +4049,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4145,7 +4061,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4195,7 +4111,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4236,7 +4152,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4266,8 +4182,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4305,7 +4222,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4345,7 +4262,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4362,12 +4279,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4510,7 +4427,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4519,7 +4436,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4586,7 +4503,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4606,16 +4523,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4627,27 +4540,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4683,7 +4592,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4719,7 +4628,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4727,11 +4636,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4763,7 +4672,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4799,7 +4708,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4874,7 +4783,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4890,7 +4799,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4919,6 +4828,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5028,6 +4941,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5046,7 +4963,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5088,7 +5005,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5172,7 +5089,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5191,11 +5108,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5235,7 +5152,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5244,7 +5161,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5281,6 +5198,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5306,9 +5227,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5325,11 +5246,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5342,15 +5263,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5460,7 +5377,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5486,7 +5403,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5499,11 +5416,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5511,10 +5432,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5537,10 +5454,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5643,7 +5556,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5659,7 +5572,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/ia.po b/src/translations/ia.po index ebe195802..cb20434a1 100644 --- a/src/translations/ia.po +++ b/src/translations/ia.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Interlingua (http://www.transifex.com/davidsansome/clementine/language/ia/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -65,11 +65,6 @@ msgstr " secundas" msgid " songs" msgstr "" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -101,7 +96,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "" @@ -126,7 +121,7 @@ msgstr "" msgid "%1 songs found (showing %2)" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "" @@ -186,7 +181,7 @@ msgstr "" msgid "&Custom" msgstr "" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -194,7 +189,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Adjuta" @@ -219,7 +214,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musica" @@ -227,15 +222,15 @@ msgstr "&Musica" msgid "&None" msgstr "" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -243,7 +238,7 @@ msgstr "" msgid "&Right" msgstr "" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -251,7 +246,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Instrumen&tos" @@ -287,7 +282,7 @@ msgstr "" msgid "1 day" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "" @@ -431,11 +426,11 @@ msgstr "" msgid "About %1" msgstr "" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "" @@ -445,7 +440,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -499,19 +494,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "" @@ -519,12 +514,12 @@ msgstr "" msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "" @@ -536,7 +531,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -604,10 +599,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -616,18 +607,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -636,14 +619,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -653,10 +632,6 @@ msgstr "" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -694,7 +669,7 @@ msgstr "" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -707,7 +682,7 @@ msgstr "" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -722,10 +697,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -738,11 +709,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -867,7 +838,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -876,7 +847,7 @@ msgstr "" msgid "Artist" msgstr "" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -947,7 +918,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1004,7 +975,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1057,7 +1029,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1081,19 +1053,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1102,12 +1061,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1146,6 +1099,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1154,19 +1111,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1212,13 +1165,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1351,24 +1304,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1399,15 +1348,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1441,16 +1386,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1474,20 +1419,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1509,6 +1450,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1535,7 +1485,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1621,11 +1571,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1653,7 +1603,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1676,7 +1626,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1684,7 +1634,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1709,11 +1659,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1742,11 +1696,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1793,7 +1747,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1814,7 +1768,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1985,12 +1939,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2003,7 +1957,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2023,10 +1977,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2111,7 +2061,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2124,8 +2074,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2145,6 +2095,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2265,7 +2220,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2344,27 +2299,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2374,7 +2325,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2386,10 +2337,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2458,6 +2405,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2494,7 +2442,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2502,7 +2450,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2535,11 +2483,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2593,7 +2541,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2783,11 +2731,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2804,6 +2752,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2860,7 +2812,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2884,7 +2836,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2925,7 +2877,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2966,12 +2918,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2980,7 +2932,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3020,7 +2972,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3056,8 +3008,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3066,7 +3017,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3076,8 +3026,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3085,15 +3034,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3174,7 +3119,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3220,10 +3165,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3254,6 +3195,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3274,7 +3219,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3287,10 +3232,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3308,7 +3249,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3317,8 +3258,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3327,22 +3267,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3388,7 +3316,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3417,7 +3345,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3455,7 +3383,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3504,10 +3432,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3589,7 +3513,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3609,7 +3533,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3663,7 +3587,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3675,7 +3599,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3743,7 +3667,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3756,7 +3680,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3771,14 +3695,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3809,7 +3733,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3826,7 +3750,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3867,11 +3791,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Preferentias" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Preferentias..." @@ -3931,7 +3855,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3982,16 +3906,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4003,7 +3927,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4040,7 +3964,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4107,7 +4031,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4115,15 +4039,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4135,7 +4051,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4147,7 +4063,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4197,7 +4113,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4238,7 +4154,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4268,8 +4184,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4307,7 +4224,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4347,7 +4264,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4364,12 +4281,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4512,7 +4429,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4521,7 +4438,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4588,7 +4505,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4608,16 +4525,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4629,27 +4542,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4685,7 +4594,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4721,7 +4630,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4729,11 +4638,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4765,7 +4674,7 @@ msgstr "" msgid "Song Information" msgstr "Information de canto" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4801,7 +4710,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4876,7 +4785,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4892,7 +4801,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4921,6 +4830,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5030,6 +4943,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5048,7 +4965,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5090,7 +5007,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5174,7 +5091,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5193,11 +5110,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5237,7 +5154,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5246,7 +5163,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5283,6 +5200,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5308,9 +5229,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Incognite" @@ -5327,11 +5248,11 @@ msgstr "Error Incognite" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5344,15 +5265,11 @@ msgstr "De-subscriber" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Actualisar omne podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5462,7 +5379,7 @@ msgstr "" msgid "Used" msgstr "Usate" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Interfacie de usator" @@ -5488,7 +5405,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Varie artistas" @@ -5501,11 +5418,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5513,10 +5434,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5539,10 +5456,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5645,7 +5558,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5661,7 +5574,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/id.po b/src/translations/id.po index 4c605e400..9ce49cd06 100644 --- a/src/translations/id.po +++ b/src/translations/id.po @@ -28,8 +28,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-10-08 16:48+0000\n" -"Last-Translator: zk\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Indonesian (http://www.transifex.com/davidsansome/clementine/language/id/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -84,11 +84,6 @@ msgstr " detik" msgid " songs" msgstr " lagu" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 lagu)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -120,7 +115,7 @@ msgstr "%1 pada %2" msgid "%1 playlists (%2)" msgstr "%1 daftar-putar (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 terpilih dari" @@ -145,7 +140,7 @@ msgstr "%1 lagu ditemukan" msgid "%1 songs found (showing %2)" msgstr "%1 lagu ditemukan (menampilkan %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 trek" @@ -205,7 +200,7 @@ msgstr "&Tengah" msgid "&Custom" msgstr "&Ubahsuai" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Ekstra" @@ -213,7 +208,7 @@ msgstr "&Ekstra" msgid "&Grouping" msgstr "&Pengelompokan" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Bantuan" @@ -238,7 +233,7 @@ msgstr "&Kunci Peringkat" msgid "&Lyrics" msgstr "&Lirik" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musik" @@ -246,15 +241,15 @@ msgstr "&Musik" msgid "&None" msgstr "&Nihil" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Daftar-putar" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Keluar" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Mode pe&rulangan" @@ -262,7 +257,7 @@ msgstr "Mode pe&rulangan" msgid "&Right" msgstr "&Kanan" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Mode &Karau" @@ -270,7 +265,7 @@ msgstr "Mode &Karau" msgid "&Stretch columns to fit window" msgstr "&Regang kolom agar pas dengan jendela" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Perkakas" @@ -306,7 +301,7 @@ msgstr "0px" msgid "1 day" msgstr "1 hari" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 trek" @@ -450,11 +445,11 @@ msgstr "Batal" msgid "About %1" msgstr "Tentang %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Tentang Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Tentang Qt..." @@ -464,7 +459,7 @@ msgid "Absolute" msgstr "Absolut" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Detail akun" @@ -518,19 +513,19 @@ msgstr "Tambah strim lainnya..." msgid "Add directory..." msgstr "Tambah direktori..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Tambah berkas" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Tambah berkas ke transkoder" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Tambah berkas ke transkoder" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Tambah berkas..." @@ -538,12 +533,12 @@ msgstr "Tambah berkas..." msgid "Add files to transcode" msgstr "Tambah berkas untuk ditranskode" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Tambah folder" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Tambah folder..." @@ -555,7 +550,7 @@ msgstr "Tambah folder baru..." msgid "Add podcast" msgstr "Tambah podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Tambah podcast..." @@ -623,10 +618,6 @@ msgstr "Tambahkan jumlah lewatan" msgid "Add song title tag" msgstr "Tambahkan judul lagu" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Tambah lagu ke tembolok" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Tambahkan nomor trek" @@ -635,18 +626,10 @@ msgstr "Tambahkan nomor trek" msgid "Add song year tag" msgstr "Tambahkan tahun rilis" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Tambahkan lagu ke \"Musikku\" ketika tombol \"Cinta\" diklik" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Tambah strim..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Tambahkan ke Musikku" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Tambahkan ke daftar-putar Spotify" @@ -655,14 +638,10 @@ msgstr "Tambahkan ke daftar-putar Spotify" msgid "Add to Spotify starred" msgstr "Tambahkan ke bintang Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Tambahkan ke daftar-putar lainnya" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Tambahkan ke penanda buku" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Tambahkan ke daftar-putar" @@ -672,10 +651,6 @@ msgstr "Tambahkan ke daftar-putar" msgid "Add to the queue" msgstr "Tambahkan ke antrean" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Tambahkan pengguna/grup ke penanda buku" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Tambah tindakan wiimotedev" @@ -713,7 +688,7 @@ msgstr "Setelah " msgid "After copying..." msgstr "Setelah menyalin..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -726,7 +701,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (kenyaringan ideal untuk semua trek)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -741,10 +716,6 @@ msgstr "Sampul album" msgid "Album info on jamendo.com..." msgstr "Info album di jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Album" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Album dengan sampul" @@ -757,11 +728,11 @@ msgstr "Album tanpa sampul" msgid "All" msgstr "Semua" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Semua Berkas (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Seluruh Kejayaan untuk Sang Hypnotoad!" @@ -886,7 +857,7 @@ msgid "" "the songs of your library?" msgstr "Apakah Anda yakin ingin menulis statistik lagu ke dalam berkas lagu untuk semua lagu di pustaka Anda?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -895,7 +866,7 @@ msgstr "Apakah Anda yakin ingin menulis statistik lagu ke dalam berkas lagu untu msgid "Artist" msgstr "Artis" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Info artis" @@ -966,7 +937,7 @@ msgstr "Ukuran gambar rerata" msgid "BBC Podcasts" msgstr "Podcast BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1023,7 +994,8 @@ msgstr "Terbaik" msgid "Biography" msgstr "Biografi" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Laju bit" @@ -1076,7 +1048,7 @@ msgstr "Ramban..." msgid "Buffer duration" msgstr "Durasi Bufer" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Membufer..." @@ -1100,19 +1072,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Dukungan lembar CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Lokasi tembolok:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Tembolok" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Tembolok %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Batal" @@ -1121,12 +1080,6 @@ msgstr "Batal" msgid "Cancel download" msgstr "Batalkan unduhan" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha dibutuhkan.\nCoba masuk ke Vk.com dengan peramban Anda untuk menyelesaikan masalah ini." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Ubah sampul album" @@ -1165,6 +1118,10 @@ msgid "" "songs" msgstr "Mengubah preferensi pemutaran mono akan berlaku untuk lagu selanjutnya" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Periksa episode baru" @@ -1173,19 +1130,15 @@ msgstr "Periksa episode baru" msgid "Check for updates" msgstr "Periksa pembaruan" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Periksa pembaruan..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Pilih direktori tembolok Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Pilih sebuah nama untuk daftar-putar cerdas Anda" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Pilih secara otomatis" @@ -1231,13 +1184,13 @@ msgstr "Pembersihan" msgid "Clear" msgstr "Bersihkan" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Bersihkan daftar-putar" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1370,24 +1323,20 @@ msgstr "Warna" msgid "Comma separated list of class:level, level is 0-3" msgstr "Daftar yang dipisahkan koma dari kelas:level, level adalah 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Komentar" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Radio Komunitas" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Lengkapi tag secara otomatis" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Lengkapi tag secara otomatis..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1418,15 +1367,11 @@ msgstr "Konfigurasi Spotify..." msgid "Configure Subsonic..." msgstr "Konfigurasi Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Konfigurasi Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Konfigurasi pencarian global..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Konfigurasi pustaka..." @@ -1460,16 +1405,16 @@ msgid "" "http://localhost:4040/" msgstr "Koneksi ditolak oleh server, periksa URL server. Contoh: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Koneksi melewati batas waktu, periksa URL server. Contoh: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Koneksi bermasalah atau audio dinonaktifkan oleh pemiliknya" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsol" @@ -1493,20 +1438,16 @@ msgstr "Konversi berkas audio nirsusut sebelum mengirim mereka ke rajuh." msgid "Convert lossless files" msgstr "Konversi berkas nirsusut" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Salin url berbagi ke papan klip" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Salin ke papan klip" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Salin ke perangkat..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Salin ke pustaka..." @@ -1528,6 +1469,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Tidak dapat membuat elemen GStreamer \"%1\" - pastikan Anda memiliki semua plugin GStreamer yang dibutuhkan terpasang" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Tidak bisa membuat daftar-putar" @@ -1554,7 +1504,7 @@ msgstr "Tidak dapat membuka berkas keluaran %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Pengelola Sampul" @@ -1640,11 +1590,11 @@ msgid "" "recover your database" msgstr "Kerusakan basis data terdeteksi. Mohon baca https://github.com/clementine-player/Clementine/wiki/Database-Corruption untuk petunjuk bagaimana cara untuk memulihkan basis data Anda" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Tanggal dibuat" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Tanggal diubah" @@ -1672,7 +1622,7 @@ msgstr "Kurangi volume" msgid "Default background image" msgstr "Gambar latar belakang bawaan" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Perangkat bawaan pada %1" @@ -1695,7 +1645,7 @@ msgid "Delete downloaded data" msgstr "Hapus data yang sudah diunduh" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Hapus berkas" @@ -1703,7 +1653,7 @@ msgstr "Hapus berkas" msgid "Delete from device..." msgstr "Hapus dari perangkat..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Hapus dari diska..." @@ -1728,11 +1678,15 @@ msgstr "Hapus berkas yang asli" msgid "Deleting files" msgstr "Menghapus berkas" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Buang antrean trek terpilih" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Buang antrean trek" @@ -1761,11 +1715,11 @@ msgstr "Nama perangkat" msgid "Device properties..." msgstr "Properti perangkat..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Perangkat" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialog" @@ -1812,7 +1766,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Nonfungsi" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1833,7 +1787,7 @@ msgstr "Opsi tampilan" msgid "Display the on-screen-display" msgstr "Tampilkan tampilan-pada-layar" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Lakukan pemindaian ulang pustaka menyeluruh" @@ -2004,12 +1958,12 @@ msgstr "Miks acak dinamis" msgid "Edit smart playlist..." msgstr "Sunting daftar-putar cerdas..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Sunting tag \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Sunting tag..." @@ -2022,7 +1976,7 @@ msgid "Edit track information" msgstr "Sunting informasi trek" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Sunting informasi trek..." @@ -2042,10 +1996,6 @@ msgstr "Surel" msgid "Enable Wii Remote support" msgstr "Fungsikan dukungan Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Fungsikan tembolok otomatis" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Fungsikan ekualiser" @@ -2130,7 +2080,7 @@ msgstr "Masukan IP ini dalam Apl untuk menyambung ke Clementine." msgid "Entire collection" msgstr "Semua koleksi" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekualiser" @@ -2143,8 +2093,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Setara dengan --log-level *: 3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Galat" @@ -2164,6 +2114,11 @@ msgstr "Galat menyalin lagu" msgid "Error deleting songs" msgstr "Galat menghapus lagu" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Galat mengunduh plugin Spotify" @@ -2284,7 +2239,7 @@ msgstr "Melesap" msgid "Fading duration" msgstr "Durasi lesap" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Gagal membaca penggerak CD" @@ -2363,27 +2318,23 @@ msgstr "Ekstensi berkas" msgid "File formats" msgstr "Format berkas" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nama berkas" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Nama berkas (tanpa jalur)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Pola nama berkas:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Lokasi berkas" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Ukuran berkas" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2393,7 +2344,7 @@ msgstr "Jenis berkas" msgid "Filename" msgstr "Nama berkas" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Berkas" @@ -2405,10 +2356,6 @@ msgstr "Berkas untuk ditranskode" msgid "Find songs in your library that match the criteria you specify." msgstr "Temukan lagu di pustaka Anda yang sesuai dengan kriteria yang Anda tetapkan." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Temukan artis ini" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Sidik jari lagu" @@ -2477,6 +2424,7 @@ msgid "Form" msgstr "Form" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2513,7 +2461,7 @@ msgstr "Treble Penuh" msgid "Ge&nre" msgstr "Ge&nre" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Umum" @@ -2521,7 +2469,7 @@ msgstr "Umum" msgid "General settings" msgstr "Setelan umum" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2554,11 +2502,11 @@ msgstr "Berikan nama:" msgid "Go" msgstr "Jalankan" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Buka tab daftar-putar selanjutnya" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Buka tab daftar-putar sebelumnya" @@ -2612,7 +2560,7 @@ msgstr "Grup berdasarkan Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Grup berdasarkan Genre/Artis/Album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2802,11 +2750,11 @@ msgstr "Terpasang" msgid "Integrity check" msgstr "Periksa integritas" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Penyedia internet" @@ -2823,6 +2771,10 @@ msgstr "Trek intro" msgid "Invalid API key" msgstr "Kunci API tidak valid" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Format tidak valid" @@ -2879,7 +2831,7 @@ msgstr "Basis data Jamendo" msgid "Jump to previous song right away" msgstr "Lompat ke lagu sebelumnya sesegera" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Lompat ke trek yang sedang diputar" @@ -2903,7 +2855,7 @@ msgstr "Tetap jalankan di belakang layar ketika jendela ditutup" msgid "Keep the original files" msgstr "Simpan berkas yang asli" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Anak kucing" @@ -2944,7 +2896,7 @@ msgstr "Bilah sisi besar" msgid "Last played" msgstr "Terakhir diputar" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Terakhir diputar" @@ -2985,12 +2937,12 @@ msgstr "Trek favorit tersedikit" msgid "Left" msgstr "Kiri" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Durasi" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Pustaka" @@ -2999,7 +2951,7 @@ msgstr "Pustaka" msgid "Library advanced grouping" msgstr "Pengelompokan pustaka lanjutan" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Pemberitahuan pemindaian ulang pustaka" @@ -3039,7 +2991,7 @@ msgstr "Muat sampul dari diska..." msgid "Load playlist" msgstr "Muat daftar-putar" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Muat daftar-putar..." @@ -3075,8 +3027,7 @@ msgstr "Memuat info trek" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Memuat..." @@ -3085,7 +3036,6 @@ msgstr "Memuat..." msgid "Loads files/URLs, replacing current playlist" msgstr "Muat berkas/URL, menggantikan daftar-putar saat ini" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3095,8 +3045,7 @@ msgstr "Muat berkas/URL, menggantikan daftar-putar saat ini" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Masuk" @@ -3104,15 +3053,11 @@ msgstr "Masuk" msgid "Login failed" msgstr "Gagal masuk" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Keluar" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Profil prediksi jangka panjang (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Suka" @@ -3193,7 +3138,7 @@ msgstr "Profil utama (MAIN)" msgid "Make it so!" msgstr "Buatlah begitu!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Buatlah begitu!" @@ -3239,10 +3184,6 @@ msgstr "Cocok setiap lema pencarian (AND)" msgid "Match one or more search terms (OR)" msgstr "Cocok satu atau lebih lema pencarian (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Hasil pencarian global maks" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Lajubit maksimum" @@ -3273,6 +3214,10 @@ msgstr "Lajubit minimum" msgid "Minimum buffer fill" msgstr "Minimum pengisian bufer" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Kehilangan prasetel projectM" @@ -3293,7 +3238,7 @@ msgstr "Pemutaran mono" msgid "Months" msgstr "Bulan" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Mood" @@ -3306,10 +3251,6 @@ msgstr "Gaya moodbar" msgid "Moodbars" msgstr "Moodbar" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Lebih banyak" - #: library/library.cpp:84 msgid "Most played" msgstr "Paling sering diputar" @@ -3327,7 +3268,7 @@ msgstr "Titik kait" msgid "Move down" msgstr "Pindah turun" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Pindah ke pustaka..." @@ -3336,8 +3277,7 @@ msgstr "Pindah ke pustaka..." msgid "Move up" msgstr "Pindah naik" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musik" @@ -3346,22 +3286,10 @@ msgid "Music Library" msgstr "Pustaka Musik" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Bisu" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Albumku" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Musikku" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Rekomendasiku" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3407,7 +3335,7 @@ msgstr "Jangan mulai memutar" msgid "New folder" msgstr "Folder baru" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Daftar-putar baru" @@ -3436,7 +3364,7 @@ msgid "Next" msgstr "Lanjut" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Trek selanjutnya" @@ -3474,7 +3402,7 @@ msgstr "Tanpa blok pendek" msgid "None" msgstr "Nihil" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Tidak satu pun dari lagu yang dipilih cocok untuk disalin ke perangkat" @@ -3523,10 +3451,6 @@ msgstr "Belum masuk" msgid "Not mounted - double click to mount" msgstr "Tidak terkait - klik ganda untuk mengait" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Tidak menemukan apapun" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Tipe notifikasi" @@ -3608,7 +3532,7 @@ msgstr "Kelegapan" msgid "Open %1 in browser" msgstr "Buka %1 di peramban" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Buka CD &audio..." @@ -3628,7 +3552,7 @@ msgstr "Buka sebuah direktori untuk mengimpor musik dari" msgid "Open device" msgstr "Buka perangkat" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Buka berkas..." @@ -3682,7 +3606,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Atur Berkas" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Atur berkas..." @@ -3694,7 +3618,7 @@ msgstr "Mengatur berkas" msgid "Original tags" msgstr "Tag asli" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3762,7 +3686,7 @@ msgstr "Pesta" msgid "Password" msgstr "Sandi" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Jeda" @@ -3775,7 +3699,7 @@ msgstr "Jeda pemutaran" msgid "Paused" msgstr "Jeda" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3790,14 +3714,14 @@ msgstr "Piksel" msgid "Plain sidebar" msgstr "Bilah sisi polos" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Putar" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Jumlah putar" @@ -3828,7 +3752,7 @@ msgstr "Opsi pemutar" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Daftar-putar" @@ -3845,7 +3769,7 @@ msgstr "Opsi daftar-putar" msgid "Playlist type" msgstr "Tipe daftar-putar" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Daftar-putar" @@ -3886,11 +3810,11 @@ msgstr "Preferensi" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Preferensi" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Preferensi..." @@ -3950,7 +3874,7 @@ msgid "Previous" msgstr "Sebelumnya" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Trek sebelumnya" @@ -4001,16 +3925,16 @@ msgstr "Kualitas" msgid "Querying device..." msgstr "Meminta perangkat..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Pengelola antrean" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Antre trek terpilih" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Antre trek" @@ -4022,7 +3946,7 @@ msgstr "Radio (kenyaringan sama untuk semua trek)" msgid "Rain" msgstr "Hujan" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Hujan" @@ -4059,7 +3983,7 @@ msgstr "Nilai lagu saat ini 4 bintang" msgid "Rate the current song 5 stars" msgstr "Nilai lagu saat ini 5 bintang" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Peringkat" @@ -4126,7 +4050,7 @@ msgstr "Buang" msgid "Remove action" msgstr "Buang tindakan" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Buang duplikat dari daftar-putar" @@ -4134,15 +4058,7 @@ msgstr "Buang duplikat dari daftar-putar" msgid "Remove folder" msgstr "Buang folder" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Buang dari Musikku" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Buang dari penanda buku" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Buang dari daftar-putar" @@ -4154,7 +4070,7 @@ msgstr "Buang daftar-putar" msgid "Remove playlists" msgstr "Buang daftar-putar" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Buang trek yang tidak tersedia dari daftar-putar" @@ -4166,7 +4082,7 @@ msgstr "Ubah nama daftar-putar" msgid "Rename playlist..." msgstr "Ubah nama daftar-putar.." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Beri nomor baru trek dalam urutan ini..." @@ -4216,7 +4132,7 @@ msgstr "Populasi ulang" msgid "Require authentication code" msgstr "Membutuhkan kode otentikasi" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Setel-ulang" @@ -4257,7 +4173,7 @@ msgstr "Rabit" msgid "Rip CD" msgstr "Rabit CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Rabit CD audio" @@ -4287,8 +4203,9 @@ msgstr "Secara aman melepas perangkat" msgid "Safely remove the device after copying" msgstr "Secara aman melepas perangkat setelah menyalin" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Laju sampel" @@ -4326,7 +4243,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Simpan daftar-putar" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Simpan daftar-putar..." @@ -4366,7 +4283,7 @@ msgstr "Profil laju sampel terukur (LST)" msgid "Scale size" msgstr "Ukuran skala" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Nilai" @@ -4383,12 +4300,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Cari" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Cari" @@ -4531,7 +4448,7 @@ msgstr "Detail server" msgid "Service offline" msgstr "Layanan luring" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Tetapkan %1 ke \"%2\"..." @@ -4540,7 +4457,7 @@ msgstr "Tetapkan %1 ke \"%2\"..." msgid "Set the volume to percent" msgstr "Tetapkan volume ke persen" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Tetapkan nilai untuk semua trek terpilih..." @@ -4607,7 +4524,7 @@ msgstr "Tampilkan OSD cantik" msgid "Show above status bar" msgstr "Tampilkan di atas bilah status" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Tampilkan semua lagu" @@ -4627,16 +4544,12 @@ msgstr "Tampilkan pembagi" msgid "Show fullsize..." msgstr "Tampilkan ukuran penuh..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Tampilkan grup di dalam hasil pencarian global" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Tampilkan di peramban berkas..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Tampilkan di pustaka..." @@ -4648,27 +4561,23 @@ msgstr "Tampilkan di artis beragam" msgid "Show moodbar" msgstr "Tampilkan moodbar" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Tampilkan hanya duplikat" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Tampilkan hanya tidak bertag" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Tampil atau sembunyikan bilah sisi" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Tampilkan lagu yang diputar di halaman Anda" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Tampilkan saran pencarian" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Tampilkan bilah sisi" @@ -4704,7 +4613,7 @@ msgstr "Karau album" msgid "Shuffle all" msgstr "Karau semua" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Karau daftar-putar" @@ -4740,7 +4649,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Lewati mundur di dalam daftar-putar" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Lewati hitungan" @@ -4748,11 +4657,11 @@ msgstr "Lewati hitungan" msgid "Skip forwards in playlist" msgstr "Lewati maju di dalam daftar-putar" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Lewati trek yang dipilih" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Lewati trek" @@ -4784,7 +4693,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Informasi Lagu" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Info lagu" @@ -4820,7 +4729,7 @@ msgstr "Mengurutkan" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Sumber" @@ -4895,7 +4804,7 @@ msgid "Starting..." msgstr "Memulai..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Berhenti" @@ -4911,7 +4820,7 @@ msgstr "Berhenti setelah masing-masing trek" msgid "Stop after every track" msgstr "Berhenti setelah setiap trek" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Berhenti setelah trek ini" @@ -4940,6 +4849,10 @@ msgstr "Berhenti" msgid "Stream" msgstr "Strim" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5049,6 +4962,10 @@ msgstr "Sampul album dari lagu yang diputar saat ini" msgid "The directory %1 is not valid" msgstr "Direktori %1 tidak valid" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Nilai kedua harus lebih besar dari yang pertama!" @@ -5067,7 +4984,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Masa uji coba untuk server Subsonic telah berakhir. Mohon donasi untuk mendapatkan kunci lisensi. Kunjungi subsonic.org untuk lebih perinci." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5109,7 +5026,7 @@ msgid "" "continue?" msgstr "Berkas-berkas ini akan dihapus dari perangkat, apakah Anda yakin ingin melanjutkan?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5193,7 +5110,7 @@ msgstr "Tipe perangkat ini tidak didukung: %1" msgid "Time step" msgstr "Selang waktu" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5212,11 +5129,11 @@ msgstr "Jungkit Pretty OSD" msgid "Toggle fullscreen" msgstr "Jungkit layar penuh" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Jungkit status antrean" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Jungkit scrobbling" @@ -5256,7 +5173,7 @@ msgstr "Total permintaan jaringan yang dibuat" msgid "Trac&k" msgstr "Tre&k" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Trek" @@ -5265,7 +5182,7 @@ msgstr "Trek" msgid "Tracks" msgstr "Trek" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transkode Musik" @@ -5302,6 +5219,10 @@ msgstr "Matikan" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL" @@ -5327,9 +5248,9 @@ msgstr "Tidak dapat mengunduh %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Tidak diketahui" @@ -5346,11 +5267,11 @@ msgstr "Galat tidak diketahui" msgid "Unset cover" msgstr "Tak set sampul" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Taklewati trek yang dipilih" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Taklewati trek" @@ -5363,15 +5284,11 @@ msgstr "Taklangganan" msgid "Upcoming Concerts" msgstr "Konser Mendatang" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Perbarui" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Perbarui semua podcast" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Perbarui perubahan folder pustaka " @@ -5481,7 +5398,7 @@ msgstr "Gunakan normalisasi volume" msgid "Used" msgstr "Bekas" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Antarmuka" @@ -5507,7 +5424,7 @@ msgid "Variable bit rate" msgstr "Laju bit beragam" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Artis beraga" @@ -5520,11 +5437,15 @@ msgstr "Versi %1" msgid "View" msgstr "Tampilan" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Mode visualisasi" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualisasi" @@ -5532,10 +5453,6 @@ msgstr "Visualisasi" msgid "Visualizations Settings" msgstr "Setelan Visualisasi" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Deteksi aktivitas suara" @@ -5558,10 +5475,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Dinding" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Peringatkan saya ketika menutup tab daftar-putar" @@ -5664,7 +5577,7 @@ msgid "" "well?" msgstr "Apakah Anda ingin memindahkan lagu lainnya di dalam album ini ke Artis Beragam?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Apakah Anda ingin menjalankan pemindaian ulang menyeluruh sekarang?" @@ -5680,7 +5593,7 @@ msgstr "Menulis metadata" msgid "Wrong username or password." msgstr "Nama pengguna dan sandi salah." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/is.po b/src/translations/is.po index 202d63727..c163f0490 100644 --- a/src/translations/is.po +++ b/src/translations/is.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Icelandic (http://www.transifex.com/davidsansome/clementine/language/is/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -66,11 +66,6 @@ msgstr " sekúndur" msgid " songs" msgstr " lög" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 lög)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -102,7 +97,7 @@ msgstr "%1 á %2" msgid "%1 playlists (%2)" msgstr "%1 lagalistar (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 valið af" @@ -127,7 +122,7 @@ msgstr "%1 lög fundin" msgid "%1 songs found (showing %2)" msgstr "%1 lög fundin (sýni %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 lög" @@ -187,7 +182,7 @@ msgstr "&Miðjað" msgid "&Custom" msgstr "&Sérsnið" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -195,7 +190,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Hjálp" @@ -220,7 +215,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Tónlist" @@ -228,15 +223,15 @@ msgstr "&Tónlist" msgid "&None" msgstr "&Ekkert" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Laglisti" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Hætta" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -244,7 +239,7 @@ msgstr "" msgid "&Right" msgstr "&Hægri" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -252,7 +247,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "&Teygja á dálkum til að koma glugga fyrir" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "" @@ -288,7 +283,7 @@ msgstr "" msgid "1 day" msgstr "1 dagur" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 lag" @@ -432,11 +427,11 @@ msgstr "Um" msgid "About %1" msgstr "Um %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Um Clementine" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Um Qt..." @@ -446,7 +441,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Nánar um notanda" @@ -500,19 +495,19 @@ msgstr "Bæta við öðrum straumi" msgid "Add directory..." msgstr "Bæta við möppu..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Bæta við skrá..." @@ -520,12 +515,12 @@ msgstr "Bæta við skrá..." msgid "Add files to transcode" msgstr "Bæta við skrá til að millikóða" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Bæta við möppu" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Bæta við möppu..." @@ -537,7 +532,7 @@ msgstr "Bæta við nýrri möppu..." msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -605,10 +600,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -617,18 +608,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Bæta við straumi..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Bæta við mína tónlist" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -637,14 +620,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Bæta við lagalista" @@ -654,10 +633,6 @@ msgstr "Bæta við lagalista" msgid "Add to the queue" msgstr "Bæta við biðröð" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Bæta við wiimotedev ferli" @@ -695,7 +670,7 @@ msgstr "Eftir" msgid "After copying..." msgstr "Eftir afritun..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -708,7 +683,7 @@ msgstr "Plata" msgid "Album (ideal loudness for all tracks)" msgstr "Plata (kjörstyrkur hljóðs fyrir öll lög)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -723,10 +698,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "Plötuupplýsingar á jamendo.com" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Plötur með plötuumslagi" @@ -739,11 +710,11 @@ msgstr "Plötur án plötuumslaga" msgid "All" msgstr "Allt" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Allar skrár (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -868,7 +839,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -877,7 +848,7 @@ msgstr "" msgid "Artist" msgstr "Flytjandi" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Upplýsingar um höfund" @@ -948,7 +919,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1005,7 +976,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1058,7 +1030,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1082,19 +1054,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Hætta við" @@ -1103,12 +1062,6 @@ msgstr "Hætta við" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1147,6 +1100,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1155,19 +1112,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Velja sjálfvirkt" @@ -1213,13 +1166,13 @@ msgstr "" msgid "Clear" msgstr "Hreinsa" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Hreinsa lagalista" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1352,24 +1305,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1400,15 +1349,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1442,16 +1387,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1475,20 +1420,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Afrita til tæki..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1510,6 +1451,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1536,7 +1486,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1622,11 +1572,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1654,7 +1604,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1677,7 +1627,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Eyða skrám" @@ -1685,7 +1635,7 @@ msgstr "Eyða skrám" msgid "Delete from device..." msgstr "Eyða frá tæki..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Eyða frá diski..." @@ -1710,11 +1660,15 @@ msgstr "Eyða upprunalegum skrám" msgid "Deleting files" msgstr "Eyði gögnum" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1743,11 +1697,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Tæki" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1794,7 +1748,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1815,7 +1769,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1986,12 +1940,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2004,7 +1958,7 @@ msgid "Edit track information" msgstr "Breyta upplýsingum um lag" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Breyta upplýsingum um lag..." @@ -2024,10 +1978,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2112,7 +2062,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Tónjafnari" @@ -2125,8 +2075,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Villa" @@ -2146,6 +2096,11 @@ msgstr "Villa við afritun laga" msgid "Error deleting songs" msgstr "Villa við eyðingu laga" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Villa kom upp við niðurhal á Spotify viðbót" @@ -2266,7 +2221,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2345,27 +2300,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Skráarnafn" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Skráarstærð" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2375,7 +2326,7 @@ msgstr "Tegund skráar" msgid "Filename" msgstr "Skránafn" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Gögn" @@ -2387,10 +2338,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2459,6 +2406,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2495,7 +2443,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2503,7 +2451,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2536,11 +2484,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2594,7 +2542,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2784,11 +2732,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2805,6 +2753,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2861,7 +2813,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2885,7 +2837,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2926,7 +2878,7 @@ msgstr "" msgid "Last played" msgstr "Síðast spilað" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Síðast spilað" @@ -2967,12 +2919,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2981,7 +2933,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3021,7 +2973,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3057,8 +3009,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3067,7 +3018,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3077,8 +3027,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Skrá inn" @@ -3086,15 +3035,11 @@ msgstr "Skrá inn" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Skrá út" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3175,7 +3120,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3221,10 +3166,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3255,6 +3196,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3275,7 +3220,7 @@ msgstr "" msgid "Months" msgstr "Mánuðir" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3288,10 +3233,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Meira" - #: library/library.cpp:84 msgid "Most played" msgstr "Mest spilað" @@ -3309,7 +3250,7 @@ msgstr "" msgid "Move down" msgstr "Færa niður" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3318,8 +3259,7 @@ msgstr "" msgid "Move up" msgstr "Færa upp" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Tónlist" @@ -3328,22 +3268,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3389,7 +3317,7 @@ msgstr "" msgid "New folder" msgstr "Ný mappa" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nýr lagalisti" @@ -3418,7 +3346,7 @@ msgid "Next" msgstr "Næst" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3456,7 +3384,7 @@ msgstr "" msgid "None" msgstr "Ekkert" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3505,10 +3433,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3590,7 +3514,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3610,7 +3534,7 @@ msgstr "" msgid "Open device" msgstr "Opna tæki" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Opna skrá..." @@ -3664,7 +3588,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3676,7 +3600,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3744,7 +3668,7 @@ msgstr "" msgid "Password" msgstr "Lykilorð" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3757,7 +3681,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3772,14 +3696,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Spila" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3810,7 +3734,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Lagalisti" @@ -3827,7 +3751,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Lagalisti" @@ -3868,11 +3792,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3932,7 +3856,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3983,16 +3907,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4004,7 +3928,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4041,7 +3965,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4108,7 +4032,7 @@ msgstr "Fjarlægja" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4116,15 +4040,7 @@ msgstr "" msgid "Remove folder" msgstr "Fjarlægja möppu" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4136,7 +4052,7 @@ msgstr "Fjarlægja lagalista" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4148,7 +4064,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4198,7 +4114,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4239,7 +4155,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4269,8 +4185,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4308,7 +4225,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4348,7 +4265,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4365,12 +4282,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Leita" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Leita" @@ -4513,7 +4430,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4522,7 +4439,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4589,7 +4506,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4609,16 +4526,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4630,27 +4543,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4686,7 +4595,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4722,7 +4631,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4730,11 +4639,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4766,7 +4675,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4802,7 +4711,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4877,7 +4786,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4893,7 +4802,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4922,6 +4831,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5031,6 +4944,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5049,7 +4966,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5091,7 +5008,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5175,7 +5092,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5194,11 +5111,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5238,7 +5155,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5247,7 +5164,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5284,6 +5201,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5309,9 +5230,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5328,11 +5249,11 @@ msgstr "Óþekkt villa" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5345,15 +5266,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5463,7 +5380,7 @@ msgstr "" msgid "Used" msgstr "Notað" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5489,7 +5406,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5502,11 +5419,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5514,10 +5435,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5540,10 +5457,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5646,7 +5559,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5662,7 +5575,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/it.po b/src/translations/it.po index 2c371dcb4..ee4c348d7 100644 --- a/src/translations/it.po +++ b/src/translations/it.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 16:39+0000\n" -"Last-Translator: Vincenzo Reale \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Italian (http://www.transifex.com/davidsansome/clementine/language/it/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -68,11 +68,6 @@ msgstr " secondi" msgid " songs" msgstr " brani" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 brani)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -104,7 +99,7 @@ msgstr "%1 di %2" msgid "%1 playlists (%2)" msgstr "%1 scalette (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 selezionate di" @@ -129,7 +124,7 @@ msgstr "%1 brani trovati" msgid "%1 songs found (showing %2)" msgstr "%1 brani trovati (mostrati %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 tracce" @@ -189,7 +184,7 @@ msgstr "&Centrato" msgid "&Custom" msgstr "&Personalizzata" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extra" @@ -197,7 +192,7 @@ msgstr "&Extra" msgid "&Grouping" msgstr "Ra&ggruppamento" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Aiuto" @@ -222,7 +217,7 @@ msgstr "B&locca valutazione" msgid "&Lyrics" msgstr "&Testi" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musica" @@ -230,15 +225,15 @@ msgstr "&Musica" msgid "&None" msgstr "&Nessuna" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Scale&tta" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Esci" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Modalità di &ripetizione" @@ -246,7 +241,7 @@ msgstr "Modalità di &ripetizione" msgid "&Right" msgstr "A dest&ra" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Modalità di me&scolamento" @@ -254,7 +249,7 @@ msgstr "Modalità di me&scolamento" msgid "&Stretch columns to fit window" msgstr "Allunga le colonne per adattarle alla fines&tra" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "S&trumenti" @@ -290,7 +285,7 @@ msgstr "0px" msgid "1 day" msgstr "un giorno" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "una traccia" @@ -434,11 +429,11 @@ msgstr "Interrompi" msgid "About %1" msgstr "Informazioni su %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Informazioni su Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Informazioni su Qt..." @@ -448,7 +443,7 @@ msgid "Absolute" msgstr "Assoluto" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Dettagli dell'account" @@ -502,19 +497,19 @@ msgstr "Aggiungi un altro flusso..." msgid "Add directory..." msgstr "Aggiungi cartella..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Aggiungi file" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Aggiungi file al transcodificatore" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Aggiungi file al transcodificatore" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Aggiungi file..." @@ -522,12 +517,12 @@ msgstr "Aggiungi file..." msgid "Add files to transcode" msgstr "Aggiungi file da transcodificare" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Aggiungi cartella" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Aggiungi cartella..." @@ -539,7 +534,7 @@ msgstr "Aggiungi nuova cartella..." msgid "Add podcast" msgstr "Aggiungi podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Aggiungi podcast..." @@ -607,10 +602,6 @@ msgstr "Aggiungi contatore salti al brano" msgid "Add song title tag" msgstr "Aggiungi il tag titolo al brano" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Aggiungi brano alla cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Aggiungi il tag traccia al brano" @@ -619,18 +610,10 @@ msgstr "Aggiungi il tag traccia al brano" msgid "Add song year tag" msgstr "Aggiungi il tag anno al brano" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Aggiungi i brani a \"La mia musica\" quando viene premuto il pulsante \"Mi piace\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Aggiungi flusso..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Aggiungi alla mia musica" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Aggiungi alle scalette di Spotify" @@ -639,14 +622,10 @@ msgstr "Aggiungi alle scalette di Spotify" msgid "Add to Spotify starred" msgstr "Aggiungi ai preferiti di Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Aggiungi a un'altra scaletta" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Aggiungi ai segnalibri" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Aggiungi alla scaletta" @@ -656,10 +635,6 @@ msgstr "Aggiungi alla scaletta" msgid "Add to the queue" msgstr "Aggiungi alla coda" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Aggiungi utente/gruppo ai segnalibri" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Aggiungi azione wiimotedev" @@ -697,7 +672,7 @@ msgstr "Dopo " msgid "After copying..." msgstr "Dopo la copia..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -710,7 +685,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (volume ideale per tutte le tracce)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -725,10 +700,6 @@ msgstr "Copertina dell'album" msgid "Album info on jamendo.com..." msgstr "Informazioni album su jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Album" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Album con copertina" @@ -741,11 +712,11 @@ msgstr "Album senza copertina" msgid "All" msgstr "Tutto" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Tutti i file (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Gloria, gloria all'ipnorospo!" @@ -870,7 +841,7 @@ msgid "" "the songs of your library?" msgstr "Sei sicuro di voler scrivere le statistiche nei file dei brani della tua scaletta?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -879,7 +850,7 @@ msgstr "Sei sicuro di voler scrivere le statistiche nei file dei brani della tua msgid "Artist" msgstr "Artista" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Info artista" @@ -950,7 +921,7 @@ msgstr "Dimensione immagine media" msgid "BBC Podcasts" msgstr "Podcast BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1007,7 +978,8 @@ msgstr "Migliore" msgid "Biography" msgstr "Biografia" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitrate" @@ -1060,7 +1032,7 @@ msgstr "Sfoglia..." msgid "Buffer duration" msgstr "Durata del buffer" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Riempimento buffer in corso" @@ -1084,19 +1056,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Supporto CUE sheet" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Percorso della cache:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Memorizzazione in cache" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Memorizzazione in cache di %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Annulla" @@ -1105,12 +1064,6 @@ msgstr "Annulla" msgid "Cancel download" msgstr "Annulla lo scaricamento" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Il captcha è necessario.\nProva ad accedere a Vk.com con il browser, per risolvere il problema." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Cambia copertina" @@ -1149,6 +1102,10 @@ msgid "" "songs" msgstr "La modifica dell'impostazione di riproduzione mono avrà effetto per i prossimi brani riprodotti" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Verifica la presenza di nuove puntate" @@ -1157,19 +1114,15 @@ msgstr "Verifica la presenza di nuove puntate" msgid "Check for updates" msgstr "Controllo aggiornamenti" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Controlla aggiornamenti..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Scegli la cartella della cache di Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Scegli un nome per la scaletta veloce" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Scegli automaticamente" @@ -1215,13 +1168,13 @@ msgstr "Svuota" msgid "Clear" msgstr "Svuota" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Svuota la scaletta" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1354,24 +1307,20 @@ msgstr "Colori" msgid "Comma separated list of class:level, level is 0-3" msgstr "Elenco separato da virgole di classe:livello, livello è 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Commento" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Radio della comunità" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Completa automaticamente i tag" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Completa automaticamente i tag..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1402,15 +1351,11 @@ msgstr "Configura Spotify..." msgid "Configure Subsonic..." msgstr "Configura Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Configura Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Configura la ricerca globale..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Configura raccolta..." @@ -1444,16 +1389,16 @@ msgid "" "http://localhost:4040/" msgstr "Connessione rifiutata dal server, controlla l'URL del server. Esempio: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Connessione scaduta, controlla l'URL del server. Esempio: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Problemi di connessione o l'audio è disabilitato dal proprietario" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Console" @@ -1477,20 +1422,16 @@ msgstr "Converti i file audio senza perdita di informazione prima di inviarli al msgid "Convert lossless files" msgstr "Converti i file senza perdita di informazione" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Copia l'URL di condivisione negli appunti" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Copia negli appunti" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Copia su dispositivo..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Copia nella raccolta..." @@ -1512,6 +1453,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Impossibile creare l'elemento «%1» di GStreamer - assicurati che tutti i plugin necessari siano installati" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Impossibile creare la scaletta" @@ -1538,7 +1488,7 @@ msgstr "Impossibile aprire il file di uscita %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Gestore delle copertine" @@ -1624,11 +1574,11 @@ msgid "" "recover your database" msgstr "Rilevato un danneggiamento del database. Leggi https://github.com/clementine-player/Clementine/wiki/Database-Corruption per le istruzioni su come ripristinare il tuo database" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Data di modifica" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Data di creazione" @@ -1656,7 +1606,7 @@ msgstr "Riduci il volume" msgid "Default background image" msgstr "Immagine di sfondo predefinita" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Dispositivo predefinito su %1" @@ -1679,7 +1629,7 @@ msgid "Delete downloaded data" msgstr "Elimina i dati scaricati" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Elimina i file" @@ -1687,7 +1637,7 @@ msgstr "Elimina i file" msgid "Delete from device..." msgstr "Elimina da dispositivo..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Elimina dal disco..." @@ -1712,11 +1662,15 @@ msgstr "Elimina i file originali" msgid "Deleting files" msgstr "Eliminazione dei file" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Rimuovi le tracce selezionate dalla coda" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Rimuovi tracce dalla coda" @@ -1745,11 +1699,11 @@ msgstr "Nome del dispositivo" msgid "Device properties..." msgstr "Proprietà del dispositivo..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Dispositivi" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Finestra" @@ -1796,7 +1750,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Disabilitata" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1817,7 +1771,7 @@ msgstr "Opzioni di visualizzazione" msgid "Display the on-screen-display" msgstr "Visualizza l'on-screen-display" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Esegui una nuova scansione completa della raccolta" @@ -1988,12 +1942,12 @@ msgstr "Misto casuale dinamico" msgid "Edit smart playlist..." msgstr "Modifica la scaletta veloce..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Modifica tag \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Modifica tag..." @@ -2006,7 +1960,7 @@ msgid "Edit track information" msgstr "Modifica informazioni della traccia" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Modifica informazioni sulla traccia..." @@ -2026,10 +1980,6 @@ msgstr "Email" msgid "Enable Wii Remote support" msgstr "Abilita il supporto del Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Abilita la memorizzazione automatica in cache" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Abilita equalizzatore" @@ -2114,7 +2064,7 @@ msgstr "Digita questo IP nell'applicazione per connetterti a Clementine." msgid "Entire collection" msgstr "Collezione completa" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Equalizzatore" @@ -2127,8 +2077,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Equivalente a --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Errore" @@ -2148,6 +2098,11 @@ msgstr "Errore durante la copia dei brani" msgid "Error deleting songs" msgstr "Errore durante l'eliminazione dei brani" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Errore di scaricamento del plugin di Spotify" @@ -2268,7 +2223,7 @@ msgstr "Dissolvenza" msgid "Fading duration" msgstr "Durata della dissolvenza" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Lettura del CD non riuscita" @@ -2347,27 +2302,23 @@ msgstr "Estensione file" msgid "File formats" msgstr "Formati dei file" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nome file" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Nome file (senza percorso)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Modello di nome del file:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Percorsi dei file" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Dimensione file" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2377,7 +2328,7 @@ msgstr "Tipo file" msgid "Filename" msgstr "Nome file" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "File" @@ -2389,10 +2340,6 @@ msgstr "File da transcodificare" msgid "Find songs in your library that match the criteria you specify." msgstr "Trova i brani nella tua raccolta che corrispondono ai criteri specificati." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Trova questo artista" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Creazione impronta del brano" @@ -2461,6 +2408,7 @@ msgid "Form" msgstr "Modulo" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formato" @@ -2497,7 +2445,7 @@ msgstr "Alti al massimo" msgid "Ge&nre" msgstr "Ge&nere" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Generale" @@ -2505,7 +2453,7 @@ msgstr "Generale" msgid "General settings" msgstr "Impostazioni generali" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2538,11 +2486,11 @@ msgstr "Dagli un nome:" msgid "Go" msgstr "Vai" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Vai alla scheda della scaletta successiva" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Vai alla scheda della scaletta precedente" @@ -2596,7 +2544,7 @@ msgstr "Raggruppa per genere/album" msgid "Group by Genre/Artist/Album" msgstr "Raggruppa per genere/artista/album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2786,11 +2734,11 @@ msgstr "Installati" msgid "Integrity check" msgstr "Controllo d'integrità" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Fornitori Internet" @@ -2807,6 +2755,10 @@ msgstr "Tracce di introduzione" msgid "Invalid API key" msgstr "Chiave API non valida" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Formato non valido" @@ -2863,7 +2815,7 @@ msgstr "Database di Jamendo" msgid "Jump to previous song right away" msgstr "Salta subito al brano precedente" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Salta alla traccia in riproduzione" @@ -2887,7 +2839,7 @@ msgstr "Mantieni l'esecuzione sullo sfondo quando la finestra è chiusa" msgid "Keep the original files" msgstr "Mantieni i file originali" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Gattini" @@ -2928,7 +2880,7 @@ msgstr "Pannello laterale grande" msgid "Last played" msgstr "Ultima riproduzione" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Ultima riproduzione" @@ -2969,12 +2921,12 @@ msgstr "Tracce meno apprezzate" msgid "Left" msgstr "Sinistra" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Durata" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Raccolta" @@ -2983,7 +2935,7 @@ msgstr "Raccolta" msgid "Library advanced grouping" msgstr "Raggruppamento avanzato della raccolta" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Notifica nuova scansione della raccolta" @@ -3023,7 +2975,7 @@ msgstr "Carica copertina da disco..." msgid "Load playlist" msgstr "Carica la scaletta" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Carica la scaletta..." @@ -3059,8 +3011,7 @@ msgstr "Caricamento informazioni della traccia" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Caricamento in corso..." @@ -3069,7 +3020,6 @@ msgstr "Caricamento in corso..." msgid "Loads files/URLs, replacing current playlist" msgstr "Carica file/URL, sostituendo la scaletta attuale" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3079,8 +3029,7 @@ msgstr "Carica file/URL, sostituendo la scaletta attuale" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Accedi" @@ -3088,15 +3037,11 @@ msgstr "Accedi" msgid "Login failed" msgstr "Accesso non riuscito" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Disconnetti" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Profilo con predizione di lungo termine (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Mi piace" @@ -3177,7 +3122,7 @@ msgstr "Profilo principale (MAIN)" msgid "Make it so!" msgstr "Procedi" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Procedi" @@ -3223,10 +3168,6 @@ msgstr "Verifica ogni termine di ricerca (AND)" msgid "Match one or more search terms (OR)" msgstr "Verifica uno o più termini di ricerca (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Numero massimo di risultati della ricerca globale" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Bitrate massimo" @@ -3257,6 +3198,10 @@ msgstr "Bitrate minimo" msgid "Minimum buffer fill" msgstr "Valore minimo buffer" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Preimpostazioni projectM mancanti" @@ -3277,7 +3222,7 @@ msgstr "Riproduzione mono" msgid "Months" msgstr "Mesi" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Atmosfera" @@ -3290,10 +3235,6 @@ msgstr "Stile della barra dell'atmosfera" msgid "Moodbars" msgstr "Barre dell'atmosfera" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Altro" - #: library/library.cpp:84 msgid "Most played" msgstr "Più riprodotti" @@ -3311,7 +3252,7 @@ msgstr "Punti di mount" msgid "Move down" msgstr "Sposta in basso" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Sposta nella raccolta..." @@ -3320,8 +3261,7 @@ msgstr "Sposta nella raccolta..." msgid "Move up" msgstr "Sposta in alto" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musica" @@ -3330,22 +3270,10 @@ msgid "Music Library" msgstr "Raccolta musicale" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Silenzia" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "I miei album" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "La mia musica" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "I miei consigli" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3391,7 +3319,7 @@ msgstr "Non iniziare mai la riproduzione" msgid "New folder" msgstr "Nuova cartella" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nuova scaletta" @@ -3420,7 +3348,7 @@ msgid "Next" msgstr "Successivo" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Traccia successiva" @@ -3458,7 +3386,7 @@ msgstr "Nessun blocco corto" msgid "None" msgstr "Nessuna" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Nessuna delle canzoni selezionate era adatta alla copia su un dispositivo" @@ -3507,10 +3435,6 @@ msgstr "Accesso non effettuato" msgid "Not mounted - double click to mount" msgstr "Non montato - doppio clic per montare" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nessun risultato" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Tipo di notifica" @@ -3592,7 +3516,7 @@ msgstr "Opacità" msgid "Open %1 in browser" msgstr "Apri %1 nel browser" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Apri CD &audio..." @@ -3612,7 +3536,7 @@ msgstr "Apri una cartella da cui importare la musica" msgid "Open device" msgstr "Apri dispositivo" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Apri file..." @@ -3666,7 +3590,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organizza file" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organizza file..." @@ -3678,7 +3602,7 @@ msgstr "Organizzazione file" msgid "Original tags" msgstr "Tag originali" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3746,7 +3670,7 @@ msgstr "Festa" msgid "Password" msgstr "Password" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pausa" @@ -3759,7 +3683,7 @@ msgstr "Sospendi riproduzione" msgid "Paused" msgstr "In pausa" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3774,14 +3698,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Barra laterale semplice" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Riproduci" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Contatore di riproduzione" @@ -3812,7 +3736,7 @@ msgstr "Opzioni del lettore" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Scaletta" @@ -3829,7 +3753,7 @@ msgstr "Opzioni della scaletta" msgid "Playlist type" msgstr "Tipo di scaletta" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Scalette" @@ -3870,11 +3794,11 @@ msgstr "Preferenza" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Preferenze" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Preferenze..." @@ -3934,7 +3858,7 @@ msgid "Previous" msgstr "Precedente" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Traccia precedente" @@ -3985,16 +3909,16 @@ msgstr "Qualità" msgid "Querying device..." msgstr "Interrogazione dispositivo..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Gestore della coda" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Accoda le tracce selezionate" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Accoda la traccia" @@ -4006,7 +3930,7 @@ msgstr "Radio (volume uguale per tutte le tracce)" msgid "Rain" msgstr "Pioggia" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Pioggia" @@ -4043,7 +3967,7 @@ msgstr "Valuta il brano corrente con 4 stelle" msgid "Rate the current song 5 stars" msgstr "Valuta il brano corrente con 5 stelle" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Valutazione" @@ -4110,7 +4034,7 @@ msgstr "Rimuovi" msgid "Remove action" msgstr "Rimuovi azione" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Rimuovi duplicati dalla scaletta" @@ -4118,15 +4042,7 @@ msgstr "Rimuovi duplicati dalla scaletta" msgid "Remove folder" msgstr "Rimuovi cartella" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Rimuovi dalla mia musica" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Rimuovi dai segnalibri" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Rimuovi dalla scaletta" @@ -4138,7 +4054,7 @@ msgstr "Rimuovi la scaletta" msgid "Remove playlists" msgstr "Rimuovi scalette" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Rimuovi tracce non disponibili dalla scaletta" @@ -4150,7 +4066,7 @@ msgstr "Rinomina la scaletta" msgid "Rename playlist..." msgstr "Rinomina la scaletta..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Ricorda l'ordine delle tracce..." @@ -4200,7 +4116,7 @@ msgstr "Ripopolamento" msgid "Require authentication code" msgstr "Richiedi il codice di autenticazione" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Azzera" @@ -4241,7 +4157,7 @@ msgstr "Estrai" msgid "Rip CD" msgstr "Estrai CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Estrai CD audio" @@ -4271,8 +4187,9 @@ msgstr "Rimuovi il dispositivo in sicurezza" msgid "Safely remove the device after copying" msgstr "Rimuovi il dispositivo in sicurezza al termine della copia" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Campionamento" @@ -4310,7 +4227,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Salva la scaletta" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Salva la scaletta..." @@ -4350,7 +4267,7 @@ msgstr "Profilo con campionamento scalabile (SSR)" msgid "Scale size" msgstr "Riscala le dimensioni" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Punteggio" @@ -4367,12 +4284,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Cerca" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Cerca" @@ -4515,7 +4432,7 @@ msgstr "Dettagli del server" msgid "Service offline" msgstr "Servizio non in linea" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Imposta %1 a \"%2\"..." @@ -4524,7 +4441,7 @@ msgstr "Imposta %1 a \"%2\"..." msgid "Set the volume to percent" msgstr "Imposta il volume al percento" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Imposta valore per tutte le tracce selezionate..." @@ -4591,7 +4508,7 @@ msgstr "Mostra un OSD gradevole" msgid "Show above status bar" msgstr "Mostra la barra di stato superiore" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Mostra tutti i brani" @@ -4611,16 +4528,12 @@ msgstr "Mostra separatori" msgid "Show fullsize..." msgstr "Mostra a dimensioni originali..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Mostra i gruppo nei risultati della ricerca globale" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Mostra nel navigatore file..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Mostra nella raccolta..." @@ -4632,27 +4545,23 @@ msgstr "Mostra in artisti vari" msgid "Show moodbar" msgstr "Mostra la barra dell'atmosfera" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Mostra solo i duplicati" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Mostra solo i brani senza tag" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Mostra o nascondi la barra laterale" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Mostra il brano in riproduzione nella tua pagina" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Mostra i suggerimenti di ricerca" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Mostra la barra laterale" @@ -4688,7 +4597,7 @@ msgstr "Mescola gli album" msgid "Shuffle all" msgstr "Mescola tutto" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Mescola la scaletta" @@ -4724,7 +4633,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Salta indietro nella scaletta" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Salta il conteggio" @@ -4732,11 +4641,11 @@ msgstr "Salta il conteggio" msgid "Skip forwards in playlist" msgstr "Salta in avanti nella scaletta" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Salta le tracce selezionate" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Salta la traccia" @@ -4768,7 +4677,7 @@ msgstr "Rock leggero" msgid "Song Information" msgstr "Informazioni brano" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Info brano" @@ -4804,7 +4713,7 @@ msgstr "Ordinamento" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Fonte" @@ -4879,7 +4788,7 @@ msgid "Starting..." msgstr "Avvio in corso..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Ferma" @@ -4895,7 +4804,7 @@ msgstr "Ferma dopo ogni traccia" msgid "Stop after every track" msgstr "Ferma dopo tutte le tracce" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Ferma dopo questa traccia" @@ -4924,6 +4833,10 @@ msgstr "Fermato" msgid "Stream" msgstr "Flusso" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5033,6 +4946,10 @@ msgstr "La copertina dell'album del brano in riproduzione" msgid "The directory %1 is not valid" msgstr "La cartella %1 non è valida" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Il secondo valore deve essere più grande del primo!" @@ -5051,7 +4968,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Il periodo di prova per il server Subsonic è scaduto. Effettua una donazione per ottenere una chiave di licenza. Visita subsonic.org per i dettagli." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5093,7 +5010,7 @@ msgid "" "continue?" msgstr "Questi file saranno eliminati dal dispositivo, sei sicuro di voler continuare?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5177,7 +5094,7 @@ msgstr "Questi tipo di dispositivo non è supportato: %1" msgid "Time step" msgstr "Intervallo di tempo" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5196,11 +5113,11 @@ msgstr "Commuta Pretty OSD" msgid "Toggle fullscreen" msgstr "Attiva la modalità a schermo intero" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Cambia lo stato della coda" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Commuta lo scrobbling" @@ -5240,7 +5157,7 @@ msgstr "Totale richieste di rete effettuate" msgid "Trac&k" msgstr "Trac&cia" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Traccia" @@ -5249,7 +5166,7 @@ msgstr "Traccia" msgid "Tracks" msgstr "Tracce" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transcodifica musica" @@ -5286,6 +5203,10 @@ msgstr "Spegni" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL" @@ -5311,9 +5232,9 @@ msgstr "Impossibile scaricare %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Sconosciuto" @@ -5330,11 +5251,11 @@ msgstr "Errore sconosciuto" msgid "Unset cover" msgstr "Rimuovi copertina" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Ripristina le tracce selezionate" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Ripristina la traccia" @@ -5347,15 +5268,11 @@ msgstr "Rimuovi sottoscrizione" msgid "Upcoming Concerts" msgstr "Prossimi concerti" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Aggiorna" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Aggiorna tutti i podcast" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Aggiorna le cartelle modificate della raccolta" @@ -5465,7 +5382,7 @@ msgstr "Usa la normalizzazione del volume" msgid "Used" msgstr "Utilizzato" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Interfaccia utente" @@ -5491,7 +5408,7 @@ msgid "Variable bit rate" msgstr "Bitrate variabile" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Artisti vari" @@ -5504,11 +5421,15 @@ msgstr "Versione %1" msgid "View" msgstr "Visualizza" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Modalità di visualizzazione" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualizzazioni" @@ -5516,10 +5437,6 @@ msgstr "Visualizzazioni" msgid "Visualizations Settings" msgstr "Impostazioni di visualizzazione" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Rilevazione attività vocale" @@ -5542,10 +5459,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Muro" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Avvisami alla chiusura di una scheda della scaletta" @@ -5648,7 +5561,7 @@ msgid "" "well?" msgstr "Vuoi spostare anche gli altri brani di questo album in Artisti vari?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Vuoi eseguire subito una nuova scansione completa?" @@ -5664,7 +5577,7 @@ msgstr "Scrivi i metadati" msgid "Wrong username or password." msgstr "Nome utente o password non validi." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/ja.po b/src/translations/ja.po index 5a1d8e5fa..95e79f5e2 100644 --- a/src/translations/ja.po +++ b/src/translations/ja.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Japanese (http://www.transifex.com/davidsansome/clementine/language/ja/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -71,11 +71,6 @@ msgstr " 秒" msgid " songs" msgstr " 曲" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 曲)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -107,7 +102,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "%1 プレイリスト (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 個選択中" @@ -132,7 +127,7 @@ msgstr "%1 曲見つかりました" msgid "%1 songs found (showing %2)" msgstr "%1 曲見つかりました (%2 曲を表示中)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 トラック" @@ -192,15 +187,15 @@ msgstr "中央揃え(&C)" msgid "&Custom" msgstr "カスタム(&C)" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "おまけ(&E)" #: ../bin/src/ui_edittagdialog.h:728 msgid "&Grouping" -msgstr "" +msgstr "&グループ化" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "ヘルプ(&H)" @@ -223,9 +218,9 @@ msgstr "評価をロック(&L)" #: ../bin/src/ui_edittagdialog.h:731 msgid "&Lyrics" -msgstr "" +msgstr "&歌詞" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "ミュージック(&M)" @@ -233,15 +228,15 @@ msgstr "ミュージック(&M)" msgid "&None" msgstr "なし(&N)" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "プレイリスト(&P)" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "終了(&Q)" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "リピートモード(&R)" @@ -249,7 +244,7 @@ msgstr "リピートモード(&R)" msgid "&Right" msgstr "右揃え(&R)" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "シャッフルモード(&S)" @@ -257,13 +252,13 @@ msgstr "シャッフルモード(&S)" msgid "&Stretch columns to fit window" msgstr "列の幅をウィンドウに合わせる(&S)" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "ツール(&T)" #: ../bin/src/ui_edittagdialog.h:724 msgid "&Year" -msgstr "" +msgstr "&年" #: ui/edittagdialog.cpp:50 msgid "(different across multiple songs)" @@ -293,7 +288,7 @@ msgstr "0px" msgid "1 day" msgstr "1 日" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 トラック" @@ -386,7 +381,7 @@ msgstr "正しいコードを入力したクライアントだけ接続できま #: internet/digitally/digitallyimportedsettingspage.cpp:48 #: internet/digitally/digitallyimportedurlhandler.cpp:60 msgid "A premium account is required" -msgstr "" +msgstr "プレミアムアカウントが必要です" #: smartplaylists/wizard.cpp:74 msgid "" @@ -437,21 +432,21 @@ msgstr "中止" msgid "About %1" msgstr "%1 について" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Clementine について..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Qt について..." #: playlist/playlistsaveoptionsdialog.cpp:34 #: ../bin/src/ui_behavioursettingspage.h:371 msgid "Absolute" -msgstr "絶対的" +msgstr "絶対パス" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "アカウントの詳細" @@ -505,19 +500,19 @@ msgstr "別のストリームを追加..." msgid "Add directory..." msgstr "ディレクトリを追加..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "ファイルを追加" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "ファイルをトランスコーダーに追加する" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "ファイルをトランスコーダーに追加する" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "ファイルを追加..." @@ -525,12 +520,12 @@ msgstr "ファイルを追加..." msgid "Add files to transcode" msgstr "変換するファイルを追加" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "フォルダーを追加" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "フォルダーを追加..." @@ -542,7 +537,7 @@ msgstr "新しいフォルダーを追加..." msgid "Add podcast" msgstr "ポッドキャストを追加" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "ポッドキャストを追加..." @@ -610,10 +605,6 @@ msgstr "曲のスキップ回数を追加" msgid "Add song title tag" msgstr "曲のタイトルタグを追加" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "曲をキャッシュに追加する" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "曲のトラックタグを追加" @@ -622,18 +613,10 @@ msgstr "曲のトラックタグを追加" msgid "Add song year tag" msgstr "曲の年タグを追加" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "「Love」ボタンをクリックしたときに「マイミュージック」に曲を追加する" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "ストリームを追加..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "マイミュージックに追加する" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Spotify のプレイリストに追加する" @@ -642,14 +625,10 @@ msgstr "Spotify のプレイリストに追加する" msgid "Add to Spotify starred" msgstr "Spotify の星付きトラックを追加する" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "別のプレイリストに追加する" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "ブックマークに追加する" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "プレイリストに追加する" @@ -659,10 +638,6 @@ msgstr "プレイリストに追加する" msgid "Add to the queue" msgstr "キューに追加する" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "ユーザー/グループをブックマークに追加する" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Wii リモコンデバイスのアクションの追加" @@ -700,7 +675,7 @@ msgstr "後" msgid "After copying..." msgstr "コピー後..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -713,7 +688,7 @@ msgstr "アルバム" msgid "Album (ideal loudness for all tracks)" msgstr "アルバム (すべてのトラックで最適な音量)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -728,10 +703,6 @@ msgstr "アルバムカバー" msgid "Album info on jamendo.com..." msgstr "jamendo.com のアルバム情報..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "アルバム" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "カバー付きのアルバム" @@ -742,13 +713,13 @@ msgstr "カバーなしのアルバム数" #: ../bin/src/ui_podcastsettingspage.h:275 msgid "All" -msgstr "" +msgstr "全て" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "すべてのファイル (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -873,7 +844,7 @@ msgid "" "the songs of your library?" msgstr "ライブラリーのすべての曲の統計情報を曲ファイルに保存してもよろしいですか?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -882,7 +853,7 @@ msgstr "ライブラリーのすべての曲の統計情報を曲ファイルに msgid "Artist" msgstr "アーティスト" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "アーティストの情報" @@ -953,7 +924,7 @@ msgstr "平均画像サイズ" msgid "BBC Podcasts" msgstr "BBC ポッドキャスト" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1008,9 +979,10 @@ msgstr "良" #: songinfo/artistbiography.cpp:90 songinfo/artistbiography.cpp:255 msgid "Biography" -msgstr "" +msgstr "バイオグラフィ" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "ビットレート" @@ -1063,13 +1035,13 @@ msgstr "参照..." msgid "Buffer duration" msgstr "バッファーの長さ" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "バッファ中" #: internet/seafile/seafileservice.cpp:227 msgid "Building Seafile index..." -msgstr "" +msgstr "Seafile インデックスを構築中..." #: ../bin/src/ui_globalsearchview.h:210 msgid "But these sources are disabled:" @@ -1087,19 +1059,6 @@ msgstr "オーディオ CD" msgid "CUE sheet support" msgstr "CUE シートのサポート" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "キャッシュのパス:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "キャッシュ中" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "%1 キャッシュ中" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "キャンセル" @@ -1108,12 +1067,6 @@ msgstr "キャンセル" msgid "Cancel download" msgstr "ダウンロードをキャンセル" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha (キャプチャ) が必要です。\nブラウザーで Vk.com にログインして問題を修正してください。" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "カバーアートの変更" @@ -1152,6 +1105,10 @@ msgid "" "songs" msgstr "モノラル再生の設定変更は次に再生する曲から反映されます" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "新しいエピソードのチェック" @@ -1160,19 +1117,15 @@ msgstr "新しいエピソードのチェック" msgid "Check for updates" msgstr "更新の確認" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "更新のチェック..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Vk.com のキャッシュディレクトリーを選択する" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "スマートプレイリストの名前を選択してください" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "自動的に選択する" @@ -1218,13 +1171,13 @@ msgstr "整理" msgid "Clear" msgstr "クリア" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "プレイリストをクリア" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1249,19 +1202,19 @@ msgstr "Clementine はこのデバイスへコピーする際、このデバイ #: ../bin/src/ui_boxsettingspage.h:100 msgid "Clementine can play music that you have uploaded to Box" -msgstr "Clementine は Box にアップロードしたミュージックを再生できます" +msgstr "Clementine は Box にアップロードした音楽を再生できます" #: ../bin/src/ui_dropboxsettingspage.h:100 msgid "Clementine can play music that you have uploaded to Dropbox" -msgstr "Clementine は Dropbox にアップロードしたミュージックを再生できます" +msgstr "Clementine は Dropbox にアップロードした音楽を再生できます" #: ../bin/src/ui_googledrivesettingspage.h:100 msgid "Clementine can play music that you have uploaded to Google Drive" -msgstr "Clementine は Google Drive にアップロードしたミュージックを再生できます" +msgstr "Clementine は Google Drive にアップロードした音楽を再生できます" #: ../bin/src/ui_skydrivesettingspage.h:100 msgid "Clementine can play music that you have uploaded to OneDrive" -msgstr "Clementine は OneDrive にアップロードしたミュージックを再生できます" +msgstr "Clementine は OneDrive にアップロードした音楽を再生できます" #: ../bin/src/ui_notificationssettingspage.h:436 msgid "Clementine can show a message when the track changes." @@ -1290,15 +1243,15 @@ msgstr "このファイルの検索結果を見つけられませんでした。 #: ../bin/src/ui_globalsearchview.h:209 msgid "Clementine will find music in:" -msgstr "Clementine は次にあるミュージックを検索します:" +msgstr "以下のサービスから音楽を検索します:" #: internet/lastfm/lastfmsettingspage.cpp:78 msgid "Click Ok once you authenticated Clementine in your last.fm account." -msgstr "" +msgstr "Last.fm に Clementine のアクセス権限を与えたら OK をクリックしてください。" #: library/libraryview.cpp:359 msgid "Click here to add some music" -msgstr "ミュージックを追加するにはここをクリックします" +msgstr "音楽を追加するにはここをクリックします" #: playlist/playlisttabbar.cpp:298 msgid "" @@ -1357,24 +1310,20 @@ msgstr "色" msgid "Comma separated list of class:level, level is 0-3" msgstr "コンマ区切りの クラス:レベル のリスト、レベルは 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "コメント" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "コミュニティラジオ" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "タグの自動補完" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "タグを自動補完..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1395,7 +1344,7 @@ msgstr "ショートカットの設定" #: internet/soundcloud/soundcloudservice.cpp:381 msgid "Configure SoundCloud..." -msgstr "" +msgstr "SoundCloud の設定..." #: internet/spotify/spotifyservice.cpp:921 msgid "Configure Spotify..." @@ -1405,15 +1354,11 @@ msgstr "Spotify の設定..." msgid "Configure Subsonic..." msgstr "Subsonic を設定..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "VK.com の設定..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "全体検索の設定..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "ライブラリの設定..." @@ -1447,16 +1392,16 @@ msgid "" "http://localhost:4040/" msgstr "接続がサーバーに拒否されました。サーバーの URL を確認してください。例: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "接続がタイムアウトしました。サーバーの URL を確認してください。例: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "接続の問題またはオーディオが所有者により無効化されています" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "コンソール" @@ -1480,20 +1425,16 @@ msgstr "送る前にロスレス音楽ファイルを変換する。" msgid "Convert lossless files" msgstr "ロスレスファイルを変換する" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "URL をクリップボードにコピーする" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "クリップボードにコピー" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "デバイスへコピー..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "ライブラリへコピー..." @@ -1515,6 +1456,15 @@ msgid "" "required GStreamer plugins installed" msgstr "GStreamer 要素「%1」を作成できませんでした。必要な GStreamer プラグインがすべてインストールされていることを確認してください" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "プレイリストを作成できません" @@ -1541,7 +1491,7 @@ msgstr "出力ファイル %1 を開けませんでした" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "カバーマネージャー" @@ -1574,7 +1524,7 @@ msgstr "%1 からのカバー" #: core/commandlineoptions.cpp:172 msgid "Create a new playlist with files/URLs" -msgstr "" +msgstr "ファイル/URL を使ってプレイリストを作成する" #: ../bin/src/ui_playbacksettingspage.h:344 msgid "Cross-fade when changing tracks automatically" @@ -1627,11 +1577,11 @@ msgid "" "recover your database" msgstr "データベースの破損が見つかりました。データベースの復旧方法については https://github.com/clementine-player/Clementine/wiki/Database-Corruption をお読みください" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "作成日時" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "更新日時" @@ -1659,7 +1609,7 @@ msgstr "音量を下げる" msgid "Default background image" msgstr "既定の背景画像" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "デフォルトのデバイス %1" @@ -1682,7 +1632,7 @@ msgid "Delete downloaded data" msgstr "ダウンロード済みデータを削除" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "ファイルの削除" @@ -1690,7 +1640,7 @@ msgstr "ファイルの削除" msgid "Delete from device..." msgstr "デバイスから削除..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "ディスクから削除..." @@ -1715,11 +1665,15 @@ msgstr "元のファイルを削除する" msgid "Deleting files" msgstr "ファイルの削除中" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "選択されたトラックをキューから削除する" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "トラックをキューから削除" @@ -1748,11 +1702,11 @@ msgstr "デバイス名" msgid "Device properties..." msgstr "デバイスのプロパティ..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "デバイス" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "ダイアログ" @@ -1799,7 +1753,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "無効" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1820,7 +1774,7 @@ msgstr "画面のオプション" msgid "Display the on-screen-display" msgstr "OSD を表示する" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "ライブラリ全体を再スキャン" @@ -1991,12 +1945,12 @@ msgstr "ダイナミックランダムミックス" msgid "Edit smart playlist..." msgstr "スマートプレイリストの編集..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "タグ「%1」を編集..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "タグの編集..." @@ -2009,7 +1963,7 @@ msgid "Edit track information" msgstr "トラック情報の編集" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "トラック情報の編集..." @@ -2029,10 +1983,6 @@ msgstr "Eメール" msgid "Enable Wii Remote support" msgstr "Wii リモコンサポートを有効にする" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "自動的にキャッシュを有効にする" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "イコライザーを有効にする" @@ -2086,7 +2036,7 @@ msgstr "このプレイリストの名前を入力してください" #: ../bin/src/ui_globalsearchview.h:208 msgid "" "Enter search terms above to find music on your computer and on the internet" -msgstr "コンピューター上およびインターネット上のミュージックを検索するには、上に検索条件を入力してください" +msgstr "コンピューター上およびインターネット上の音楽を検索するには、上に検索条件を入力してください" #: ../bin/src/ui_itunessearchpage.h:73 msgid "Enter search terms below to find podcasts in the iTunes Store" @@ -2117,7 +2067,7 @@ msgstr "この IP アドレスをアプリケーションに入力して Clement msgid "Entire collection" msgstr "コレクション全体" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "イコライザー" @@ -2130,8 +2080,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "--log-levels *:3 と同じ" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "エラー" @@ -2151,6 +2101,11 @@ msgstr "曲のコピーエラー" msgid "Error deleting songs" msgstr "曲の削除エラー" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Spotify プラグインのダウンロードエラー" @@ -2271,7 +2226,7 @@ msgstr "フェード" msgid "Fading duration" msgstr "フェードの長さ" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "CD ドライブの読み込みが失敗しました" @@ -2308,7 +2263,7 @@ msgstr "速" #: internet/soundcloud/soundcloudservice.cpp:141 msgid "Favorites" -msgstr "" +msgstr "お気に入り" #: library/library.cpp:88 msgid "Favourite tracks" @@ -2350,27 +2305,23 @@ msgstr "ファイル拡張子" msgid "File formats" msgstr "ファイル形式" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "ファイル名" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "ファイル名 (パスなし)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "ファイル名パターン:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "ファイルのパス" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "ファイルサイズ" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2380,7 +2331,7 @@ msgstr "ファイルの種類" msgid "Filename" msgstr "ファイル名" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "ファイル" @@ -2392,10 +2343,6 @@ msgstr "トランスコードするファイル" msgid "Find songs in your library that match the criteria you specify." msgstr "指定する条件に一致するライブラリから曲を検索します。" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "このアーティストを検索する" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "曲の特徴を検出しています" @@ -2464,6 +2411,7 @@ msgid "Form" msgstr "フォーム" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "形式" @@ -2500,7 +2448,7 @@ msgstr "Full Treble" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "全般" @@ -2508,7 +2456,7 @@ msgstr "全般" msgid "General settings" msgstr "全般設定" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2541,11 +2489,11 @@ msgstr "名前を入力してください:" msgid "Go" msgstr "進む" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "次のプレイリストタブへ" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "前のプレイリストタブへ" @@ -2577,7 +2525,7 @@ msgstr "アルバムでグループ化" #: library/libraryfilterwidget.cpp:150 msgid "Group by Album artist/Album" -msgstr "" +msgstr "アーティスト/アルバムでグループ化" #: library/libraryfilterwidget.cpp:143 msgid "Group by Artist" @@ -2599,7 +2547,7 @@ msgstr "ジャンル/アルバムでグループ化" msgid "Group by Genre/Artist/Album" msgstr "ジャンル/アーティスト/アルバムでグループ化" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2789,11 +2737,11 @@ msgstr "インストール済み" msgid "Integrity check" msgstr "整合性の検査" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "インターネット" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "インターネットプロバイダ" @@ -2810,6 +2758,10 @@ msgstr "イントロ再生" msgid "Invalid API key" msgstr "不正な API キーです" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "不正な形式です" @@ -2864,9 +2816,9 @@ msgstr "Jamendo のデータベース" #: ../bin/src/ui_behavioursettingspage.h:342 msgid "Jump to previous song right away" -msgstr "すぐに前の曲にジャンプ" +msgstr "すぐに、前の曲にジャンプする" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "現在再生中のトラックへジャンプ" @@ -2890,7 +2842,7 @@ msgstr "ウィンドウを閉じたときバックグラウンドで起動し続 msgid "Keep the original files" msgstr "元のファイルを保持する" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kittens" @@ -2931,7 +2883,7 @@ msgstr "大きいサイドバー" msgid "Last played" msgstr "最終再生" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "最後に再生" @@ -2942,11 +2894,11 @@ msgstr "Last.fm" #: internet/lastfm/lastfmsettingspage.cpp:77 msgid "Last.fm authentication" -msgstr "" +msgstr "Last.fm の認証" #: internet/lastfm/lastfmsettingspage.cpp:70 msgid "Last.fm authentication failed" -msgstr "" +msgstr "Last.fm の認証に失敗しました" #: internet/lastfm/lastfmservice.cpp:268 msgid "Last.fm is currently busy, please try again in a few minutes" @@ -2972,12 +2924,12 @@ msgstr "嫌いなトラック" msgid "Left" msgstr "左" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "長さ" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "ライブラリ" @@ -2986,7 +2938,7 @@ msgstr "ライブラリ" msgid "Library advanced grouping" msgstr "ライブラリの高度なグループ化" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "ライブラリー再スキャン通知" @@ -3026,7 +2978,7 @@ msgstr "ディスクからカバーの読み込み..." msgid "Load playlist" msgstr "プレイリストの読み込み" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "プレイリストの読み込み..." @@ -3062,8 +3014,7 @@ msgstr "トラック情報の読み込み中" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "読み込んでいます..." @@ -3072,7 +3023,6 @@ msgstr "読み込んでいます..." msgid "Loads files/URLs, replacing current playlist" msgstr "ファイル・URL を読み込んで、現在のプレイリストを置き換えます" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3082,8 +3032,7 @@ msgstr "ファイル・URL を読み込んで、現在のプレイリストを #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "ログイン" @@ -3091,15 +3040,11 @@ msgstr "ログイン" msgid "Login failed" msgstr "ログインは失敗しました" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "ログアウト" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Long Term Prediction プロファイル (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Love" @@ -3132,7 +3077,7 @@ msgstr "%1 からの歌詞" #: songinfo/taglyricsinfoprovider.cpp:29 msgid "Lyrics from the tag" -msgstr "" +msgstr "タグからの歌詞" #: transcoder/transcoder.cpp:235 msgid "M4A AAC" @@ -3180,7 +3125,7 @@ msgstr "Main プロファイル (MAIN)" msgid "Make it so!" msgstr "Make it so!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Make it so!" @@ -3226,10 +3171,6 @@ msgstr "すべての検索条件に一致する (AND)" msgid "Match one or more search terms (OR)" msgstr "1 つ以上の検索条件に一致する (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "検索結果の最大件数" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "最高ビットレート" @@ -3260,6 +3201,10 @@ msgstr "最低ビットレート" msgid "Minimum buffer fill" msgstr "最低限のバッファデータ量" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "projectM プリセットがありません" @@ -3280,7 +3225,7 @@ msgstr "モノラル再生" msgid "Months" msgstr "ヶ月" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "ムード" @@ -3293,10 +3238,6 @@ msgstr "ムードバーの形式" msgid "Moodbars" msgstr "ムードバー" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "もっと" - #: library/library.cpp:84 msgid "Most played" msgstr "最も再生している" @@ -3314,7 +3255,7 @@ msgstr "マウントポイント" msgid "Move down" msgstr "下へ移動" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "ライブラリへ移動..." @@ -3323,8 +3264,7 @@ msgstr "ライブラリへ移動..." msgid "Move up" msgstr "上へ移動" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "ミュージック" @@ -3333,22 +3273,10 @@ msgid "Music Library" msgstr "ミュージックライブラリ" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "ミュート" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "マイアルバム" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "マイミュージック" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "おすすめ" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3394,7 +3322,7 @@ msgstr "再生を開始しない" msgid "New folder" msgstr "新しいフォルダー" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "新しいプレイリスト" @@ -3423,7 +3351,7 @@ msgid "Next" msgstr "次へ" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "次のトラック" @@ -3461,7 +3389,7 @@ msgstr "短いブロックなし" msgid "None" msgstr "なし" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "デバイスへのコピーに適切な曲が選択されていません" @@ -3510,10 +3438,6 @@ msgstr "ログインしていません" msgid "Not mounted - double click to mount" msgstr "マウントされていません - マウントするにはダブルクリックします" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "該当なし" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "通知の種類" @@ -3595,7 +3519,7 @@ msgstr "不透明度" msgid "Open %1 in browser" msgstr "%1 をブラウザーで開く" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "オーディオ CD を開く(&A)..." @@ -3615,7 +3539,7 @@ msgstr "音楽を取り込むディレクトリを開く" msgid "Open device" msgstr "デバイスを開く" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "ファイルを開く..." @@ -3636,7 +3560,7 @@ msgstr "新しいプレイリストで開く" #: songinfo/artistbiography.cpp:94 songinfo/artistbiography.cpp:261 msgid "Open in your browser" -msgstr "" +msgstr "ブラウザで開く" #: ../bin/src/ui_globalshortcutssettingspage.h:168 #: ../bin/src/ui_globalshortcutssettingspage.h:170 @@ -3669,7 +3593,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "ファイルの整理" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "ファイルの整理..." @@ -3681,7 +3605,7 @@ msgstr "ファイルの整理中" msgid "Original tags" msgstr "元のタグ" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3734,7 +3658,7 @@ msgstr "Jamendo カタログの分析中" #: devices/udisks2lister.cpp:79 msgid "Partition label" -msgstr "" +msgstr "パーティションのラベル" #: ui/equalizer.cpp:139 msgid "Party" @@ -3749,7 +3673,7 @@ msgstr "パーティー" msgid "Password" msgstr "パスワード" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "一時停止" @@ -3762,7 +3686,7 @@ msgstr "再生を一時停止します" msgid "Paused" msgstr "一時停止中" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3777,14 +3701,14 @@ msgstr "ピクセル" msgid "Plain sidebar" msgstr "プレーンサイドバー" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "再生" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "再生回数" @@ -3815,7 +3739,7 @@ msgstr "プレーヤーのオプション" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "プレイリスト" @@ -3832,7 +3756,7 @@ msgstr "プレイリストのオプション" msgid "Playlist type" msgstr "プレイリストの種類" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "プレイリスト" @@ -3873,11 +3797,11 @@ msgstr "設定" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "設定" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "設定..." @@ -3937,7 +3861,7 @@ msgid "Previous" msgstr "前へ" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "前のトラック" @@ -3988,16 +3912,16 @@ msgstr "品質" msgid "Querying device..." msgstr "デバイスを照会しています..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "キューマネージャー" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "選択されたトラックをキューに追加" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "トラックをキューに追加" @@ -4009,7 +3933,7 @@ msgstr "ラジオ (すべてのトラックで均一の音量)" msgid "Rain" msgstr "Rain" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Rain" @@ -4046,7 +3970,7 @@ msgstr "現在の曲を星 4 つと評価する" msgid "Rate the current song 5 stars" msgstr "現在の曲を星 5 つと評価する" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "評価" @@ -4089,7 +4013,7 @@ msgstr "レゲエ" #: playlist/playlistsaveoptionsdialog.cpp:33 #: ../bin/src/ui_behavioursettingspage.h:372 msgid "Relative" -msgstr "相対的" +msgstr "相対パス" #: ../bin/src/ui_wiimoteshortcutgrabber.h:122 msgid "Remember Wii remote swing" @@ -4113,7 +4037,7 @@ msgstr "削除" msgid "Remove action" msgstr "アクションの削除" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "重複するものをプレイリストから削除" @@ -4121,15 +4045,7 @@ msgstr "重複するものをプレイリストから削除" msgid "Remove folder" msgstr "フォルダーの削除" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "マイミュージックから削除する" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "ブックマークから削除する" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "プレイリストから削除" @@ -4141,7 +4057,7 @@ msgstr "プレイリストを削除する" msgid "Remove playlists" msgstr "プレイリストを削除する" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "無効なトラックをプレイリストから削除" @@ -4153,7 +4069,7 @@ msgstr "プレイリストの名前の変更" msgid "Rename playlist..." msgstr "プレイリストの名前の変更..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "この順序でトラック番号を振る..." @@ -4189,11 +4105,11 @@ msgstr "スペースをアンダースコアに置換する" #: ../bin/src/ui_playbacksettingspage.h:351 msgid "Replay Gain" -msgstr "リプレイゲイン" +msgstr "再生ゲイン" #: ../bin/src/ui_playbacksettingspage.h:353 msgid "Replay Gain mode" -msgstr "リプレイゲインモード" +msgstr "再生ゲインモード" #: ../bin/src/ui_dynamicplaylistcontrols.h:111 msgid "Repopulate" @@ -4203,7 +4119,7 @@ msgstr "再装着" msgid "Require authentication code" msgstr "認証コードを要求する" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "リセット" @@ -4244,7 +4160,7 @@ msgstr "リッピングする" msgid "Rip CD" msgstr "CD をリッピングする" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "オーディオ CD をリッピングする" @@ -4274,8 +4190,9 @@ msgstr "デバイスを安全に取り外す" msgid "Safely remove the device after copying" msgstr "コピー後にデバイスを安全に取り外す" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "サンプルレート" @@ -4313,7 +4230,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "プレイリストを保存する" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "プレイリストの保存..." @@ -4353,7 +4270,7 @@ msgstr "Scalable Sampling Rate プロファイル (SSR)" msgid "Scale size" msgstr "サイズを調整する" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "スコア" @@ -4370,12 +4287,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "検索" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "検索" @@ -4518,7 +4435,7 @@ msgstr "サーバーの詳細" msgid "Service offline" msgstr "サービスがオフラインです" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "%1 を「%2」に設定します..." @@ -4527,7 +4444,7 @@ msgstr "%1 を「%2」に設定します..." msgid "Set the volume to percent" msgstr "音量を パーセントへ設定しました" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "すべての選択されたトラックの音量を設定しました..." @@ -4594,7 +4511,7 @@ msgstr "Pretty OSD を表示する" msgid "Show above status bar" msgstr "ステータスバーの上に表示" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "すべての曲を表示する" @@ -4614,16 +4531,12 @@ msgstr "区切りを表示する" msgid "Show fullsize..." msgstr "原寸表示..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "検索結果にグループを表示する" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "ファイルブラウザーで表示..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "ライブラリーに表示..." @@ -4635,27 +4548,23 @@ msgstr "さまざまなアーティストに表示" msgid "Show moodbar" msgstr "ムードバーを表示する" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "重複するものだけ表示" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "タグのないものだけ表示" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "再生中の曲をページに表示する" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "検索のおすすめを表示する" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4691,7 +4600,7 @@ msgstr "アルバムをシャッフル" msgid "Shuffle all" msgstr "すべてシャッフル" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "プレイリストをシャッフル" @@ -4727,7 +4636,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "プレイリストで後ろにスキップ" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "スキップ回数" @@ -4735,11 +4644,11 @@ msgstr "スキップ回数" msgid "Skip forwards in playlist" msgstr "プレイリストで前にスキップ" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "選択したトラックをスキップする" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "トラックをスキップする" @@ -4771,7 +4680,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "曲の情報" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "曲の情報" @@ -4807,7 +4716,7 @@ msgstr "並べ替え中" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "ソース" @@ -4882,7 +4791,7 @@ msgid "Starting..." msgstr "開始しています..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "停止" @@ -4898,7 +4807,7 @@ msgstr "各トラック後に停止" msgid "Stop after every track" msgstr "各トラック後に停止" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "このトラック後に停止" @@ -4927,6 +4836,10 @@ msgstr "停止しました" msgid "Stream" msgstr "ストリーム" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5036,6 +4949,10 @@ msgstr "再生中の曲のアルバムカバー" msgid "The directory %1 is not valid" msgstr "ディレクトリ %1 は不正です" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "2 つ目の値は 1 つ目より大きくする必要があります!" @@ -5054,7 +4971,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Subsonic サーバーのお試し期間は終了しました。寄付してライセンスキーを取得してください。詳細は subsonic.org を参照してください。" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5096,7 +5013,7 @@ msgid "" "continue?" msgstr "これらのファイルはデバイスから削除されます。続行してもよろしいですか?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5110,7 +5027,7 @@ msgstr "これらのフォルダーはライブラリを作成するためにス msgid "" "These settings are used in the \"Transcode Music\" dialog, and when " "converting music before copying it to a device." -msgstr "以下の設定は「ミュージックのトランスコード」ダイアログや、音楽を変換してデバイスへコピーする前に使われます。" +msgstr "以下の設定は「音楽のトランスコード」ダイアログや、デバイスへコピーする前に音楽を変換する時に使われます。" #: library/savedgroupingmanager.cpp:38 msgid "Third Level" @@ -5161,7 +5078,7 @@ msgstr "これは iPod ですが、Clementine は libgpod サポートなしで msgid "" "This is the first time you have connected this device. Clementine will now " "scan the device to find music files - this may take some time." -msgstr "このデバイスに初めて接続しました。Clementine はミュージックファイルを検索するためにデバイスをスキャンします - これには時間がかかる可能性があります。" +msgstr "このデバイスに初めて接続しました。音楽ファイルを検索するためにデバイスをスキャンします - これには時間がかかる可能性があります。" #: playlist/playlisttabbar.cpp:197 msgid "This option can be changed in the \"Behavior\" preferences" @@ -5180,7 +5097,7 @@ msgstr "この種類のデバイスはサポートされていません: %1" msgid "Time step" msgstr "時間刻み" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5199,11 +5116,11 @@ msgstr "Pretty OSD の切り替え" msgid "Toggle fullscreen" msgstr "全画面表示の切り替え" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "キュー状態の切り替え" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "scrobbling の切り替え" @@ -5243,7 +5160,7 @@ msgstr "合計ネットワーク要求回数" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "トラック" @@ -5252,9 +5169,9 @@ msgstr "トラック" msgid "Tracks" msgstr "トラック" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" -msgstr "ミュージックのトランスコード" +msgstr "音楽のトランスコード" #: ../bin/src/ui_transcodelogdialog.h:62 msgid "Transcoder Log" @@ -5289,6 +5206,10 @@ msgstr "オフにする" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL" @@ -5314,9 +5235,9 @@ msgstr "%1 をダウンロードできません (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "不明" @@ -5333,11 +5254,11 @@ msgstr "不明なエラー" msgid "Unset cover" msgstr "カバーを未設定にする" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "選択したトラックをスキップしない" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "トラックをスキップしない" @@ -5350,15 +5271,11 @@ msgstr "購読解除" msgid "Upcoming Concerts" msgstr "次のコンサート" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "更新" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "すべてのポッドキャストを更新" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "変更されたライブラリフォルダーを更新" @@ -5406,7 +5323,7 @@ msgstr "サイケな色使いにする" #: ../bin/src/ui_playbacksettingspage.h:352 msgid "Use Replay Gain metadata if it is available" -msgstr "利用可能ならリプレイゲインのメタデータを使用する" +msgstr "可能なら再生ゲインのメタデータを使用する" #: ../bin/src/ui_subsonicsettingspage.h:128 msgid "Use SSLv3" @@ -5468,7 +5385,7 @@ msgstr "音量の正規化を使用する" msgid "Used" msgstr "使用中" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "ユーザーインターフェース" @@ -5494,7 +5411,7 @@ msgid "Variable bit rate" msgstr "可変ビットレート" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "さまざまなアーティスト" @@ -5507,11 +5424,15 @@ msgstr "バージョン %1" msgid "View" msgstr "表示" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "ビジュアライゼーションモード" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "ビジュアライゼーション" @@ -5519,10 +5440,6 @@ msgstr "ビジュアライゼーション" msgid "Visualizations Settings" msgstr "ビジュアライゼーションの設定" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "有音/無音検出 (VAD)" @@ -5545,10 +5462,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "プレイリストタブを閉じるときに警告する" @@ -5577,7 +5490,7 @@ msgstr "アルバム アートの検索時に Clementine はまずこれらの #: ../bin/src/ui_behavioursettingspage.h:369 msgid "When saving a playlist, file paths should be" -msgstr "" +msgstr "プレイリストを保存する時、パス名は" #: ../bin/src/ui_globalsearchsettingspage.h:147 msgid "When the list is empty..." @@ -5651,7 +5564,7 @@ msgid "" "well?" msgstr "このアルバムにある他の曲も さまざまなアーティスト に移動しますか?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "全体の再スキャンを今すぐ実行しますか?" @@ -5667,7 +5580,7 @@ msgstr "メタデータの書き込み" msgid "Wrong username or password." msgstr "ユーザー名またはパスワードが違います。" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/ka.po b/src/translations/ka.po index 860192193..7314b522d 100644 --- a/src/translations/ka.po +++ b/src/translations/ka.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Georgian (http://www.transifex.com/davidsansome/clementine/language/ka/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -65,11 +65,6 @@ msgstr " წამი" msgid " songs" msgstr " სიმღერა" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 სიმღერა)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -101,7 +96,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "%1 დასაკრავი სია (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "არჩეულია %1 სიმღერა" @@ -126,7 +121,7 @@ msgstr "ნაპოვნია %1 სიმღერა" msgid "%1 songs found (showing %2)" msgstr "ნაპოვნია %1 სიმღერა (ნაჩვენებია %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 ჩანაწერი" @@ -186,7 +181,7 @@ msgstr "&ცენტრირება" msgid "&Custom" msgstr "" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "დამა&ტებითი" @@ -194,7 +189,7 @@ msgstr "დამა&ტებითი" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&დახმარება" @@ -219,7 +214,7 @@ msgstr "&შეფასების ჩაკეტვა" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&მუსიკა" @@ -227,15 +222,15 @@ msgstr "&მუსიკა" msgid "&None" msgstr "&არცერთი" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&დასაკრავი სია" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&გამოსვლა" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&გამეორების რეჟიმი" @@ -243,7 +238,7 @@ msgstr "&გამეორების რეჟიმი" msgid "&Right" msgstr "&მარჯვენა" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&არევის რეჟიმი" @@ -251,7 +246,7 @@ msgstr "&არევის რეჟიმი" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&ხელსაწყოები" @@ -287,7 +282,7 @@ msgstr "" msgid "1 day" msgstr "1 დღე" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "%n ჩანაწერი" @@ -431,11 +426,11 @@ msgstr "" msgid "About %1" msgstr "%1-ის შესახებ" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Clementine-ის შესახებ..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Qt-ის შესახებ..." @@ -445,7 +440,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "ანგარიშის დეტალები" @@ -499,19 +494,19 @@ msgstr "სხვა ნაკადის დამატება..." msgid "Add directory..." msgstr "დირექტორიის დამატება..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "ფაილის დამატება..." @@ -519,12 +514,12 @@ msgstr "ფაილის დამატება..." msgid "Add files to transcode" msgstr "გადასაკოდირებელი ფაილების დამატება" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "დასტის დამატება" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "დასტის დამატება..." @@ -536,7 +531,7 @@ msgstr "ახალი დასტის დამატება..." msgid "Add podcast" msgstr "პოდკასტის დამატება" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "პოდკასტის დამატება..." @@ -604,10 +599,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -616,18 +607,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "ნაკადის დამატება..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -636,14 +619,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "სხვა რეპერტუარში დამატება" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "რეპერტუარში დამატება" @@ -653,10 +632,6 @@ msgstr "რეპერტუარში დამატება" msgid "Add to the queue" msgstr "რიგში დამატება" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -694,7 +669,7 @@ msgstr "" msgid "After copying..." msgstr "კოპირების შემდეგ..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -707,7 +682,7 @@ msgstr "ალბომი" msgid "Album (ideal loudness for all tracks)" msgstr "ალბომი (იდეალური ხმის სიმაღლე ყველა ჩანაწერისთვის)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -722,10 +697,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "ინფორმაცია ალბობის შესახებ jamendo.com-ზე..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "ალბომები ყდებით" @@ -738,11 +709,11 @@ msgstr "ალბომები ყდების გარეშე" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "ყველა ფაილი (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -867,7 +838,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -876,7 +847,7 @@ msgstr "" msgid "Artist" msgstr "შემსრულებელი" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "შემსრულებლის ინფო" @@ -947,7 +918,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "BBC-ის პოდკასტები" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1004,7 +975,8 @@ msgstr "საუკეთესო" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "ბიტური სიჩქარე" @@ -1057,7 +1029,7 @@ msgstr "ნუსხა..." msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1081,19 +1053,6 @@ msgstr "" msgid "CUE sheet support" msgstr "CUE sheet-ის მხარდაჭერა" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "გაუქმება" @@ -1102,12 +1061,6 @@ msgstr "გაუქმება" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "ალბომის ყდის შეცვლა" @@ -1146,6 +1099,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1154,19 +1111,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "განახლებებზე შემოწმება..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "ავტომატურად არჩევა" @@ -1212,13 +1165,13 @@ msgstr "" msgid "Clear" msgstr "გასუფთავება" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "რეპერტუარის გასუფთავება" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1351,24 +1304,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "კომენტარი" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "ჭდეების ავტომატური შევსება" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "ჭდეების ავტომატური შევსება..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1399,15 +1348,11 @@ msgstr "Spotify-ის გამართვა..." msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "ბიბლიოთეკის გამართვა..." @@ -1441,16 +1386,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1474,20 +1419,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1509,6 +1450,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1535,7 +1485,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1621,11 +1571,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "შექმნის თარიღი" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "ცვლილების თარიღი" @@ -1653,7 +1603,7 @@ msgstr "ხმის შემცირება" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1676,7 +1626,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "ფაილების წაშლა" @@ -1684,7 +1634,7 @@ msgstr "ფაილების წაშლა" msgid "Delete from device..." msgstr "მოწყობილობიდან წაშლა..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "დისკიდან წაშლა..." @@ -1709,11 +1659,15 @@ msgstr "ორიგინალი ფაილების წაშლა" msgid "Deleting files" msgstr "ფაილების წაშლა" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1742,11 +1696,11 @@ msgstr "მოწყობილობის სახელი" msgid "Device properties..." msgstr "მოწყობილობის პარამეტრები..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "მოწყობილობები" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1793,7 +1747,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1814,7 +1768,7 @@ msgstr "პარამეტრების ჩვენება" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1985,12 +1939,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "ჭდის რედაქტირება..." @@ -2003,7 +1957,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2023,10 +1977,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "ეკვალაიზერის ჩართვა" @@ -2111,7 +2061,7 @@ msgstr "" msgid "Entire collection" msgstr "მთელი კოლექცია" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "ეკვალაიზერი" @@ -2124,8 +2074,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "შეცდომა" @@ -2145,6 +2095,11 @@ msgstr "შეცდომა სიმღერების კოპირე msgid "Error deleting songs" msgstr "შეცდომა სიმღერების წაშლისას" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2265,7 +2220,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2344,27 +2299,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2374,7 +2325,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "ფაილები" @@ -2386,10 +2337,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2458,6 +2405,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2494,7 +2442,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2502,7 +2450,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2535,11 +2483,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2593,7 +2541,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2783,11 +2731,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "ინტერნეტი" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2804,6 +2752,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2860,7 +2812,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2884,7 +2836,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2925,7 +2877,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2966,12 +2918,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "ბიბლიოთეკა" @@ -2980,7 +2932,7 @@ msgstr "ბიბლიოთეკა" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3020,7 +2972,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3056,8 +3008,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3066,7 +3017,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3076,8 +3026,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3085,15 +3034,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "შეყვარება" @@ -3174,7 +3119,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3220,10 +3165,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3254,6 +3195,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3274,7 +3219,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3287,10 +3232,6 @@ msgstr "" msgid "Moodbars" msgstr "ხასიათის ზოლები" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3308,7 +3249,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3317,8 +3258,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "მუსიკა" @@ -3327,22 +3267,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "გაჩუმება" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3388,7 +3316,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3417,7 +3345,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "შემდეგი ჩანაწერი" @@ -3455,7 +3383,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3504,10 +3432,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3589,7 +3513,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "&აუდიო CD-ის გახსნა..." @@ -3609,7 +3533,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "ფაილის გახსნა..." @@ -3663,7 +3587,7 @@ msgstr "" msgid "Organise Files" msgstr "ფაილების ორგანიზება" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "ფაილების ორგანიზება..." @@ -3675,7 +3599,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3743,7 +3667,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3756,7 +3680,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3771,14 +3695,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "დაკვრა" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3809,7 +3733,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "რეპერტუარი" @@ -3826,7 +3750,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3867,11 +3791,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3931,7 +3855,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "წინა ჩანაწერი" @@ -3982,16 +3906,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4003,7 +3927,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4040,7 +3964,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4107,7 +4031,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4115,15 +4039,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4135,7 +4051,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4147,7 +4063,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4197,7 +4113,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4238,7 +4154,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4268,8 +4184,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4307,7 +4224,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4347,7 +4264,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4364,12 +4281,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "ძებნა" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4512,7 +4429,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4521,7 +4438,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4588,7 +4505,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4608,16 +4525,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4629,27 +4542,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4685,7 +4594,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4721,7 +4630,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4729,11 +4638,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4765,7 +4674,7 @@ msgstr "" msgid "Song Information" msgstr "ინფორმაცია სიმღერაზე" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "ინფორმაცია" @@ -4801,7 +4710,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4876,7 +4785,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "გაჩერება" @@ -4892,7 +4801,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4921,6 +4830,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5030,6 +4943,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5048,7 +4965,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5090,7 +5007,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5174,7 +5091,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5193,11 +5110,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5237,7 +5154,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5246,7 +5163,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5283,6 +5200,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5308,9 +5229,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5327,11 +5248,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5344,15 +5265,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "ყველა პოდკასტის განახლება" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5462,7 +5379,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5488,7 +5405,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5501,11 +5418,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5513,10 +5434,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5539,10 +5456,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5645,7 +5558,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5661,7 +5574,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/kk.po b/src/translations/kk.po index c7c282041..0761d45b8 100644 --- a/src/translations/kk.po +++ b/src/translations/kk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Kazakh (http://www.transifex.com/davidsansome/clementine/language/kk/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,11 +63,6 @@ msgstr " сек" msgid " songs" msgstr "" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -99,7 +94,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "" @@ -124,7 +119,7 @@ msgstr "" msgid "%1 songs found (showing %2)" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "" @@ -184,7 +179,7 @@ msgstr "Ор&тасы" msgid "&Custom" msgstr "Таң&дауыңызша" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -192,7 +187,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Көмек" @@ -217,7 +212,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Му&зыка" @@ -225,15 +220,15 @@ msgstr "Му&зыка" msgid "&None" msgstr "&Ешнәрсе" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Шығу" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -241,7 +236,7 @@ msgstr "" msgid "&Right" msgstr "&Оң жақ" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -249,7 +244,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Са&ймандар" @@ -285,7 +280,7 @@ msgstr "" msgid "1 day" msgstr "1 күн" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 трек" @@ -429,11 +424,11 @@ msgstr "" msgid "About %1" msgstr "%1 туралы" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Qt туралы..." @@ -443,7 +438,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -497,19 +492,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Файлды қосу" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Файлды қосу..." @@ -517,12 +512,12 @@ msgstr "Файлды қосу..." msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Буманы қосу" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Буманы қосу..." @@ -534,7 +529,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -602,10 +597,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -614,18 +605,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -634,14 +617,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -651,10 +630,6 @@ msgstr "" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -692,7 +667,7 @@ msgstr "Кейін" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -705,7 +680,7 @@ msgstr "Альбом" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -720,10 +695,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -736,11 +707,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Барлық файлдар (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -865,7 +836,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -874,7 +845,7 @@ msgstr "" msgid "Artist" msgstr "Орындайтын" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -945,7 +916,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1002,7 +973,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1055,7 +1027,7 @@ msgstr "Шолу..." msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1079,19 +1051,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Бас тарту" @@ -1100,12 +1059,6 @@ msgstr "Бас тарту" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1144,6 +1097,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Жаңа эпизодтарға тексеру" @@ -1152,19 +1109,15 @@ msgstr "Жаңа эпизодтарға тексеру" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Жаңартуларға тексеру..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1210,13 +1163,13 @@ msgstr "" msgid "Clear" msgstr "Тазарту" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1349,24 +1302,20 @@ msgstr "Түстер" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Түсіндірме" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1397,15 +1346,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1439,16 +1384,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1472,20 +1417,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Алмасу буферіне көшіру" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1507,6 +1448,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1533,7 +1483,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1619,11 +1569,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Жасалған күні" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Түзетілген күні" @@ -1651,7 +1601,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1674,7 +1624,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Файлдарды өшіру" @@ -1682,7 +1632,7 @@ msgstr "Файлдарды өшіру" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1707,11 +1657,15 @@ msgstr "" msgid "Deleting files" msgstr "Файлдарды өшіру" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1740,11 +1694,11 @@ msgstr "Құрылғы аты" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Құрылғылар" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1791,7 +1745,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1812,7 +1766,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1983,12 +1937,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2001,7 +1955,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2021,10 +1975,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2109,7 +2059,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Эквалайзер" @@ -2122,8 +2072,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Қате" @@ -2143,6 +2093,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2263,7 +2218,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2342,27 +2297,23 @@ msgstr "Файл кеңейтілуі" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Файл аты" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Файл өлшемі" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2372,7 +2323,7 @@ msgstr "Файл түрі" msgid "Filename" msgstr "Файл аты" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Файлдар" @@ -2384,10 +2335,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2456,6 +2403,7 @@ msgid "Form" msgstr "Форма" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Пішімі" @@ -2492,7 +2440,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Жалпы" @@ -2500,7 +2448,7 @@ msgstr "Жалпы" msgid "General settings" msgstr "Жалпы баптаулары" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2533,11 +2481,11 @@ msgstr "" msgid "Go" msgstr "Өту" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2591,7 +2539,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2781,11 +2729,11 @@ msgstr "Орнатылған" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Интернет" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2802,6 +2750,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Пішімі қате" @@ -2858,7 +2810,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2882,7 +2834,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2923,7 +2875,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2964,12 +2916,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Ұзындығы" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Жинақ" @@ -2978,7 +2930,7 @@ msgstr "Жинақ" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3018,7 +2970,7 @@ msgstr "" msgid "Load playlist" msgstr "Ойнату тізімін жүктеу" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Ойнату тізімін жүктеу..." @@ -3054,8 +3006,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Жүктелуде..." @@ -3064,7 +3015,6 @@ msgstr "Жүктелуде..." msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3074,8 +3024,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Кіру" @@ -3083,15 +3032,11 @@ msgstr "Кіру" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3172,7 +3117,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3218,10 +3163,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3252,6 +3193,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3272,7 +3217,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Көңіл-күй" @@ -3285,10 +3230,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3306,7 +3247,7 @@ msgstr "" msgid "Move down" msgstr "Төмен жылжыту" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3315,8 +3256,7 @@ msgstr "" msgid "Move up" msgstr "Жоғары жылжыту" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Музыка" @@ -3325,22 +3265,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Дыбысын басу" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3386,7 +3314,7 @@ msgstr "" msgid "New folder" msgstr "Жаңа бума" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Жаңа ойнату тізімі" @@ -3415,7 +3343,7 @@ msgid "Next" msgstr "Келесі" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3453,7 +3381,7 @@ msgstr "" msgid "None" msgstr "Жоқ" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3502,10 +3430,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3587,7 +3511,7 @@ msgstr "Мөлдірсіздік" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3607,7 +3531,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Файлды ашу..." @@ -3661,7 +3585,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3673,7 +3597,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3741,7 +3665,7 @@ msgstr "" msgid "Password" msgstr "Пароль" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Аялдату" @@ -3754,7 +3678,7 @@ msgstr "Ойнатуды аялдату" msgid "Paused" msgstr "Аялдатылған" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3769,14 +3693,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Ойнату" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3807,7 +3731,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3824,7 +3748,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3865,11 +3789,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Баптаулар" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Баптаулар..." @@ -3929,7 +3853,7 @@ msgid "Previous" msgstr "Алдыңғы" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3980,16 +3904,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4001,7 +3925,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4038,7 +3962,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Рейтинг" @@ -4105,7 +4029,7 @@ msgstr "Өшіру" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4113,15 +4037,7 @@ msgstr "" msgid "Remove folder" msgstr "Буманы өшіру" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4133,7 +4049,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4145,7 +4061,7 @@ msgstr "Ойнату тізімінің атын ауыстыру" msgid "Rename playlist..." msgstr "Ойнату тізімінің атын ауыстыру..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4195,7 +4111,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Тастау" @@ -4236,7 +4152,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4266,8 +4182,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4305,7 +4222,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Ойнату тізімін сақтау..." @@ -4345,7 +4262,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Нәтиже" @@ -4362,12 +4279,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Іздеу" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4510,7 +4427,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4519,7 +4436,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4586,7 +4503,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4606,16 +4523,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4627,27 +4540,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4683,7 +4592,7 @@ msgstr "Альбомдарды араластыру" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4719,7 +4628,7 @@ msgstr "Ска" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4727,11 +4636,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4763,7 +4672,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4799,7 +4708,7 @@ msgstr "Сұрыптау" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Қайнар көзі" @@ -4874,7 +4783,7 @@ msgid "Starting..." msgstr "Іске қосылу..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Тоқтату" @@ -4890,7 +4799,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4919,6 +4828,10 @@ msgstr "Тоқтатылған" msgid "Stream" msgstr "Ағындық" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5028,6 +4941,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5046,7 +4963,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5088,7 +5005,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5172,7 +5089,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5191,11 +5108,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "Толық экранға өту/шығу" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5235,7 +5152,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Трек" @@ -5244,7 +5161,7 @@ msgstr "Трек" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5281,6 +5198,10 @@ msgstr "Сөндіру" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5306,9 +5227,9 @@ msgstr "%1 (%2) жүктеп алу мүмкін емес" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Белгісіз" @@ -5325,11 +5246,11 @@ msgstr "Белгісіз қате" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5342,15 +5263,11 @@ msgstr "Жазылудан бас тарту" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5460,7 +5377,7 @@ msgstr "" msgid "Used" msgstr "Қолдануда" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Пайдаланушы интерфейсі" @@ -5486,7 +5403,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5499,11 +5416,15 @@ msgstr "%1 нұсқасы" msgid "View" msgstr "Түрі" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5511,10 +5432,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5537,10 +5454,6 @@ msgstr "WAV" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5643,7 +5556,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5659,7 +5572,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/ko.po b/src/translations/ko.po index b8ae70975..c989635f4 100644 --- a/src/translations/ko.po +++ b/src/translations/ko.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Korean (http://www.transifex.com/davidsansome/clementine/language/ko/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -76,11 +76,6 @@ msgstr " 초" msgid " songs" msgstr " 노래" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 곡)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -112,7 +107,7 @@ msgstr "%2의 %1" msgid "%1 playlists (%2)" msgstr "%1 재생목록 (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "다음 중 %1개 선택됨" @@ -137,7 +132,7 @@ msgstr "%1개 노래 찾음" msgid "%1 songs found (showing %2)" msgstr "%1개 노래 찾음 (%2개 표시 중)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1개 트랙" @@ -197,7 +192,7 @@ msgstr "가운데(&C)" msgid "&Custom" msgstr "사용자 정의(&C)" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "효과음(&E)" @@ -205,7 +200,7 @@ msgstr "효과음(&E)" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "도움말(&H)" @@ -230,7 +225,7 @@ msgstr "평가 잠금" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "음악(&M)" @@ -238,15 +233,15 @@ msgstr "음악(&M)" msgid "&None" msgstr "없음(&N)" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "재생목록(&P)" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "종료(&Q)" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "반복 모드(&R)" @@ -254,7 +249,7 @@ msgstr "반복 모드(&R)" msgid "&Right" msgstr "오른쪽(&R)" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "셔플 모드(&S)" @@ -262,7 +257,7 @@ msgstr "셔플 모드(&S)" msgid "&Stretch columns to fit window" msgstr "창 크기에 맞게 글자열 넓히기(&S)" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "도구(&T)" @@ -298,7 +293,7 @@ msgstr "0px" msgid "1 day" msgstr "1일" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1개 트랙" @@ -442,11 +437,11 @@ msgstr "중단" msgid "About %1" msgstr "%1 정보" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Clementine 정보" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Qt 정보" @@ -456,7 +451,7 @@ msgid "Absolute" msgstr "절대경로" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "계정 정보" @@ -510,19 +505,19 @@ msgstr "다른 스트림 추가..." msgid "Add directory..." msgstr "디렉토리 추가..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "파일 추가" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "transcoder에 파일 추가" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "transcoder 파일(들) 추가" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "파일 추가..." @@ -530,12 +525,12 @@ msgstr "파일 추가..." msgid "Add files to transcode" msgstr "변환할 파일 추가" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "폴더 추가" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "폴더 추가..." @@ -547,7 +542,7 @@ msgstr "새로운 폴더 추가..." msgid "Add podcast" msgstr "팟케스트 추가" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "팟케스트 추가..." @@ -615,10 +610,6 @@ msgstr "무시 횟수 추가" msgid "Add song title tag" msgstr "제목 태그 추가" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "캐시에 음악 추가" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "트랙 태그 추가" @@ -627,18 +618,10 @@ msgstr "트랙 태그 추가" msgid "Add song year tag" msgstr "연도 태그 추가" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "\"좋아요\" 버튼을 클릭하면 노래가 \"내 음악\"에 추가됩니다." - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "스트림 추가..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "내 음악에 추가" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Spotify 재색목록에 추가" @@ -647,14 +630,10 @@ msgstr "Spotify 재색목록에 추가" msgid "Add to Spotify starred" msgstr "Spotify 별점에 추가" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "다른 재생목록에 추가" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "북마크에 추가" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "재생목록에 추가" @@ -664,10 +643,6 @@ msgstr "재생목록에 추가" msgid "Add to the queue" msgstr "대기열에 추가" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "북마크에 사용자/그룹 추가" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Wii 리모컨 동작 추가" @@ -705,7 +680,7 @@ msgstr "이후" msgid "After copying..." msgstr "복사 한 후...." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -718,7 +693,7 @@ msgstr "앨범" msgid "Album (ideal loudness for all tracks)" msgstr "앨범 (모든 트랙에 이상적인 음량)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -733,10 +708,6 @@ msgstr "앨범 표지" msgid "Album info on jamendo.com..." msgstr " jamendo.com 앨범 정보..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "앨범(들)" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "앨범 표지가 있는 앨범" @@ -749,11 +720,11 @@ msgstr "앨범 표지가 없는 앨범" msgid "All" msgstr "전체" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "모든 파일 (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Hypnotoad에 모든 영광을!" @@ -878,7 +849,7 @@ msgid "" "the songs of your library?" msgstr "라이브러리의 모든 곡의 해당하는 음악 파일에 음악 통계를 작성 하시겠습니까?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -887,7 +858,7 @@ msgstr "라이브러리의 모든 곡의 해당하는 음악 파일에 음악 msgid "Artist" msgstr "음악가" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "음악가 정보" @@ -958,7 +929,7 @@ msgstr "평균 이미지 크기" msgid "BBC Podcasts" msgstr "BBC 팟케스트" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1015,7 +986,8 @@ msgstr "최고" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "비트 전송률" @@ -1068,7 +1040,7 @@ msgstr "찾아보기..." msgid "Buffer duration" msgstr "버퍼 시간" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "버퍼링" @@ -1092,19 +1064,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "큐 시트 지원" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "캐시 경로:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "캐시 중" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "%1 캐시 중" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "취소" @@ -1113,12 +1072,6 @@ msgstr "취소" msgid "Cancel download" msgstr "다운로드 취소" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha 가 필요합니다.\n이 문제의 해결하려면 브라우저에서 Vk.com로 접속하여 로그인을 시도하세요. " - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "커버 아트 바꾸기" @@ -1157,6 +1110,10 @@ msgid "" "songs" msgstr "모노 재생 옵션 변경은 다음곡부터 적용됩니다." +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "새로운 에피소드 확인" @@ -1165,19 +1122,15 @@ msgstr "새로운 에피소드 확인" msgid "Check for updates" msgstr "업데이트 확인" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "업데이트 확인..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Vk.com 캐시 디렉터리 선택" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "스마트 재생목록에 이름 추가" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "자동 선택" @@ -1223,13 +1176,13 @@ msgstr "자동 정리" msgid "Clear" msgstr "비우기" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "재생목록 비우기" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1362,24 +1315,20 @@ msgstr "색상" msgid "Comma separated list of class:level, level is 0-3" msgstr "콤마로 클래스:단계의 목록을 나눔, 단계는 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "설명" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "커뮤니티 라디오" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "자동으로 태그 저장" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "자동으로 태그 저장..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1410,15 +1359,11 @@ msgstr "Spotify 설정..." msgid "Configure Subsonic..." msgstr "Subsonic 설정" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Vk.com 설정..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "글로벌 검색 설정..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "라이브러리 설정..." @@ -1452,16 +1397,16 @@ msgid "" "http://localhost:4040/" msgstr "서버에서 연결을 거부하였습니다. 서버의 주소를 확인하세요. 예)http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "연결 시간이 초과되었습니다. 서버의 주소를 확인하세요. 예)http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "연결 문제 또는 오디오가 사용자에 의한 비활성화" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "콘솔" @@ -1485,20 +1430,16 @@ msgstr "원격에 전송하기 전에 오디오 파일들을 무손실로 변환 msgid "Convert lossless files" msgstr "무손실 파일 변환" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "공유 URL 복사" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "클립보드로 복사" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "장치에 복사..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "라이브러리에 복사..." @@ -1520,6 +1461,15 @@ msgid "" "required GStreamer plugins installed" msgstr "GStreamer 요소 \"%1\"를 찾을 수 없습니다 - 필요한 모든 GStreamer 플러그인이 설치되어 있는지 확인하세요" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "재생목록을 생성할수 없습니다." @@ -1546,7 +1496,7 @@ msgstr "출력 파일 %1를 열 수 없습니다" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "커버 관리자" @@ -1632,11 +1582,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "생성한 날짜" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "수정한 날짜" @@ -1664,7 +1614,7 @@ msgstr "음량 줄이기" msgid "Default background image" msgstr "기본 배경 그림" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "%1를 기본 장치로 설정" @@ -1687,7 +1637,7 @@ msgid "Delete downloaded data" msgstr "다운로드된 데이터 삭제" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "파일 삭제" @@ -1695,7 +1645,7 @@ msgstr "파일 삭제" msgid "Delete from device..." msgstr "장치에서 삭제..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "디스크에서 삭제..." @@ -1720,11 +1670,15 @@ msgstr "원본 파일 삭제" msgid "Deleting files" msgstr "파일 삭제 중" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "선택한 트랙을 대기열에서 해제" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "트랙을 대기열에서 해제" @@ -1753,11 +1707,11 @@ msgstr "장치 이름" msgid "Device properties..." msgstr "장치 속성..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "장치" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "다이얼로그" @@ -1804,7 +1758,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "사용 안함" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1825,7 +1779,7 @@ msgstr "옵션 표시" msgid "Display the on-screen-display" msgstr "OSD 표시" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "전체 라이브러리 다시 읽기" @@ -1996,12 +1950,12 @@ msgstr "다이나믹 랜덤 믹스" msgid "Edit smart playlist..." msgstr "스마트 재생목록 편집..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "태그 수정 \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "태그 편집..." @@ -2014,7 +1968,7 @@ msgid "Edit track information" msgstr "트랙 정보 편집" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "트랙 정보 편집..." @@ -2034,10 +1988,6 @@ msgstr "이메일" msgid "Enable Wii Remote support" msgstr "Wii 리모컨 모드 사용" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "자동 캐싱 허용" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "이퀄라이저 사용" @@ -2122,7 +2072,7 @@ msgstr "Clementine에 연결하기 위한 앱에서 다음의 IP를 입력하세 msgid "Entire collection" msgstr "전체 선택" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "이퀄라이저" @@ -2135,8 +2085,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "동등한 --log-level *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "오류" @@ -2156,6 +2106,11 @@ msgstr "노래 복사 오류" msgid "Error deleting songs" msgstr "노래 삭제 오류" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Spotify 플러그인 다운로드 오류" @@ -2276,7 +2231,7 @@ msgstr "페이드 아웃" msgid "Fading duration" msgstr "페이드 아웃 시간" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "CD 드라이브 읽기 실패" @@ -2355,27 +2310,23 @@ msgstr "파일 확장자" msgid "File formats" msgstr "파일 " -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "파일 " -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "파일 이름 (경로 제외)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "파일 명 규칙:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "파일 경로" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "파일 크기" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2385,7 +2336,7 @@ msgstr "파일 형태" msgid "Filename" msgstr "파일 " -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "파일" @@ -2397,10 +2348,6 @@ msgstr "변환할 파일들" msgid "Find songs in your library that match the criteria you specify." msgstr "라이브러리에서 지정한 기준과 일치하는 노래를 찾습니다." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "이 음악가 찾기" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "노래 " @@ -2469,6 +2416,7 @@ msgid "Form" msgstr "형식" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "형태" @@ -2505,7 +2453,7 @@ msgstr "고음 강화" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "일반 " @@ -2513,7 +2461,7 @@ msgstr "일반 " msgid "General settings" msgstr "일반 " -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2546,11 +2494,11 @@ msgstr "이름 지정:" msgid "Go" msgstr "Go" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "다음 재생목록 탭으로 가기" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "이전 재생목록 탭으로 가기" @@ -2604,7 +2552,7 @@ msgstr "장르/앨범에 의한 그룹" msgid "Group by Genre/Artist/Album" msgstr "장르/음악가/앨범에 의한 그룹" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2794,11 +2742,11 @@ msgstr "설치 됨" msgid "Integrity check" msgstr "무결성 검사" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "인터넷" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "인터넷 " @@ -2815,6 +2763,10 @@ msgstr "인트로 트랙" msgid "Invalid API key" msgstr "잘못된 API " +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "잘못된 형식" @@ -2871,7 +2823,7 @@ msgstr "Jamendo 데이터베이스" msgid "Jump to previous song right away" msgstr "바로 이전 곡으로 이동" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "현재 재생 중인 트랙 건너뛰기" @@ -2895,7 +2847,7 @@ msgstr "창을 닫을 때 백그라운드에서 계속 실행" msgid "Keep the original files" msgstr "원본 파일들 " -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "고양이" @@ -2936,7 +2888,7 @@ msgstr "큰 사이드바" msgid "Last played" msgstr "마지막으로 재생됨" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "마지막으로 재생됨" @@ -2977,12 +2929,12 @@ msgstr "Last.fm 좋아하는 트랙" msgid "Left" msgstr "왼쪽" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "길이" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "라이브러리 " @@ -2991,7 +2943,7 @@ msgstr "라이브러리 " msgid "Library advanced grouping" msgstr "향상된 그룹 " -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "라이브러리 재탐색 알림" @@ -3031,7 +2983,7 @@ msgstr "디스크로부터 커버열기..." msgid "Load playlist" msgstr "재생목록 불러오기" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "재생목록 불러오기..." @@ -3067,8 +3019,7 @@ msgstr "트랙 정보 불러오는중" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "여는 중..." @@ -3077,7 +3028,6 @@ msgstr "여는 중..." msgid "Loads files/URLs, replacing current playlist" msgstr "현재 재생목록을 교체할 파일/URL 불러오기" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3087,8 +3037,7 @@ msgstr "현재 재생목록을 교체할 파일/URL 불러오기" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "로그인" @@ -3096,15 +3045,11 @@ msgstr "로그인" msgid "Login failed" msgstr "로그인 실패" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "로그아웃" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "장기 예측 프로파일(LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "좋아요" @@ -3185,7 +3130,7 @@ msgstr "메인 프로필 (MAIN)" msgid "Make it so!" msgstr "Make it so!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Make it so!" @@ -3231,10 +3176,6 @@ msgstr "모든 검색조건 일치 (AND)" msgid "Match one or more search terms (OR)" msgstr "하나 이상의 검색조건 일치 (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "전역 검색 결과의 최대 개수" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "최고 비트 전송률" @@ -3265,6 +3206,10 @@ msgstr "최저 비트 전송률" msgid "Minimum buffer fill" msgstr "최소 버퍼량" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "projectM 프리셋들이 누락되었습니다" @@ -3285,7 +3230,7 @@ msgstr "모노 재생" msgid "Months" msgstr "개월" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "분위기" @@ -3298,10 +3243,6 @@ msgstr "분위기 막대 " msgid "Moodbars" msgstr "분위기 막대" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "더 " - #: library/library.cpp:84 msgid "Most played" msgstr "자주 재생됨" @@ -3319,7 +3260,7 @@ msgstr "마운트 지점" msgid "Move down" msgstr "아래로 이동" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "라이브러리로 이동..." @@ -3328,8 +3269,7 @@ msgstr "라이브러리로 이동..." msgid "Move up" msgstr "위로 이동" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "음악" @@ -3338,22 +3278,10 @@ msgid "Music Library" msgstr "음악 라이브러리" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "음소거" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "나의 앨범" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "내 음악" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "내 추천목록" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3399,7 +3327,7 @@ msgstr "재생을 시작하지 않음" msgid "New folder" msgstr "새 폴더" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "새로운 재생목록" @@ -3428,7 +3356,7 @@ msgid "Next" msgstr "다음" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "다음 트랙" @@ -3466,7 +3394,7 @@ msgstr "짧은 블록 " msgid "None" msgstr "없음" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "선택된 음악들이 장치에 복사되기 적합하지 않음" @@ -3515,10 +3443,6 @@ msgstr "로그인 되지 않음" msgid "Not mounted - double click to mount" msgstr "마운트 되지 않음 - 마운트 하려면 더블클릭" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "찾을 수 없음" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "알림 형태" @@ -3600,7 +3524,7 @@ msgstr "투명도" msgid "Open %1 in browser" msgstr "브라우저에서 %1 열기" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "오디오 CD 열기(&a)..." @@ -3620,7 +3544,7 @@ msgstr "음악을 불러올 폴더를 선택하세요." msgid "Open device" msgstr "장치 열기" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "파일 열기..." @@ -3674,7 +3598,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "파일 정리" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "파일 정리..." @@ -3686,7 +3610,7 @@ msgstr "파일 정리 중..." msgid "Original tags" msgstr "원본 태그" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3754,7 +3678,7 @@ msgstr "파티" msgid "Password" msgstr "비밀번호" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "일시중지" @@ -3767,7 +3691,7 @@ msgstr "재생 일시중지" msgid "Paused" msgstr "일시중지됨" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3782,14 +3706,14 @@ msgstr "픽셀" msgid "Plain sidebar" msgstr "일반 사이드바" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "재생" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "재생 횟수" @@ -3820,7 +3744,7 @@ msgstr "플레이어 옵션" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "재생목록" @@ -3837,7 +3761,7 @@ msgstr "재생목록 옵션" msgid "Playlist type" msgstr "재생목록 종류" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "재생목록" @@ -3878,11 +3802,11 @@ msgstr "설정" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "환경설정" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "환경설정..." @@ -3942,7 +3866,7 @@ msgid "Previous" msgstr "이전" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "이전 트랙" @@ -3993,16 +3917,16 @@ msgstr "해상도" msgid "Querying device..." msgstr "장치 질의..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "대기열 관리자" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "선택한 트랙을 큐에 추가" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "대기열 트랙" @@ -4014,7 +3938,7 @@ msgstr "라디오 (모든 트랙을 같은 볼륨으로)" msgid "Rain" msgstr "빗소리" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "빗소리" @@ -4051,7 +3975,7 @@ msgstr "현재 음악에 별점 4점 평가" msgid "Rate the current song 5 stars" msgstr "현재 음악에 별점 5점 평가" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "등급" @@ -4118,7 +4042,7 @@ msgstr "제거" msgid "Remove action" msgstr "제거 행동" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "재생목록에서 중복 제거" @@ -4126,15 +4050,7 @@ msgstr "재생목록에서 중복 제거" msgid "Remove folder" msgstr "폴더 제거" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "내 음악에서 제거" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "북마크에서 제거" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "재생목록에서 제거" @@ -4146,7 +4062,7 @@ msgstr "재생목록 삭제" msgid "Remove playlists" msgstr "재생목록 제거" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "재생목록에서 재생 불가능한 트랙 제거" @@ -4158,7 +4074,7 @@ msgstr "재생목록 이름 바꾸기" msgid "Rename playlist..." msgstr "재생목록 이름 바꾸기..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "이 순서에서 트랙 번호를 다시 부여..." @@ -4208,7 +4124,7 @@ msgstr "다시 채우기" msgid "Require authentication code" msgstr "인증 코드 " -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "초기화" @@ -4249,7 +4165,7 @@ msgstr "추출" msgid "Rip CD" msgstr "CD 추출" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "오디오 CD 추출" @@ -4279,8 +4195,9 @@ msgstr "안전하게 장치 제거" msgid "Safely remove the device after copying" msgstr "복사 후 안전하게 장치 제거" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "샘플 레이트" @@ -4318,7 +4235,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "재생목록 저장" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "재생목록 저장..." @@ -4358,7 +4275,7 @@ msgstr "확장 가능한 샘플링 속도 프로파일 (SSR)" msgid "Scale size" msgstr "축척 크기" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "점수" @@ -4375,12 +4292,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "검색" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "검색" @@ -4523,7 +4440,7 @@ msgstr "서버 자세히" msgid "Service offline" msgstr "서비스 오프라인" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "%1을 \"%2\"로 설정..." @@ -4532,7 +4449,7 @@ msgstr "%1을 \"%2\"로 설정..." msgid "Set the volume to percent" msgstr "음량을 퍼센트로 설정" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "모든 선택 트랙의 값을 설정..." @@ -4599,7 +4516,7 @@ msgstr "예쁜 OSD 보기" msgid "Show above status bar" msgstr "상태 표시 줄 위에 보기" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "모든 음악 보기" @@ -4619,16 +4536,12 @@ msgstr "분할 표시" msgid "Show fullsize..." msgstr "전체화면 보기..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "글로벌 검색 결과에서 그룹 보기" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "파일 브라우져에서 보기..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "라이브러리에서 보기..." @@ -4640,27 +4553,23 @@ msgstr "다양한 음악가에서 보기" msgid "Show moodbar" msgstr "분위기 막대 " -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "복사본만 보기" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "태그되지 않은 것만 보기" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "검색 제안 표시" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4696,7 +4605,7 @@ msgstr "앨범 섞기" msgid "Shuffle all" msgstr "전부 " -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "재생 목록 섞기" @@ -4732,7 +4641,7 @@ msgstr "스카" msgid "Skip backwards in playlist" msgstr "재생목록에서 뒤로 넘기기" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "넘긴 회수" @@ -4740,11 +4649,11 @@ msgstr "넘긴 회수" msgid "Skip forwards in playlist" msgstr "재생목록에서 앞으로 넘기기" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "선택된 트랙들 " -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "트랙 " @@ -4776,7 +4685,7 @@ msgstr "소프트 록" msgid "Song Information" msgstr "음악 정보" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "음악 정보" @@ -4812,7 +4721,7 @@ msgstr "정렬" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "출처" @@ -4887,7 +4796,7 @@ msgid "Starting..." msgstr "시작중..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "중지" @@ -4903,7 +4812,7 @@ msgstr "현재 트랙이 끝난 후 정지" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "이번 트랙 이후 정지" @@ -4932,6 +4841,10 @@ msgstr "중지됨" msgid "Stream" msgstr "스트림" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5041,6 +4954,10 @@ msgstr "재생 중인 음악의 앨범 표지" msgid "The directory %1 is not valid" msgstr "디렉터리 %1 이 유효하지 않습니다." +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "두 번재 값이 반드시 첫 번째 값 보다 커야 합니다!" @@ -5059,7 +4976,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Subsonic의 시험 기간이 끝났습니다. 라이센스 키를 얻기위한 기부를 해주세요. 자세한 사항은 subsonic.org 에서 확인하세요." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5101,7 +5018,7 @@ msgid "" "continue?" msgstr "파일들이 장치로 부터 삭제 될 것 입니다. 계속 진행 하시겠습니까?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5185,7 +5102,7 @@ msgstr "이 장치의 형태는 지원되지 않습니다: %1" msgid "Time step" msgstr "시간 간격" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5204,11 +5121,11 @@ msgstr "예쁜 OSD 토글" msgid "Toggle fullscreen" msgstr "전체화면 토글" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "대기열 상황 토글" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "청취 기록 토글" @@ -5248,7 +5165,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "트랙" @@ -5257,7 +5174,7 @@ msgstr "트랙" msgid "Tracks" msgstr "트랙" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "음악 변환" @@ -5294,6 +5211,10 @@ msgstr "끄기" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(들)" @@ -5319,9 +5240,9 @@ msgstr "%1(%2)를 다운로드 할 수 없습니다" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "알 수 없는" @@ -5338,11 +5259,11 @@ msgstr "알 수 없는 오류" msgid "Unset cover" msgstr "커버 해제" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "선택된 트랙들 넘기기 " -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "트랙 넘기기 " @@ -5355,15 +5276,11 @@ msgstr "구독 안함" msgid "Upcoming Concerts" msgstr "다가오는 콘서트" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "갱신" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "모든 팟케스트 업데이트" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "변경된 라이브러리 폴더 업데이트" @@ -5473,7 +5390,7 @@ msgstr "음량 표준화 사용" msgid "Used" msgstr "사용 됨" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "사용자 인터페이스" @@ -5499,7 +5416,7 @@ msgid "Variable bit rate" msgstr "가변 비트 전송률" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "다양한 음악가" @@ -5512,11 +5429,15 @@ msgstr "버전 %1" msgid "View" msgstr "보기" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "시각화 모드" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "시각화" @@ -5524,10 +5445,6 @@ msgstr "시각화" msgid "Visualizations Settings" msgstr "시각화 설정" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "음성 활성도 감지" @@ -5550,10 +5467,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "재생목록 탭을 닫으면 알림" @@ -5656,7 +5569,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "지금 전부 다시 검색해도 좋습니까?" @@ -5672,7 +5585,7 @@ msgstr "메타데이터 작성" msgid "Wrong username or password." msgstr "잘못된 사용자명 또는 비밀번호 입니다." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/lt.po b/src/translations/lt.po index e063805dc..1984e8ee9 100644 --- a/src/translations/lt.po +++ b/src/translations/lt.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Lithuanian (http://www.transifex.com/davidsansome/clementine/language/lt/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -68,11 +68,6 @@ msgstr " sek." msgid " songs" msgstr " dainos" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 dainos)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -104,7 +99,7 @@ msgstr "%1 šaltinyje %2" msgid "%1 playlists (%2)" msgstr "%1 grojaraščiai (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 pažymėta iš" @@ -129,7 +124,7 @@ msgstr "%1 rasta dainų" msgid "%1 songs found (showing %2)" msgstr "%1 rasta dainų (rodoma %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 takeliai" @@ -189,7 +184,7 @@ msgstr "&Centras" msgid "&Custom" msgstr "&Pasirinktinas" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "P&apildomai" @@ -197,7 +192,7 @@ msgstr "P&apildomai" msgid "&Grouping" msgstr "&Grupavimas" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Pagalba" @@ -222,7 +217,7 @@ msgstr "&Užrakinti įvertinimą" msgid "&Lyrics" msgstr "&Dainų žodžiai" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Muzika" @@ -230,15 +225,15 @@ msgstr "Muzika" msgid "&None" msgstr "&Nieko" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Grojaraštis" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Baigti" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Kartojimo režimas" @@ -246,7 +241,7 @@ msgstr "Kartojimo režimas" msgid "&Right" msgstr "&Dešinė" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Maišymo veiksena" @@ -254,7 +249,7 @@ msgstr "Maišymo veiksena" msgid "&Stretch columns to fit window" msgstr "&Ištempti stulpelius, kad užpildytų langą" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Įrankiai" @@ -290,7 +285,7 @@ msgstr "0px" msgid "1 day" msgstr "1 diena" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 daina" @@ -434,11 +429,11 @@ msgstr "Nutraukti" msgid "About %1" msgstr "Apie %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Apie Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Apie Qt..." @@ -448,7 +443,7 @@ msgid "Absolute" msgstr "Absoliutūs" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Paskyros informacija" @@ -502,19 +497,19 @@ msgstr "Pridėti kitą srautą..." msgid "Add directory..." msgstr "Pridėti nuorodą..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Pridėti failą" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Pridėti failą perkodavimui" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Pridėti failus perkodavimui" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Pridėti failą..." @@ -522,12 +517,12 @@ msgstr "Pridėti failą..." msgid "Add files to transcode" msgstr "Pridėti failus perkodavimui" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Pridėti aplanką" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Pridėti aplanką..." @@ -539,7 +534,7 @@ msgstr "Pridėti naują aplanką..." msgid "Add podcast" msgstr "Pridėti srautą" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Pridėti srautą..." @@ -607,10 +602,6 @@ msgstr "Nustatyti kūrinio prametimų skaičių" msgid "Add song title tag" msgstr "Pridėti žymę kūrinio pavadinimui" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Pridėti dainą į talpyklą" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Pridėti žymę kūrinio numeriui" @@ -619,18 +610,10 @@ msgstr "Pridėti žymę kūrinio numeriui" msgid "Add song year tag" msgstr "Pridėti žymę kūrionio metams" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Pridėti dainas į Mano Muziką, kai paspaudžiamas mygtukas \"Patinka\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Pridėti srautą..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Pridėti į Mano Muziką" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Pridėti į Spotify grojaraščius" @@ -639,14 +622,10 @@ msgstr "Pridėti į Spotify grojaraščius" msgid "Add to Spotify starred" msgstr "Pridėti į Spotify pažymėtus" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Pridėti prie kito grojaraščio" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Pridėti į adresyną" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Įdėti į grojaraštį" @@ -656,10 +635,6 @@ msgstr "Įdėti į grojaraštį" msgid "Add to the queue" msgstr "Įdėti į eilę" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Pridėti vartotoją/grupę į adresyną" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Pridėti Wii pulto veiksmą" @@ -697,7 +672,7 @@ msgstr "Po" msgid "After copying..." msgstr "Po kopijavimo..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -710,7 +685,7 @@ msgstr "Albumas" msgid "Album (ideal loudness for all tracks)" msgstr "Albumas (idealus garsumas visoms dainoms)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -725,10 +700,6 @@ msgstr "Albumo viršelis" msgid "Album info on jamendo.com..." msgstr "Albumo info iš jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumai" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumai su viršeliais" @@ -741,11 +712,11 @@ msgstr "Albumai be viršelių" msgid "All" msgstr "Visi" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Visi Failai (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Visa šlovė Hypnotoad'ui!" @@ -870,7 +841,7 @@ msgid "" "the songs of your library?" msgstr "Ar tikrai norite įrašyti dainos statistiką į dainos failą visoms dainoms Jūsų fonotekoje?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -879,7 +850,7 @@ msgstr "Ar tikrai norite įrašyti dainos statistiką į dainos failą visoms da msgid "Artist" msgstr "Atlikėjas" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Atlikėjo info" @@ -950,7 +921,7 @@ msgstr "Vidutinis paveikslo dydis" msgid "BBC Podcasts" msgstr "BBC srautas" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1007,7 +978,8 @@ msgstr "Geriausias" msgid "Biography" msgstr "Biografija" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitų greitis" @@ -1060,7 +1032,7 @@ msgstr "Naršyti..." msgid "Buffer duration" msgstr "Buferio trukmė" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Kaupiamas buferis" @@ -1084,19 +1056,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "\"CUE sheet\" palaikymas" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Talpyklos vieta:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Talpinama" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Talpinama %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Atšaukti" @@ -1105,12 +1064,6 @@ msgstr "Atšaukti" msgid "Cancel download" msgstr "Atšaukti atsiuntimą" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Reikalingas saugos kodas.\nKad išspręsti šią problemą, pabandykite prisijungti prie Vk.com per savo naršyklę." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Keisti viršelio paveikslėlį" @@ -1149,6 +1102,10 @@ msgid "" "songs" msgstr "Mono perklausos nustatymų keitimas suveiks kitoms grojamoms dainoms." +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Tikrinti, ar nėra naujų epizodų" @@ -1157,19 +1114,15 @@ msgstr "Tikrinti, ar nėra naujų epizodų" msgid "Check for updates" msgstr "Tikrinti ar yra atnaujinimų" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Atnaujinimų tikrinimas..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Pasirinkite Vk.com talpyklos katalogą" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Parinkite pavadinimą išmaniajam grojaraščiui" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Automatiškai parinkti" @@ -1215,13 +1168,13 @@ msgstr "Valoma" msgid "Clear" msgstr "Išvalyti" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Išvalyti grojaraštį" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "„Clementine“" @@ -1354,24 +1307,20 @@ msgstr "Spalvos" msgid "Comma separated list of class:level, level is 0-3" msgstr "Kableliais išskirtas sąrašas iš klasės:lygio, lygis yra nuo 0 iki 3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Komentaras" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Bendruomeninis Radijas" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Užbaigti žymes automatiškai" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Pabaigti žymes automatiškai..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1402,15 +1351,11 @@ msgstr "Konfigūruoti Spotify..." msgid "Configure Subsonic..." msgstr "Konfigūruoti subsonix" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Konfigūruoti Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Nustatyti visuotinę paiešką..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Konfigūruoti fonoteką..." @@ -1444,16 +1389,16 @@ msgid "" "http://localhost:4040/" msgstr "Ryšį serveris atmetė, patikrinkite serverio URL. Pvz.: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Baigėsi prisijungimo laikas, patikrinkite serverio URL. Pavyzdys: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Ryšio problemos arba savininkas išjungė garso įrašą" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Pultas" @@ -1477,20 +1422,16 @@ msgstr "Konvertuoti nenuostolingus garso įrašų failus prieš išsiunčiant ju msgid "Convert lossless files" msgstr "Konvertuoti nenuostolingus failus" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopijuoti dalinimosi url į iškarpinę" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopijuoti į atmintinę" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopijuoti į įrenginį..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopijuoti į fonoteką..." @@ -1512,6 +1453,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Nepavyko sukurti „GStreamer“ elemento \"%1\" - įsitikinkite ar įdiegti visi reikalingi „GStreamer“ plėtiniai" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Nepavyko sukurti grojaraščio" @@ -1538,7 +1488,7 @@ msgstr "Nepavyko atverti išvesties failo %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Viršelių tvarkytuvė" @@ -1624,11 +1574,11 @@ msgid "" "recover your database" msgstr "Aptiktas duomenų bazės pažeidimas. Norėdami gauti nurodymus kaip atkurti savo duomenų bazę, skaitykite https://github.com/clementine-player/Clementine/wiki/Database-Corruption" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Sukūrimo data" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Pakeitimo data" @@ -1656,7 +1606,7 @@ msgstr "Sumažinti garsą" msgid "Default background image" msgstr "Numatytasis fono paveikslėlis" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Numatytas įrenginys esantis %1" @@ -1679,7 +1629,7 @@ msgid "Delete downloaded data" msgstr "Naikinti atsiųstus duomenis" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Ištrinti failus" @@ -1687,7 +1637,7 @@ msgstr "Ištrinti failus" msgid "Delete from device..." msgstr "Ištrinti iš įrenginio..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Ištrinti iš disko..." @@ -1712,11 +1662,15 @@ msgstr "Ištrinti originalius failus" msgid "Deleting files" msgstr "Trinami failai" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Iš eilės pažymėtus takelius" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Iš eilės takelį" @@ -1745,11 +1699,11 @@ msgstr "Įrenginio pavadinimas" msgid "Device properties..." msgstr "Įrenginio savybės..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Įrenginiai" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialogas" @@ -1796,7 +1750,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Išjungta" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1817,7 +1771,7 @@ msgstr "Rodymo nuostatos" msgid "Display the on-screen-display" msgstr "Rodyti OSD" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Pilnai perskenuoti fonoteką" @@ -1988,12 +1942,12 @@ msgstr "Dinaminis atsitiktinis maišymas" msgid "Edit smart playlist..." msgstr "Taisyti išmanųjį grojaraštį..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Redaguoti žymę \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Taisyti žymę..." @@ -2006,7 +1960,7 @@ msgid "Edit track information" msgstr "Taisyti takelio informaciją" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Taisyti takelio informaciją..." @@ -2026,10 +1980,6 @@ msgstr "El. paštas" msgid "Enable Wii Remote support" msgstr "Įgalinti Wii nuotolinio pulto palaikymą" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Įjungti automatinį talpinimą" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Įjungti glodintuvą" @@ -2114,7 +2064,7 @@ msgstr "Programoje įveskite šį adresą ir prisijungsite prie Clementine." msgid "Entire collection" msgstr "Visa kolekcija" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Glodintuvas" @@ -2127,8 +2077,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Tai atitinka --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Klaida" @@ -2148,6 +2098,11 @@ msgstr "Klaida kopijuojant dainas" msgid "Error deleting songs" msgstr "Klaida trinant dainas" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Klaida siunčiant Spotify plėtinį" @@ -2268,7 +2223,7 @@ msgstr "Pradingimas" msgid "Fading duration" msgstr "Suliejimo trukmė" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Nepavyko perskaityti CD disko" @@ -2347,27 +2302,23 @@ msgstr "Failo plėtinys" msgid "File formats" msgstr "Failų formatai" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Failo vardas" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Failo vardas (be kelio)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Failo pavadinimo šablonas:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Failų keliai" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Failo dydis" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2377,7 +2328,7 @@ msgstr "Failo tipas" msgid "Filename" msgstr "Failopavadinimas" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Failai" @@ -2389,10 +2340,6 @@ msgstr "Failai perkodavimui" msgid "Find songs in your library that match the criteria you specify." msgstr "Rasti fonotekoje dainas, kurios atitinka jūsų nurodytus kriterijus." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Rasti šį atlikėją" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Skenuojama daina" @@ -2461,6 +2408,7 @@ msgid "Form" msgstr "Forma" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formatas" @@ -2497,7 +2445,7 @@ msgstr "Visi aukšti tonai" msgid "Ge&nre" msgstr "Ža&nras" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Bendri" @@ -2505,7 +2453,7 @@ msgstr "Bendri" msgid "General settings" msgstr "Pagrindiniai nustatymai" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2538,11 +2486,11 @@ msgstr "Suteikti pavadinimą" msgid "Go" msgstr "Eiti" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Eiti į sekančią grojaraščių kortelę" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Eiti į praeitą grojarasčių kortelę" @@ -2596,7 +2544,7 @@ msgstr "Grupuoti pagal Žanrą/Albumą" msgid "Group by Genre/Artist/Album" msgstr "Grupuoti pagal Žanrą/Atlikėją/Albumą" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2786,11 +2734,11 @@ msgstr "Įdiegta" msgid "Integrity check" msgstr "Vientisumo tikrinimas" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internetas" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Interneto tiekėjai" @@ -2807,6 +2755,10 @@ msgstr "Įžangos takeliai" msgid "Invalid API key" msgstr "Netinkamas API raktas" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Netinkamas formatas" @@ -2863,7 +2815,7 @@ msgstr "Jamendo duomenų bazė" msgid "Jump to previous song right away" msgstr "Iš karto perjungiama į ankstesnį takelį" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Peršokti prie dabar grojamo takelio" @@ -2887,7 +2839,7 @@ msgstr "Veikti fone kai langas uždaromas" msgid "Keep the original files" msgstr "Palikti originialius failus" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kačiukai" @@ -2928,7 +2880,7 @@ msgstr "Didelė šoninė juosta" msgid "Last played" msgstr "Vėliausiai grota" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Paskiausiai grota" @@ -2969,12 +2921,12 @@ msgstr "Mažiausiai populiarūs takeliai" msgid "Left" msgstr "Kairė" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Trukmė" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Fonoteka" @@ -2983,7 +2935,7 @@ msgstr "Fonoteka" msgid "Library advanced grouping" msgstr "Sudėtingesnis fonotekos grupavimas" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Fonotekos perskenavimo žinutė" @@ -3023,7 +2975,7 @@ msgstr "Įkelti viršelį iš disko..." msgid "Load playlist" msgstr "Įkelti grojaraštį" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Įkelti grojaraštį..." @@ -3059,8 +3011,7 @@ msgstr "Įkeliama kūrinio informacija" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Įkeliama..." @@ -3069,7 +3020,6 @@ msgstr "Įkeliama..." msgid "Loads files/URLs, replacing current playlist" msgstr "Įkelia failus/URL, pakeičiant esamą sąrašą" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3079,8 +3029,7 @@ msgstr "Įkelia failus/URL, pakeičiant esamą sąrašą" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Prisijungti" @@ -3088,15 +3037,11 @@ msgstr "Prisijungti" msgid "Login failed" msgstr "Prisijungimas nepavyko" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Atsijungti" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Ilgalaikio nuspėjimo profilis (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Patinka" @@ -3177,7 +3122,7 @@ msgstr "Pagrindinis profilis" msgid "Make it so!" msgstr "Padaryti tai taip!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Padaryti tai taip!" @@ -3223,10 +3168,6 @@ msgstr "Atitikti kiekvieną paieškos frazę (IR)" msgid "Match one or more search terms (OR)" msgstr "Atitinka vieną ar daugiau paieškos frazių (ARBA)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maksimalus visuotinės paieškos rezultatų skaičius" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maksimalus bitrate" @@ -3257,6 +3198,10 @@ msgstr "Minimalus bitrate" msgid "Minimum buffer fill" msgstr "Minimalus buferio užpildas" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Trūksta projectM šablonų" @@ -3277,7 +3222,7 @@ msgstr "Mono grojimas" msgid "Months" msgstr "Mėnesiai" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Nuotaika" @@ -3290,10 +3235,6 @@ msgstr "Nuotaikos juostos stilius" msgid "Moodbars" msgstr "Nuotaikos juostos" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Daugiau" - #: library/library.cpp:84 msgid "Most played" msgstr "Dažniausiai grota" @@ -3311,7 +3252,7 @@ msgstr "Prijungimo vietos" msgid "Move down" msgstr "Perkelti žemyn" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Perkelti į fonoteką" @@ -3320,8 +3261,7 @@ msgstr "Perkelti į fonoteką" msgid "Move up" msgstr "Perkelti aukštyn" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Muzika" @@ -3330,22 +3270,10 @@ msgid "Music Library" msgstr "Fonoteka" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Nutildyti" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Mano Albumai" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Mano muzika" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Mano rekomendacijos" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3391,7 +3319,7 @@ msgstr "Niekada nepradėti groti" msgid "New folder" msgstr "Naujas aplankas" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Naujas grojaraštis" @@ -3420,7 +3348,7 @@ msgid "Next" msgstr "Toliau" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Kitas takelis" @@ -3458,7 +3386,7 @@ msgstr "Jokių trumpų blokų" msgid "None" msgstr "Nėra" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Nei viena iš pažymėtų dainų netinka kopijavimui į įrenginį" @@ -3507,10 +3435,6 @@ msgstr "Neprisijungęs" msgid "Not mounted - double click to mount" msgstr "Neprijungtas - du kartus spragtelėkite, kad prijungti" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nieko nerasta" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Pranešimo tipas" @@ -3592,7 +3516,7 @@ msgstr "Permatomumas" msgid "Open %1 in browser" msgstr "Atverti %1 naršyklėje" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Atverti &audio CD..." @@ -3612,7 +3536,7 @@ msgstr "Atverti katalogą, iš kurio importuoti muziką" msgid "Open device" msgstr "Atverti įrenginį" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Atverti failą..." @@ -3666,7 +3590,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Tvarkyti failus" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Tvarkyti failus..." @@ -3678,7 +3602,7 @@ msgstr "Tvarkomi failai" msgid "Original tags" msgstr "Originalios žymės" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3746,7 +3670,7 @@ msgstr "Vakarėlis" msgid "Password" msgstr "Slaptažodis" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pristabdyti" @@ -3759,7 +3683,7 @@ msgstr "Sulaikyti grojimą" msgid "Paused" msgstr "Pristabdyta" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3774,14 +3698,14 @@ msgstr "Pikselis" msgid "Plain sidebar" msgstr "Paprasta šoninė juosta" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Groti" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Grojimo skaitiklis" @@ -3812,7 +3736,7 @@ msgstr "Leistuvo parinktys" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Grojaraštis" @@ -3829,7 +3753,7 @@ msgstr "Grojaraščio parinktys" msgid "Playlist type" msgstr "Grojaraščio tipas" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Grojaraščiai" @@ -3870,11 +3794,11 @@ msgstr "Nustatymas" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Nustatymai" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Nustatymai..." @@ -3934,7 +3858,7 @@ msgid "Previous" msgstr "Atgal" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Ankstesnis takelis" @@ -3985,16 +3909,16 @@ msgstr "Kokybė" msgid "Querying device..." msgstr "Pateikiama užklausa įrenginiui..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Eilės tvarkytuvė" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "į eilę pažymėtus takelius" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "į eilę takelį" @@ -4006,7 +3930,7 @@ msgstr "Radijas (vienodas garsumas visiems takeliams)" msgid "Rain" msgstr "Lietus" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Lietus" @@ -4043,7 +3967,7 @@ msgstr "Įvertinti šią dainą 4 žvaigždėmis" msgid "Rate the current song 5 stars" msgstr "Įvertinti šią dainą 5 žvaigždėmis" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Įvertinimas" @@ -4110,7 +4034,7 @@ msgstr "Pašalinti" msgid "Remove action" msgstr "Pašalinti veiksmą" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Pašalinti dublikatus iš grojaraščio" @@ -4118,15 +4042,7 @@ msgstr "Pašalinti dublikatus iš grojaraščio" msgid "Remove folder" msgstr "Pašalinti aplanką" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Pašalinti iš Mano muzika" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Pašalinti iš adresyno" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Ištrinti iš grojaraščio" @@ -4138,7 +4054,7 @@ msgstr "Pašalinti grojaraštį" msgid "Remove playlists" msgstr "Pašalinti grojaraščius" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Pašalinti neprieinamus takelius iš grojaraščio" @@ -4150,7 +4066,7 @@ msgstr "Pervadinti grojaraštį" msgid "Rename playlist..." msgstr "Pervadinti grojaraštį..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Pernumeruoti takelius šia tvarka..." @@ -4200,7 +4116,7 @@ msgstr "Užpildyti naujai" msgid "Require authentication code" msgstr "Reikalauti atpažinimo kodo" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Atstatyti" @@ -4241,7 +4157,7 @@ msgstr "Perrašyti" msgid "Rip CD" msgstr "Perrašyti CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Perrašyti garso įrašų CD" @@ -4271,8 +4187,9 @@ msgstr "Saugiai pašalinti įrenginį" msgid "Safely remove the device after copying" msgstr "Saugiai pašalinti įrenginį po kopijavimo" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Išrankos dažnis" @@ -4310,7 +4227,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Išsaugoti grojaraštį" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Įrašyti grojaraštį..." @@ -4350,7 +4267,7 @@ msgstr "Besikeičiantis kodavimo dažnio profilis (SSR)" msgid "Scale size" msgstr "Keisti dydį" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Įvertinimas" @@ -4367,12 +4284,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Ieškoti" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Paieška" @@ -4515,7 +4432,7 @@ msgstr "Serverio detalės" msgid "Service offline" msgstr "Servisas nepasiekiamas" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Nustatyti %1 į \"%2\"..." @@ -4524,7 +4441,7 @@ msgstr "Nustatyti %1 į \"%2\"..." msgid "Set the volume to percent" msgstr "Nustatyti garsumą iki procentų" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Nustatyti vertę visiems pažymėtiems takeliams..." @@ -4591,7 +4508,7 @@ msgstr "Rodyti gražų OSD" msgid "Show above status bar" msgstr "Rodyti virš būsenos juostos" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Rodyti visas dainas" @@ -4611,16 +4528,12 @@ msgstr "Rodyti skirtukus" msgid "Show fullsize..." msgstr "Rodyti viso dydžio..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Rodyti grupes visuotinės paieškos rezultatuose" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Rodyti failų naršyklėje..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Rodyti fonotekoje..." @@ -4632,27 +4545,23 @@ msgstr "Rodyti įvairiuose atlikėjuose" msgid "Show moodbar" msgstr "Rodyti nuotaikos juostą" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Rodyti tik duplikatus" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Rodyti tik be žymių" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Rodyti ar slėpti šoninę juostą" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Rodyti grojamą dainą jūsų puslapyje" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Rodyti paieškos pasiūlymus" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Rodyti šoninę juostą" @@ -4688,7 +4597,7 @@ msgstr "Maišyti albumus" msgid "Shuffle all" msgstr "Maišyti viską" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Maišyti grojaraštį" @@ -4724,7 +4633,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Ankstesnis kūrinys grojaraštyje" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Praleisti skaičiavimą" @@ -4732,11 +4641,11 @@ msgstr "Praleisti skaičiavimą" msgid "Skip forwards in playlist" msgstr "Kitas grojaraščio kūrinys" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Praleisti pasirinktus takelius" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Praleisti takelį" @@ -4768,7 +4677,7 @@ msgstr "Ramus rokas" msgid "Song Information" msgstr "Dainos informacija" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Dainos info" @@ -4804,7 +4713,7 @@ msgstr "Rikiavimas" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Šaltinis" @@ -4879,7 +4788,7 @@ msgid "Starting..." msgstr "Pradedama..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Stabdyti" @@ -4895,7 +4804,7 @@ msgstr "Stabdyti po kiekvieno takelio" msgid "Stop after every track" msgstr "Stabdyti po kiekvieno takelio" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Stabdyti po šio takelio" @@ -4924,6 +4833,10 @@ msgstr "Sustabdyta" msgid "Stream" msgstr "Srautas" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5033,6 +4946,10 @@ msgstr "Viršelis iš šiuo metu atliekamos dainos albumo" msgid "The directory %1 is not valid" msgstr "Aplankas %1 yra netinkamas" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Antroji reikšmė turi būti didesnė nei pirmoji!" @@ -5051,7 +4968,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Bandomasis subsonic laikotarpis baigėsi. Paaukokite ir gaukite licenciją. Norėdami sužinoti daugiau aplankykite subsonic.org." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5093,7 +5010,7 @@ msgid "" "continue?" msgstr "Šie failai bus ištrinti iš įrenginio, ar tikrai norite tęsti?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5177,7 +5094,7 @@ msgstr "Šio tipo įrenginys yra nepalaikomas: %1" msgid "Time step" msgstr "Žingsnio trukmė" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5196,11 +5113,11 @@ msgstr "Išjungti gražųjį OSD" msgid "Toggle fullscreen" msgstr "Visame ekrane" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Perjungti eilės statusą" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Perjungti „scrobbling“ būseną" @@ -5240,7 +5157,7 @@ msgstr "Viso tinklo užklausų padaryta" msgid "Trac&k" msgstr "Ta&kelis" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Takelis" @@ -5249,7 +5166,7 @@ msgstr "Takelis" msgid "Tracks" msgstr "Takeliai" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Perkoduoti muziką" @@ -5286,6 +5203,10 @@ msgstr "Išjungti" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL" @@ -5311,9 +5232,9 @@ msgstr "Nepavyko atsiųsti %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Nežinomas" @@ -5330,11 +5251,11 @@ msgstr "Nežinoma klaida" msgid "Unset cover" msgstr "Pašalinti viršelį" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Nepraleisti pasirinktų takelių" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Nepraleisti takelio" @@ -5347,15 +5268,11 @@ msgstr "Nebeprenumeruoti" msgid "Upcoming Concerts" msgstr "Artėjantys koncertai" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Atnaujinti" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Atnaujinti visas garso prenumeratas" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Atnaujinti pakeistus fonotekos katalogus" @@ -5465,7 +5382,7 @@ msgstr "Naudoti garso normalizavimą" msgid "Used" msgstr "Panaudota" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Naudotojo sąsaja" @@ -5491,7 +5408,7 @@ msgid "Variable bit rate" msgstr "Kintamas bitrate" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Įvairūs atlikėjai" @@ -5504,11 +5421,15 @@ msgstr "Versija %1" msgid "View" msgstr "Rodymas" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Vaizdinio veiksena" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Vaizdiniai" @@ -5516,10 +5437,6 @@ msgstr "Vaizdiniai" msgid "Visualizations Settings" msgstr "Vaizdinio nustatymai" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Balso aktyvumo aptikimas" @@ -5542,10 +5459,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Siena" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Perspėti mane, kai uždaroma grojaraščio kortelė." @@ -5648,7 +5561,7 @@ msgid "" "well?" msgstr "Ar norėtumėte perkelti kitas dainas į šio atlikėjo albumą?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Ar norite paleisti pilną perskenavimą dabar?" @@ -5664,7 +5577,7 @@ msgstr "Įrašyti meta duomenis" msgid "Wrong username or password." msgstr "Netinkamas naudotojo vardas ar slaptažodis." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/lv.po b/src/translations/lv.po index 2df089790..30fcd1836 100644 --- a/src/translations/lv.po +++ b/src/translations/lv.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Latvian (http://www.transifex.com/davidsansome/clementine/language/lv/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -68,11 +68,6 @@ msgstr " sekundes" msgid " songs" msgstr " dziesmas" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 dziesmas)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -104,7 +99,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "%1 atskaņošanas saraksti (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 izvēlēti no" @@ -129,7 +124,7 @@ msgstr "atrastas %1 dziesmas" msgid "%1 songs found (showing %2)" msgstr "atrastas %1 dziesmas (redzamas %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 dziesmas" @@ -189,7 +184,7 @@ msgstr "&Centrs" msgid "&Custom" msgstr "&Pielāgots" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Ekstras" @@ -197,7 +192,7 @@ msgstr "Ekstras" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Palīdzība" @@ -222,7 +217,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Mūzika" @@ -230,15 +225,15 @@ msgstr "Mūzika" msgid "&None" msgstr "&Nav" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Atskaņošanas saraksts" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Iziet" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Atkārtošanas režīms" @@ -246,7 +241,7 @@ msgstr "Atkārtošanas režīms" msgid "&Right" msgstr "&Pa labi" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Jaukšanas režīms" @@ -254,7 +249,7 @@ msgstr "Jaukšanas režīms" msgid "&Stretch columns to fit window" msgstr "&izstiept kolonnas, lai pielāgotu loga izmēram" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Rīki" @@ -290,7 +285,7 @@ msgstr "0px" msgid "1 day" msgstr "1 diena" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 dziesma" @@ -434,11 +429,11 @@ msgstr "Atcelt" msgid "About %1" msgstr "Par %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Par Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Par Qt..." @@ -448,7 +443,7 @@ msgid "Absolute" msgstr "Absolūts" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Konta informācija" @@ -502,19 +497,19 @@ msgstr "Pievienot citu straumi..." msgid "Add directory..." msgstr "Pievienot mapi..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Pievienot failu" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Pievienot failu pārkodētājam" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Pievienot failu(s) pārkodētājam" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Pievienot failu..." @@ -522,12 +517,12 @@ msgstr "Pievienot failu..." msgid "Add files to transcode" msgstr "Pievienot failus pārkodēšanai" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Pievienot mapi" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Pievienot mapi..." @@ -539,7 +534,7 @@ msgstr "Pievienot jaunu mapi..." msgid "Add podcast" msgstr "Pievienot podraidi" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Pievienot podraidi..." @@ -607,10 +602,6 @@ msgstr "" msgid "Add song title tag" msgstr "Pievienot dziesmas nosaukumu birku" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Pievienot dziesmu kešatmiņai" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Pievienot dziesmas numura birku" @@ -619,18 +610,10 @@ msgstr "Pievienot dziesmas numura birku" msgid "Add song year tag" msgstr "Pievienot dziesmas gada birku" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Pievienot dziesmas \"Manai mūzikai\", nospiežot pogu \"Patīk\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Pievienot straumi..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Pievienot Manai Mūzikai" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Pievienot Spotify atskaņošanas sarakstiem" @@ -639,14 +622,10 @@ msgstr "Pievienot Spotify atskaņošanas sarakstiem" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Pievienot citam atskaņošanas sarakstam" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Pievienot grāmatzīmēm" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Pievienot atskaņošanas sarakstam" @@ -656,10 +635,6 @@ msgstr "Pievienot atskaņošanas sarakstam" msgid "Add to the queue" msgstr "Pievienot rindai" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Pievienot lietotāju/grupu grāmatzīmēm" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Pievienot wiimotedev darbību" @@ -697,7 +672,7 @@ msgstr "Pēc" msgid "After copying..." msgstr "Pēc kopēšanas..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -710,7 +685,7 @@ msgstr "Albums" msgid "Album (ideal loudness for all tracks)" msgstr "Albums (ideāls skaļums visiem celiņiem)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -725,10 +700,6 @@ msgstr "Albuma vāks" msgid "Album info on jamendo.com..." msgstr "Albuma info vientē jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumi" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumi ar vāka attēlu" @@ -741,11 +712,11 @@ msgstr "Albumi bez vāka attēla" msgid "All" msgstr "Visi" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Visi faili (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -870,7 +841,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -879,7 +850,7 @@ msgstr "" msgid "Artist" msgstr "Izpildītājs" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Informācija par izpildītāju" @@ -950,7 +921,7 @@ msgstr "Vidējais attēlu izmērs" msgid "BBC Podcasts" msgstr "BBC podraides" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "Sitieni minūtē" @@ -1007,7 +978,8 @@ msgstr "Labākais" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitreits" @@ -1060,7 +1032,7 @@ msgstr "Pārlūkot..." msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1084,19 +1056,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Atcelt" @@ -1105,12 +1064,6 @@ msgstr "Atcelt" msgid "Cancel download" msgstr "Atcelt lejupielādi" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Mainīt vāka attēlu" @@ -1149,6 +1102,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "BBC podraides" @@ -1157,19 +1114,15 @@ msgstr "BBC podraides" msgid "Check for updates" msgstr "Pārbaudīt atjauninājumu" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Pārbaudīt atjauninājumus..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Izvēlies Vk.com keša direktoriju" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Izvēlieties nosaukumu gudrajam atskaņošanas sarakstam" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Izvēlēties automātiski" @@ -1215,13 +1168,13 @@ msgstr "" msgid "Clear" msgstr "Notīrīt" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Notīrīt atskaņošanas sarakstu" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1354,24 +1307,20 @@ msgstr "Krāsas" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Piezīmes" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Noformēt tagus automātiski" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Noformēt tagus automātiski..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1402,15 +1351,11 @@ msgstr "Konfigurēt Spotify..." msgid "Configure Subsonic..." msgstr "Konfigurēju Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Konfigurēt Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Konfigurēt globālo meklēšanu..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Konfigurēt bibliotēku..." @@ -1444,16 +1389,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsole" @@ -1477,20 +1422,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopēt starpliktuvē" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopēt uz ierīci..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopēt uz bibliotēku..." @@ -1512,6 +1453,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Nespēj izveidot GStreamer elementu \"%1\" - pārbaudiet, vai ir uzstādīti visi nepieciešami GStreamer spraudņi" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Nevar izveidot atskaņošanas sarakstu" @@ -1538,7 +1488,7 @@ msgstr "Nevar atvērt izejas failu %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Vāka attēlu pārvaldnieks" @@ -1624,11 +1574,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Izveides datums" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Pārveides datums" @@ -1656,7 +1606,7 @@ msgstr "Samazināt skaļumu" msgid "Default background image" msgstr "Noklusējuma fona attēls" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1679,7 +1629,7 @@ msgid "Delete downloaded data" msgstr "Dzēst lejuplādētos datus" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Dzēst failus" @@ -1687,7 +1637,7 @@ msgstr "Dzēst failus" msgid "Delete from device..." msgstr "Dzēst no ierīces..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Dzēst no diska..." @@ -1712,11 +1662,15 @@ msgstr "Dzēst oriģinālos failus" msgid "Deleting files" msgstr "Dzēš failus" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Izņemt dziesmas no rindas" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Izņemt dziesmu no rindas" @@ -1745,11 +1699,11 @@ msgstr "Ierīces nosaukums" msgid "Device properties..." msgstr "Ierīces īpašības..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Ierīces" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1796,7 +1750,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Atslēgts" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1817,7 +1771,7 @@ msgstr "Displeja opcijas" msgid "Display the on-screen-display" msgstr "Rādīt displeju-uz-ekrāna" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Veikt pilnu bibliotēkas skenēšanu" @@ -1988,12 +1942,12 @@ msgstr "Dinamisks nejaušs mikss" msgid "Edit smart playlist..." msgstr "Rediģēt gudro dziesmu listi..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Rediģēt birku \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Rediģēt birku" @@ -2006,7 +1960,7 @@ msgid "Edit track information" msgstr "Rediģēt dziesmas informāciju" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Rediģēt dziesmas informāciju..." @@ -2026,10 +1980,6 @@ msgstr "Epasts" msgid "Enable Wii Remote support" msgstr "Atļaut Wii tālvadības atbalstu" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Ieslēgt ekvalaizeru" @@ -2114,7 +2064,7 @@ msgstr "" msgid "Entire collection" msgstr "Visa kolekcija" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekvalaizers" @@ -2127,8 +2077,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Vienāds ar --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Kļūda" @@ -2148,6 +2098,11 @@ msgstr "Kļūda kopējot dziesmas" msgid "Error deleting songs" msgstr "Kļūda dzēšot dziesmas" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Kļūda lejupielādējot Spotify spraudni" @@ -2268,7 +2223,7 @@ msgstr "Pāreja" msgid "Fading duration" msgstr "Pārejas garums" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2347,27 +2302,23 @@ msgstr "Faila tips" msgid "File formats" msgstr "Failu formāti" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Faila nosaukums" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Faila nosaukums (bez atrašanās vietas)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Faila izmērs" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2377,7 +2328,7 @@ msgstr "Faila tips" msgid "Filename" msgstr "Faila nosaukums" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Faili" @@ -2389,10 +2340,6 @@ msgstr "Faili kodēšanai" msgid "Find songs in your library that match the criteria you specify." msgstr "Meklējiet savā bibliotēkā dziesmas, kas atbilst jūsu meklēšanas kritērijiem" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Meklēt šo mākslinieku" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Meklēju dziesmas \"pirkstu nospiedumus\"" @@ -2461,6 +2408,7 @@ msgid "Form" msgstr "Forma" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formāts" @@ -2497,7 +2445,7 @@ msgstr "Pilnas augšas" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Pamatuzstādījumi" @@ -2505,7 +2453,7 @@ msgstr "Pamatuzstādījumi" msgid "General settings" msgstr "Pamata iestatījumi" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2538,11 +2486,11 @@ msgstr "Dodiet tam vārdu:" msgid "Go" msgstr "Aiziet" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Iet uz nākamās dziesmu listes cilni" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Iet uz iepriekšējās dziesmu listes cilni" @@ -2596,7 +2544,7 @@ msgstr "Grupēt pēc Stils/Albums" msgid "Group by Genre/Artist/Album" msgstr "Grupēt pēc Stila/Izpildītāja/Albuma" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2786,11 +2734,11 @@ msgstr "Uzstādīts" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internets" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2807,6 +2755,10 @@ msgstr "" msgid "Invalid API key" msgstr "Nepareiza API atslēga" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Nepareizs formāts" @@ -2863,7 +2815,7 @@ msgstr "Jamendo datubāze" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Pārslēgties uz šobrīd skanošo dziesmu" @@ -2887,7 +2839,7 @@ msgstr "Darboties fonā, kad logs ir aizvērts" msgid "Keep the original files" msgstr "Atstāt oriģinālos failus" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kaķīši" @@ -2928,7 +2880,7 @@ msgstr "Liela sānjosla" msgid "Last played" msgstr "Pēdējo reizi atskaņots" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Pēdējo reizi atskaņots" @@ -2969,12 +2921,12 @@ msgstr "Visnemīļākās dziesmas" msgid "Left" msgstr "Pa kreisi" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Ilgums" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Bibliotēka" @@ -2983,7 +2935,7 @@ msgstr "Bibliotēka" msgid "Library advanced grouping" msgstr "Advancēta Bibliotēkas grupēšana" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Bibliotēkās skenēšanas paziņojums" @@ -3023,7 +2975,7 @@ msgstr "Ielādēt vāka attēlu no diska..." msgid "Load playlist" msgstr "Ielādēt dziesmu listi" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Ielādēt dziesmu listi..." @@ -3059,8 +3011,7 @@ msgstr "Ielādē dziesmas info" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Ielādē..." @@ -3069,7 +3020,6 @@ msgstr "Ielādē..." msgid "Loads files/URLs, replacing current playlist" msgstr "Ielādē failus/adreses, aizstājot pašreizējo dziesmu listi" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3079,8 +3029,7 @@ msgstr "Ielādē failus/adreses, aizstājot pašreizējo dziesmu listi" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Pieslēgties" @@ -3088,15 +3037,11 @@ msgstr "Pieslēgties" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Ilga termiņa paredzēšanas profils (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Patīk" @@ -3177,7 +3122,7 @@ msgstr "Galvenais profils (MAIN)" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3223,10 +3168,6 @@ msgstr "Atbilst visiem meklēšanas nosacījumiem (UN)" msgid "Match one or more search terms (OR)" msgstr "Atbilst vienam vai vairākiem meklēšanas nosacījumiem (VAI)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maksimālais bitreits" @@ -3257,6 +3198,10 @@ msgstr "Minimālais bitreits" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Pazuduši projectM preseti" @@ -3277,7 +3222,7 @@ msgstr "Mono atskaņošana" msgid "Months" msgstr "Mēneši" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Noskaņojums" @@ -3290,10 +3235,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "Visvairāk atskaņotie" @@ -3311,7 +3252,7 @@ msgstr "Montēšanas punkti" msgid "Move down" msgstr "Pārvietot uz leju" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Pārvietot uz bibliotēku..." @@ -3320,8 +3261,7 @@ msgstr "Pārvietot uz bibliotēku..." msgid "Move up" msgstr "Pārvietot uz augšu" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Mūzika" @@ -3330,22 +3270,10 @@ msgid "Music Library" msgstr "Mūzikas bibliotēka" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Klusums" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Mani Albumi" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Mana Mūzika" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Mani ieteikumi" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3391,7 +3319,7 @@ msgstr "Nekad Nesākt atskaņot" msgid "New folder" msgstr "Jauna mape" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Jauna dziesmu liste" @@ -3420,7 +3348,7 @@ msgid "Next" msgstr "Uz priekšu" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Nākamā" @@ -3458,7 +3386,7 @@ msgstr "Bez īsiem blokiem" msgid "None" msgstr "Nekas" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Neviena no izvēlētajām dziesmām nav piemērota kopēšanai uz ierīci" @@ -3507,10 +3435,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "Nav uzmontēts - dubultklikšķis lai uzmontētu" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Paziņojumu tips" @@ -3592,7 +3516,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "Atvērt %1 pārlūkā" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Atvērt &audio CD..." @@ -3612,7 +3536,7 @@ msgstr "" msgid "Open device" msgstr "Atvērt ierīci" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Atvērt datni..." @@ -3666,7 +3590,7 @@ msgstr "" msgid "Organise Files" msgstr "Organizēt Failus" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organizēt failus..." @@ -3678,7 +3602,7 @@ msgstr "Kārtoju failus" msgid "Original tags" msgstr "Oriģinālās birkas" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3746,7 +3670,7 @@ msgstr "Ballīte" msgid "Password" msgstr "Parole" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pauze" @@ -3759,7 +3683,7 @@ msgstr "Pauzēt atskaņošanu" msgid "Paused" msgstr "Nopauzēts" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3774,14 +3698,14 @@ msgstr "Pikselis" msgid "Plain sidebar" msgstr "Parasta sānjosla" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Atskaņot" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Atskaņošanu skaits" @@ -3812,7 +3736,7 @@ msgstr "Atskaņotāja opcijas" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Dziesmu liste" @@ -3829,7 +3753,7 @@ msgstr "Dziesmu listes opcijas" msgid "Playlist type" msgstr "Dziesmu listes tips" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Atskaņošanas saraksti" @@ -3870,11 +3794,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Uzstādījumi" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Iestatījumi..." @@ -3934,7 +3858,7 @@ msgid "Previous" msgstr "Iepriekšējais" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Iepriekšējā" @@ -3985,16 +3909,16 @@ msgstr "Kvalitāte" msgid "Querying device..." msgstr "Ierindoju ierīci..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Rindas pārvaldnieks" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Ierindot izvēlētās dziesmas" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Ierindot dziesmu" @@ -4006,7 +3930,7 @@ msgstr "Radio (ekvivalents skaļums visiem celiņiem)" msgid "Rain" msgstr "Lietus" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Lietus" @@ -4043,7 +3967,7 @@ msgstr "Novērtēt ar 4 zvaigznēm" msgid "Rate the current song 5 stars" msgstr "Novērtēt ar 5 zvaigznēm" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Vērtējums" @@ -4110,7 +4034,7 @@ msgstr "Izņemt" msgid "Remove action" msgstr "Noņemt darbību" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4118,15 +4042,7 @@ msgstr "" msgid "Remove folder" msgstr "Aizvākt mapi" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Azivākt no dziesmu listes" @@ -4138,7 +4054,7 @@ msgstr "Dzēst atskaņošanas sarakstu" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4150,7 +4066,7 @@ msgstr "Pārdēvēt dziesmu listi" msgid "Rename playlist..." msgstr "Pārdēvēt dziesmu listi..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Pārkārtot šādā secībā..." @@ -4200,7 +4116,7 @@ msgstr "Atjaunot" msgid "Require authentication code" msgstr "Nepieciešams autentifikācijas kods" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Atiestatīt" @@ -4241,7 +4157,7 @@ msgstr "" msgid "Rip CD" msgstr "Noripot CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Noripot audio CD" @@ -4271,8 +4187,9 @@ msgstr "Saudzīgi atvienot ierīci" msgid "Safely remove the device after copying" msgstr "Saudzīgi atvienot ierīci pēc kopēšanas" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Nolašu ātrums" @@ -4310,7 +4227,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Saglabāt dziesmu listi" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Saglabāt dziesmu listi..." @@ -4350,7 +4267,7 @@ msgstr "Maināms semplreita profils (SSR)" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Vērtējums" @@ -4367,12 +4284,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Meklēt" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Meklēt" @@ -4515,7 +4432,7 @@ msgstr "" msgid "Service offline" msgstr "Serviss atslēgts" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Uzstādīt %1 uz \"%2\"..." @@ -4524,7 +4441,7 @@ msgstr "Uzstādīt %1 uz \"%2\"..." msgid "Set the volume to percent" msgstr "Uzstādīt skaļumu uz procentiem" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Saglabāt vērtību izvēlētajām dziesmām..." @@ -4591,7 +4508,7 @@ msgstr "Rādīt skaistu paziņojumu logu" msgid "Show above status bar" msgstr "Rādīt virs statusa joslas" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Rādīt visas dziesmas" @@ -4611,16 +4528,12 @@ msgstr "Rādīt atdalītājus" msgid "Show fullsize..." msgstr "Radīt pa visu ekrānu..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Rādīt failu pārlūkā..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Rādīt bibliotēkā..." @@ -4632,27 +4545,23 @@ msgstr "Rādīt pie dažādiem izpildītājiem" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Rādīt tikai dublikātus" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Rādīt tikai bez birkām" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4688,7 +4597,7 @@ msgstr "Jaukt albumus" msgid "Shuffle all" msgstr "Jaukt visu" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Jaukt dziesmu listi" @@ -4724,7 +4633,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Izlaist atpakaļejot dziesmu listē" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Izlaista" @@ -4732,11 +4641,11 @@ msgstr "Izlaista" msgid "Skip forwards in playlist" msgstr "Izlaist turpinot dziesmu listē" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4768,7 +4677,7 @@ msgstr "Vieglais roks" msgid "Song Information" msgstr "Dziesmas informācija" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Dziesmas info" @@ -4804,7 +4713,7 @@ msgstr "Kārtošana" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Avots" @@ -4879,7 +4788,7 @@ msgid "Starting..." msgstr "Palaiž..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Apturēt" @@ -4895,7 +4804,7 @@ msgstr "Apstāties pēc katras dziesmas" msgid "Stop after every track" msgstr "Apstāties pēc katras dziesmas" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Apturēt pēc šīs dziesmas" @@ -4924,6 +4833,10 @@ msgstr "Apturēts" msgid "Stream" msgstr "Straume" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5033,6 +4946,10 @@ msgstr "Pašlaik atskaņotās dziesmas albuma vāks" msgid "The directory %1 is not valid" msgstr "Nederīga mape %1" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Otrajai vērtībai jābūt lielākai par pirmo!" @@ -5051,7 +4968,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5093,7 +5010,7 @@ msgid "" "continue?" msgstr "Šie faili tiks dzēsti no ierīces. Vai jūs tiešām vēlaties turpināt?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5177,7 +5094,7 @@ msgstr "Šī tipa ierīce netiek atbalstīta: %1" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5196,11 +5113,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "Ieslēgt pilnu ekrānu" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Ieslēgt rindas statusu" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Ieslēgt skroblēšanu" @@ -5240,7 +5157,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Dziesma" @@ -5249,7 +5166,7 @@ msgstr "Dziesma" msgid "Tracks" msgstr "Dziesmas" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Kodēt Mūziku" @@ -5286,6 +5203,10 @@ msgstr "Izslēgt" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Adreses (URL)" @@ -5311,9 +5232,9 @@ msgstr "Nevar lejupielādēt %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Nezināms" @@ -5330,11 +5251,11 @@ msgstr "Nezināma kļūda" msgid "Unset cover" msgstr "Noņemt vāka attēlu" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5347,15 +5268,11 @@ msgstr "Atabonēt" msgid "Upcoming Concerts" msgstr "Tuvākie koncerti" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Atjaunot" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Atjaunot mainītās bibliotēkas mapes" @@ -5465,7 +5382,7 @@ msgstr "" msgid "Used" msgstr "Izmantots" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Lietotāja saskarne" @@ -5491,7 +5408,7 @@ msgid "Variable bit rate" msgstr "Mainīgs bitreits" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Dažādi izpildītāji" @@ -5504,11 +5421,15 @@ msgstr "Versija %1" msgid "View" msgstr "Skats" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Vizualizāciju režīms" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Vizualizācijas" @@ -5516,10 +5437,6 @@ msgstr "Vizualizācijas" msgid "Visualizations Settings" msgstr "Vizualizāciju Iestatījumi" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Balss aktivitātes noteikšana" @@ -5542,10 +5459,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Siena" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5648,7 +5561,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Vai jūs vēlaties palaist pilnu skenēšanu?" @@ -5664,7 +5577,7 @@ msgstr "" msgid "Wrong username or password." msgstr "Nepareizs lietotājvārds vai parole" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/mk_MK.po b/src/translations/mk_MK.po index b34ccb829..2f060241b 100644 --- a/src/translations/mk_MK.po +++ b/src/translations/mk_MK.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Macedonian (Macedonia) (http://www.transifex.com/davidsansome/clementine/language/mk_MK/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -66,11 +66,6 @@ msgstr "секунди" msgid " songs" msgstr "песни" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 песни)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -102,7 +97,7 @@ msgstr "%1 на %2" msgid "%1 playlists (%2)" msgstr "%1 плејлисти (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 избрани од" @@ -127,7 +122,7 @@ msgstr "%1 песни се пронајдени" msgid "%1 songs found (showing %2)" msgstr "%1 песни се пронајдени (прикажувам %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 нумери" @@ -187,7 +182,7 @@ msgstr "%Центрирај" msgid "&Custom" msgstr "&Прилагодено" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Додатоци" @@ -195,7 +190,7 @@ msgstr "&Додатоци" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Помош" @@ -220,7 +215,7 @@ msgstr "&Заклучи Рејтинг" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Музика" @@ -228,15 +223,15 @@ msgstr "&Музика" msgid "&None" msgstr "&Без" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Плејлиста" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Излези" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Повторувај мод" @@ -244,7 +239,7 @@ msgstr "&Повторувај мод" msgid "&Right" msgstr "&Десно" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Размешај мод" @@ -252,7 +247,7 @@ msgstr "&Размешај мод" msgid "&Stretch columns to fit window" msgstr "&Истегни ги колоните за да го пополнат прозорецот" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Алатки" @@ -288,7 +283,7 @@ msgstr "0" msgid "1 day" msgstr "1 ден" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 песна" @@ -432,11 +427,11 @@ msgstr "Откажи" msgid "About %1" msgstr "Околу %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "За Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "За Qt..." @@ -446,7 +441,7 @@ msgid "Absolute" msgstr "Апсолутен" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Детали за сметката" @@ -500,19 +495,19 @@ msgstr "Додади уште еден извор..." msgid "Add directory..." msgstr "Додади директориум..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Додади датотека" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Додади датотека на транскодерот" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Додади датотека(и) на транскодерот" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Додади датотека..." @@ -520,12 +515,12 @@ msgstr "Додади датотека..." msgid "Add files to transcode" msgstr "Додади датотеки за транскодирање" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Додади папка" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Додади папка..." @@ -537,7 +532,7 @@ msgstr "Додади нова папка..." msgid "Add podcast" msgstr "Додади podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Додади podcast..." @@ -605,10 +600,6 @@ msgstr "Додади бројач за прескокнување на песн msgid "Add song title tag" msgstr "Додади ознака за наслов на песна" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Додади песна во кешот" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Додади ознака за нумера на песна" @@ -617,18 +608,10 @@ msgstr "Додади ознака за нумера на песна" msgid "Add song year tag" msgstr "Додади ознака за песна на годината" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Додади ги песните во \"Моја Музика\" кога \"Сакам\" копчето е кликнато" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Додади извор..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Додади во Моја Музика" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Додади во Spotify плејлисти" @@ -637,14 +620,10 @@ msgstr "Додади во Spotify плејлисти" msgid "Add to Spotify starred" msgstr "Додади во Spotify означени со ѕвездичка" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Додади на друга плејлиста" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Додади во обележувачи" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Додади на плејлистата" @@ -654,10 +633,6 @@ msgstr "Додади на плејлистата" msgid "Add to the queue" msgstr "Додади на редот" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Додади корисник/група во обележувачи" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Додади wiimotedev акција" @@ -695,7 +670,7 @@ msgstr "После " msgid "After copying..." msgstr "После копирањето..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -708,7 +683,7 @@ msgstr "Албум" msgid "Album (ideal loudness for all tracks)" msgstr "Албум (идеална гласност за сите песни)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -723,10 +698,6 @@ msgstr "Насловна слика на албум" msgid "Album info on jamendo.com..." msgstr "Податоци за албумот на jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Албуми" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Албуми со насловни слики" @@ -739,11 +710,11 @@ msgstr "Албуми без насловни слики" msgid "All" msgstr "Сите" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Сите Датотеки (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Слава и на Хипножабата" @@ -868,7 +839,7 @@ msgid "" "the songs of your library?" msgstr "Дали сте сигурни дека сакате да ги запишете статистиките на песните во датотеките на песните за сите песни во вашата библиотека?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -877,7 +848,7 @@ msgstr "Дали сте сигурни дека сакате да ги запи msgid "Artist" msgstr "Изведувач" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Податоци за изведувач" @@ -948,7 +919,7 @@ msgstr "Просечна големина на слика" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1005,7 +976,8 @@ msgstr "Најдобри" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1058,7 +1030,7 @@ msgstr "Прелистај..." msgid "Buffer duration" msgstr "Траење на тампон" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Тампонирање" @@ -1082,19 +1054,6 @@ msgstr "" msgid "CUE sheet support" msgstr "Подршка на CUE лисови" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Патека на кешот:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Кеширање" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Кеширање %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Откажи" @@ -1103,12 +1062,6 @@ msgstr "Откажи" msgid "Cancel download" msgstr "Откажи превземање" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha е потребно.\nПробајте да се логирате на Vk.com со вашиот прелистувач, за да го поправите овој проблем." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Промени ја насловната слика" @@ -1147,6 +1100,10 @@ msgid "" "songs" msgstr "Промените на моно поставките ќе се применат за наредните пуштени песни" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Провери за нови епизоди" @@ -1155,19 +1112,15 @@ msgstr "Провери за нови епизоди" msgid "Check for updates" msgstr "Провери за ажурирања" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Провери за ажурирања..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Изберете директориум за кеширање на Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Изберете име за паметната плејлиста" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Избери автоматски" @@ -1213,13 +1166,13 @@ msgstr "Чистење" msgid "Clear" msgstr "Исчисти" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Исчисти плејлиста" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1352,24 +1305,20 @@ msgstr "Бои" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Коментар" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Автоматско комплетирање на тагови" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Автоматско комплетирање на тагови..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1400,15 +1349,11 @@ msgstr "Конфигурирај го Spotify..." msgid "Configure Subsonic..." msgstr "Конфигурирај го " -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Конфигурирај го " - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Конфигурирај глобално пребарување..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Конфигурирај ја библиотеката..." @@ -1442,16 +1387,16 @@ msgid "" "http://localhost:4040/" msgstr "Конекцијата е одбиена од серверот, провери го URL-то на серверот. Пример: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Времето за конектирање истече, провери го URL-то на серверот. Пример: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Проблеми со конекцијата или звукот е оневозможен од сопственикот" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Конзола" @@ -1475,20 +1420,16 @@ msgstr "Конвертирај некомпресирани аудио фајл msgid "Convert lossless files" msgstr "Конвертирај некомпресирани фајлови." -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Копирај го url-то за споделување на клипбордот" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Копирај на клипбордот" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Копирај на уред..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Копирај во библиотека..." @@ -1510,6 +1451,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Не може да се креира GStreamer елементот #%1\" - провери дали сите потребни GStreamer plugin-и се инсталирани" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Не може да се креира плејлиста" @@ -1536,7 +1486,7 @@ msgstr "Не може да се отвори излезен фајл %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Омот менаџер" @@ -1622,11 +1572,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1654,7 +1604,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1677,7 +1627,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1685,7 +1635,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1710,11 +1660,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1743,11 +1697,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1794,7 +1748,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1815,7 +1769,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1986,12 +1940,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2004,7 +1958,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2024,10 +1978,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2112,7 +2062,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2125,8 +2075,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2146,6 +2096,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2266,7 +2221,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2345,27 +2300,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2375,7 +2326,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2387,10 +2338,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2459,6 +2406,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2495,7 +2443,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2503,7 +2451,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2536,11 +2484,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2594,7 +2542,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2784,11 +2732,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2805,6 +2753,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2861,7 +2813,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2885,7 +2837,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2926,7 +2878,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2967,12 +2919,12 @@ msgstr "" msgid "Left" msgstr "Лево" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2981,7 +2933,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3021,7 +2973,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3057,8 +3009,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3067,7 +3018,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3077,8 +3027,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3086,15 +3035,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3175,7 +3120,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3221,10 +3166,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3255,6 +3196,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3275,7 +3220,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3288,10 +3233,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3309,7 +3250,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3318,8 +3259,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3328,22 +3268,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3389,7 +3317,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3418,7 +3346,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3456,7 +3384,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3505,10 +3433,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3590,7 +3514,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3610,7 +3534,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3664,7 +3588,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3676,7 +3600,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3744,7 +3668,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3757,7 +3681,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3772,14 +3696,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3810,7 +3734,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3827,7 +3751,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3868,11 +3792,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3932,7 +3856,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3983,16 +3907,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4004,7 +3928,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4041,7 +3965,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4108,7 +4032,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4116,15 +4040,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4136,7 +4052,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4148,7 +4064,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4198,7 +4114,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4239,7 +4155,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4269,8 +4185,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4308,7 +4225,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4348,7 +4265,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4365,12 +4282,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4513,7 +4430,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4522,7 +4439,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4589,7 +4506,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4609,16 +4526,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4630,27 +4543,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4686,7 +4595,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4722,7 +4631,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4730,11 +4639,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4766,7 +4675,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4802,7 +4711,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4877,7 +4786,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4893,7 +4802,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4922,6 +4831,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5031,6 +4944,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5049,7 +4966,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5091,7 +5008,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5175,7 +5092,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5194,11 +5111,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5238,7 +5155,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5247,7 +5164,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5284,6 +5201,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5309,9 +5230,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5328,11 +5249,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5345,15 +5266,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5463,7 +5380,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5489,7 +5406,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5502,11 +5419,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5514,10 +5435,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5540,10 +5457,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5646,7 +5559,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5662,7 +5575,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/mr.po b/src/translations/mr.po index b97091e6d..9eadd6f0b 100644 --- a/src/translations/mr.po +++ b/src/translations/mr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Marathi (http://www.transifex.com/davidsansome/clementine/language/mr/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,11 +63,6 @@ msgstr " सेकंद" msgid " songs" msgstr " गाणी" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -99,7 +94,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "" @@ -124,7 +119,7 @@ msgstr "%1 गाणी सापडली" msgid "%1 songs found (showing %2)" msgstr "%1 गाणी सापडली (%2 दाखवत आहे )" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "" @@ -184,7 +179,7 @@ msgstr "" msgid "&Custom" msgstr "" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -192,7 +187,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "" @@ -217,7 +212,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "" @@ -225,15 +220,15 @@ msgstr "" msgid "&None" msgstr "" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -241,7 +236,7 @@ msgstr "" msgid "&Right" msgstr "" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -249,7 +244,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "" @@ -285,7 +280,7 @@ msgstr "" msgid "1 day" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "" @@ -429,11 +424,11 @@ msgstr "" msgid "About %1" msgstr "" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "" @@ -443,7 +438,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -497,19 +492,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "" @@ -517,12 +512,12 @@ msgstr "" msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "" @@ -534,7 +529,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -602,10 +597,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -614,18 +605,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -634,14 +617,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -651,10 +630,6 @@ msgstr "" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -692,7 +667,7 @@ msgstr "" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -705,7 +680,7 @@ msgstr "" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -720,10 +695,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -736,11 +707,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -865,7 +836,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -874,7 +845,7 @@ msgstr "" msgid "Artist" msgstr "" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -945,7 +916,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1002,7 +973,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1055,7 +1027,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1079,19 +1051,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1100,12 +1059,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1144,6 +1097,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1152,19 +1109,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1210,13 +1163,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1349,24 +1302,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1397,15 +1346,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1439,16 +1384,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1472,20 +1417,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1507,6 +1448,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1533,7 +1483,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1619,11 +1569,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1651,7 +1601,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1674,7 +1624,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1682,7 +1632,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1707,11 +1657,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1740,11 +1694,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1791,7 +1745,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1812,7 +1766,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1983,12 +1937,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2001,7 +1955,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2021,10 +1975,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2109,7 +2059,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2122,8 +2072,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2143,6 +2093,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2263,7 +2218,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2342,27 +2297,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2372,7 +2323,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2384,10 +2335,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2456,6 +2403,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2492,7 +2440,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2500,7 +2448,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2533,11 +2481,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2591,7 +2539,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2781,11 +2729,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2802,6 +2750,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2858,7 +2810,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2882,7 +2834,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2923,7 +2875,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2964,12 +2916,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2978,7 +2930,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3018,7 +2970,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3054,8 +3006,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3064,7 +3015,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3074,8 +3024,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3083,15 +3032,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3172,7 +3117,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3218,10 +3163,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3252,6 +3193,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3272,7 +3217,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3285,10 +3230,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3306,7 +3247,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3315,8 +3256,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3325,22 +3265,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3386,7 +3314,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3415,7 +3343,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3453,7 +3381,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3502,10 +3430,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3587,7 +3511,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3607,7 +3531,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3661,7 +3585,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3673,7 +3597,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3741,7 +3665,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3754,7 +3678,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3769,14 +3693,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3807,7 +3731,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3824,7 +3748,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3865,11 +3789,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3929,7 +3853,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3980,16 +3904,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4001,7 +3925,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4038,7 +3962,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4105,7 +4029,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4113,15 +4037,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4133,7 +4049,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4145,7 +4061,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4195,7 +4111,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4236,7 +4152,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4266,8 +4182,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4305,7 +4222,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4345,7 +4262,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4362,12 +4279,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4510,7 +4427,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4519,7 +4436,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4586,7 +4503,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4606,16 +4523,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4627,27 +4540,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4683,7 +4592,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4719,7 +4628,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4727,11 +4636,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4763,7 +4672,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4799,7 +4708,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4874,7 +4783,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4890,7 +4799,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4919,6 +4828,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5028,6 +4941,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5046,7 +4963,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5088,7 +5005,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5172,7 +5089,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5191,11 +5108,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5235,7 +5152,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5244,7 +5161,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5281,6 +5198,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5306,9 +5227,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5325,11 +5246,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5342,15 +5263,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5460,7 +5377,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5486,7 +5403,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5499,11 +5416,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5511,10 +5432,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5537,10 +5454,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5643,7 +5556,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5659,7 +5572,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/ms.po b/src/translations/ms.po index 375362584..350388622 100644 --- a/src/translations/ms.po +++ b/src/translations/ms.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-10-02 02:48+0000\n" -"Last-Translator: abuyop \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Malay (http://www.transifex.com/davidsansome/clementine/language/ms/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -65,11 +65,6 @@ msgstr " saat" msgid " songs" msgstr " lagu" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 lagu)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -101,7 +96,7 @@ msgstr "%1 pada %2" msgid "%1 playlists (%2)" msgstr "%1 senarai main (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "dipilih dari %1" @@ -126,7 +121,7 @@ msgstr "%1 lagu ditemui" msgid "%1 songs found (showing %2)" msgstr "%1 lagu ditemui (memaparkan %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 trek" @@ -186,7 +181,7 @@ msgstr "&Tengah" msgid "&Custom" msgstr "&" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Ekstra" @@ -194,7 +189,7 @@ msgstr "Ekstra" msgid "&Grouping" msgstr "Pen&gelompokan" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Bantuan" @@ -219,7 +214,7 @@ msgstr "&Kunci Penarafan" msgid "&Lyrics" msgstr "&Lirik" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Muzik" @@ -227,15 +222,15 @@ msgstr "Muzik" msgid "&None" msgstr "&Tiada" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Senarai main" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Keluar" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Mod ulang" @@ -243,7 +238,7 @@ msgstr "Mod ulang" msgid "&Right" msgstr "&Kanan" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Mod kocok" @@ -251,7 +246,7 @@ msgstr "Mod kocok" msgid "&Stretch columns to fit window" msgstr "&Regangkan kolum-kolum untuk dimuat mengikut tetingkap" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Alatan" @@ -287,7 +282,7 @@ msgstr "0px" msgid "1 day" msgstr "1 hari" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 trek" @@ -431,11 +426,11 @@ msgstr "Henti Paksa" msgid "About %1" msgstr "Perihal %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Perihal Clementine" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Perihal Qt..." @@ -445,7 +440,7 @@ msgid "Absolute" msgstr "Mutlak" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Butir-butir akaun" @@ -499,19 +494,19 @@ msgstr "Tambah strim lain..." msgid "Add directory..." msgstr "Tambah direktori..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Tambah fail" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Tambah fail ke transkoder" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Tambah fail ke transkoder" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Tambah fail..." @@ -519,12 +514,12 @@ msgstr "Tambah fail..." msgid "Add files to transcode" msgstr "Tambah fail-fail untuk transkod" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Tambah folder" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Tambah folder..." @@ -536,7 +531,7 @@ msgstr "Tambah folder baharu..." msgid "Add podcast" msgstr "Tambah podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Tambah podcast..." @@ -604,10 +599,6 @@ msgstr "Tambahkan kiraan langkau lagu" msgid "Add song title tag" msgstr "Tambah tag tajuk lagu" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Tambah lagu untuk dicache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Tambah tag trek lagu" @@ -616,18 +607,10 @@ msgstr "Tambah tag trek lagu" msgid "Add song year tag" msgstr "Tambah tag tahun lagu" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Tambah lagu ke \"Muzik Saya\" bila butang \"Suka\" diklik" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Tambah stream..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Tambah ke Muzik Saya" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Tambah ke senarai main Spotify" @@ -636,14 +619,10 @@ msgstr "Tambah ke senarai main Spotify" msgid "Add to Spotify starred" msgstr "Tambah ke Spotify dibintangi" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Tambahkan ke senarai main lain" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Tambah ke tanda buku" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Tambahkan ke senarai main" @@ -653,10 +632,6 @@ msgstr "Tambahkan ke senarai main" msgid "Add to the queue" msgstr "Tambah ke dalam senarai" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Tambah pengguna/kumpulan ke tanda buku" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Tambahkan tindakan wiimotedev" @@ -694,7 +669,7 @@ msgstr "Selepas" msgid "After copying..." msgstr "Selepas menyalin..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -707,7 +682,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (kelantangan ideal untuk semua trek)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -722,10 +697,6 @@ msgstr "Kulit album" msgid "Album info on jamendo.com..." msgstr "Info album di jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Album" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Album dengan kulit muka" @@ -738,11 +709,11 @@ msgstr "Album tanpa kulit muka" msgid "All" msgstr "Semua" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Semua Fail (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "All Glory to the Hypnotoad!" @@ -867,7 +838,7 @@ msgid "" "the songs of your library?" msgstr "Anda pasti mahu menulis statistik lagu ke dalam fail lagu untuk semua lagu dalam pustaka anda?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -876,7 +847,7 @@ msgstr "Anda pasti mahu menulis statistik lagu ke dalam fail lagu untuk semua la msgid "Artist" msgstr "Artis" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Info artis" @@ -947,7 +918,7 @@ msgstr "Saiz imej purata" msgid "BBC Podcasts" msgstr "Podcast BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1004,7 +975,8 @@ msgstr "Terbaik" msgid "Biography" msgstr "Biografi" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Kadar bit" @@ -1057,7 +1029,7 @@ msgstr "Layar..." msgid "Buffer duration" msgstr "Jangkamasa penimbal" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Menimbal" @@ -1081,19 +1053,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Sokongan lembar CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Laluan cache:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Membuat cache" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Membuat cache %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Batal" @@ -1102,12 +1061,6 @@ msgstr "Batal" msgid "Cancel download" msgstr "Batal muat turun" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha diperlukan.\nCuba daftar masuk ke Vk.com dengan pelayar anda, untuk membaiki masalah ini." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Ubah seni kulit muka" @@ -1146,6 +1099,10 @@ msgid "" "songs" msgstr "Perubahan keutamaan main balik mono akan berkesan pada lagu seterusnya yang dimainkan" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Periksa episod baharu" @@ -1154,19 +1111,15 @@ msgstr "Periksa episod baharu" msgid "Check for updates" msgstr "Periksa kemaskini" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Periksa kemaskini..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Pilih direktori cache Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Pilih satu nama untuk senarai main pintar anda" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Pilih secara automatik" @@ -1212,13 +1165,13 @@ msgstr "Membersihkan" msgid "Clear" msgstr "Kosongkan" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Kosongkan senarai main" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1351,24 +1304,20 @@ msgstr "Warna" msgid "Comma separated list of class:level, level is 0-3" msgstr "Senarai kelas dipisah dengan tanda koma: aras, aras diantara 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Komen" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Radio Komuniti" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Lengkapkan tag secara automatik" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Lengkapkan tag secara automatik..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1399,15 +1348,11 @@ msgstr "Konfigur Spotify..." msgid "Configure Subsonic..." msgstr "Konfigur Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Konfigur Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Konfigure gelintar sejagat..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Konfigur pustaka..." @@ -1441,16 +1386,16 @@ msgid "" "http://localhost:4040/" msgstr "Sambungan dinafi oleh pelayan, periksa URL pelayan. Contoh: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Sambungan tamat masa, periksa URL pelayan. Contoh: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Sambungan bermasalah atau audio dilumpuhkan oleh pemilik" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsol" @@ -1474,20 +1419,16 @@ msgstr "Tukar fail audio tak hilang sebelum menghantarnya ke jauh." msgid "Convert lossless files" msgstr "Tukar fail tak hilang" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Salin url kongsi ke papan keratan" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Salin ke papan keratan" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Salin ke peranti..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Salin ke pustaka..." @@ -1509,6 +1450,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Tidak dapat cipta unsur GStreamer \"%1\" - pastikan anda telah mempunyai semua pemalam GStreamer yang diperlukan terpasang" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Tidak dapat cipta senarai main" @@ -1535,7 +1485,7 @@ msgstr "Tidak dapat buka fail output %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Pengurus Kulit Muka" @@ -1621,11 +1571,11 @@ msgid "" "recover your database" msgstr "Kerosakan pangkalan data dikesan. Sila rujuk https://github.com/clementine-player/Clementine/wiki/Database-Corruption untuk ketahui cara memulih kembali pangkalan data anda" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Tarikh dicipta" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Tarikh diubahsuai" @@ -1653,7 +1603,7 @@ msgstr "Kurangkan volum" msgid "Default background image" msgstr "Imej latar belakang lalai" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Peranti lalai pada %1" @@ -1676,7 +1626,7 @@ msgid "Delete downloaded data" msgstr "Padam data dimuat turun" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Padam fail" @@ -1684,7 +1634,7 @@ msgstr "Padam fail" msgid "Delete from device..." msgstr "Padam dari peranti..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Padam dari cakera..." @@ -1709,11 +1659,15 @@ msgstr "Padam fail asal" msgid "Deleting files" msgstr "Memadam fail-fail" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Nyahbaris gilir trek terpilih" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Nyahbaris gilir trek" @@ -1742,11 +1696,11 @@ msgstr "Nama peranti" msgid "Device properties..." msgstr "Ciri-ciri peranti..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Peranti-peranti" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialog" @@ -1793,7 +1747,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Dilumpuhkan" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1814,7 +1768,7 @@ msgstr "Pilihan paparan" msgid "Display the on-screen-display" msgstr "Papar paparan-atas-skrin" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Buat imbas semula pustaka penuh" @@ -1985,12 +1939,12 @@ msgstr "Campuran rawak dinamik" msgid "Edit smart playlist..." msgstr "Sunting senarai main pintar..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Sunting tag \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Sunting tag..." @@ -2003,7 +1957,7 @@ msgid "Edit track information" msgstr "Sunting maklumat trek" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Sunting maklumat trek..." @@ -2023,10 +1977,6 @@ msgstr "Emel" msgid "Enable Wii Remote support" msgstr "Bbenarkan sokongan Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Benarkan cache automatik" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Benarkan penyama" @@ -2111,7 +2061,7 @@ msgstr "Masukkan IP ini dalam Apl untuk menyambung ke Clementine." msgid "Entire collection" msgstr "Kesemua koleksi" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Penyama" @@ -2124,8 +2074,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Sama dengan --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Ralat" @@ -2145,6 +2095,11 @@ msgstr "Ralat menyalin lagu" msgid "Error deleting songs" msgstr "Ralat memadam lagu" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Ralat memuat turun pemalam Spotify" @@ -2265,7 +2220,7 @@ msgstr "Peresapan" msgid "Fading duration" msgstr "Jangkamasa peresapan" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Gagal membaca pemacu CD" @@ -2344,27 +2299,23 @@ msgstr "Sambungan fail" msgid "File formats" msgstr "Format fail" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nama fail" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Nama fail (tanpa laluan)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Corak nama fail:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Laluan fail" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Saiz fail" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2374,7 +2325,7 @@ msgstr "Jenis fail" msgid "Filename" msgstr "Namafail" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Fail" @@ -2386,10 +2337,6 @@ msgstr "Fail untuk ditranskod" msgid "Find songs in your library that match the criteria you specify." msgstr "Cari lagu-lagu dalam pustaka anda yang berpadanan dengan kriteria yang anda tetapkan." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Cari artis ini" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Pengecapan jari lagu" @@ -2458,6 +2405,7 @@ msgid "Form" msgstr "Bentuk" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2494,7 +2442,7 @@ msgstr "Trebel Penuh" msgid "Ge&nre" msgstr "Ge&nre" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Am" @@ -2502,7 +2450,7 @@ msgstr "Am" msgid "General settings" msgstr "Tetapan am" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2535,11 +2483,11 @@ msgstr "Berikan ia nama" msgid "Go" msgstr "Pergi" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Pergi ke tab senarai main berikutnya" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Pergi ke tab senarai main sebelumnya" @@ -2593,7 +2541,7 @@ msgstr "Kumpulkan mengikut Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Kumpulkan mengikut Genre/Artis/Album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2783,11 +2731,11 @@ msgstr "Terpasang" msgid "Integrity check" msgstr "Semakan integriti" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Penyedia Internet" @@ -2804,6 +2752,10 @@ msgstr "Trek pengenalan" msgid "Invalid API key" msgstr "Kunci API tidak sah" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Format tidak sah" @@ -2860,7 +2812,7 @@ msgstr "Pangkalan data Jamendo" msgid "Jump to previous song right away" msgstr "Lompat ke lagu terdahulu sekarang jua" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Lompat ke trek semasa dimainkan" @@ -2884,7 +2836,7 @@ msgstr "Kekal berjalan di balik tabir bila tetingkap ditutup" msgid "Keep the original files" msgstr "Kekalkan fail asal" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kittens" @@ -2925,7 +2877,7 @@ msgstr "Palang sisi besar" msgid "Last played" msgstr "Terakhir dimainkan" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Terakhir dimainkan" @@ -2966,12 +2918,12 @@ msgstr "Trek kurang digemari" msgid "Left" msgstr "Kiri" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Jangkamasa" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Pustaka" @@ -2980,7 +2932,7 @@ msgstr "Pustaka" msgid "Library advanced grouping" msgstr "Pengelompokan lanjutan pustaka" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Notis imbas semula pustaka" @@ -3020,7 +2972,7 @@ msgstr "Muat kulit muka dari cakera..." msgid "Load playlist" msgstr "Muat senarai main" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Muat senarai main..." @@ -3056,8 +3008,7 @@ msgstr "Memuatkan maklumat trek" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Memuatkan..." @@ -3066,7 +3017,6 @@ msgstr "Memuatkan..." msgid "Loads files/URLs, replacing current playlist" msgstr "Memuat fail/URL, menggantikan senarai main semasa" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3076,8 +3026,7 @@ msgstr "Memuat fail/URL, menggantikan senarai main semasa" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Daftar masuk" @@ -3085,15 +3034,11 @@ msgstr "Daftar masuk" msgid "Login failed" msgstr "Daftar masuk gagal" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Daftar keluar" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Profil jangkaan jangka panjang (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Suka" @@ -3174,7 +3119,7 @@ msgstr "Profil utama (MAIN)" msgid "Make it so!" msgstr "Make it so!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Make it so!" @@ -3220,10 +3165,6 @@ msgstr "Padan setiap terma gelintar (AND)" msgid "Match one or more search terms (OR)" msgstr "Padan satu atau lebih terma gelintar (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Keputusan gelintar sejagat maks" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Kadar bit maksimum" @@ -3254,6 +3195,10 @@ msgstr "Kadar bit minimum" msgid "Minimum buffer fill" msgstr "Isian penimbal minimum" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Praset projectM hilang" @@ -3274,7 +3219,7 @@ msgstr "Main balik mono" msgid "Months" msgstr "Bulan" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Suasana" @@ -3287,10 +3232,6 @@ msgstr "Gaya palang suasana" msgid "Moodbars" msgstr "Palang suasana" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Lagi" - #: library/library.cpp:84 msgid "Most played" msgstr "Terbanyak dimain" @@ -3308,7 +3249,7 @@ msgstr "Titik lekap" msgid "Move down" msgstr "Alih ke bawah" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Alih ke pustaka..." @@ -3317,8 +3258,7 @@ msgstr "Alih ke pustaka..." msgid "Move up" msgstr "Alih ke atas" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Muzik" @@ -3327,22 +3267,10 @@ msgid "Music Library" msgstr "Pustaka Muzik" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Senyap" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Album Saya" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Muzik Saya" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Cadangan Saya" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3388,7 +3316,7 @@ msgstr "Tidak sesekali mula dimainkan" msgid "New folder" msgstr "Folder baharu" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Senarai main baharu" @@ -3417,7 +3345,7 @@ msgid "Next" msgstr "Seterusnya" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Trek seterusnya" @@ -3455,7 +3383,7 @@ msgstr "Tiada blok pendek" msgid "None" msgstr "Tiada" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Tiada satupun lagu yang dipilih sesuai untuk disalin ke peranti" @@ -3504,10 +3432,6 @@ msgstr "Tidak mendaftar masuk" msgid "Not mounted - double click to mount" msgstr "Tidak dilekap - dwi-klik untuk lekap" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Tiada ada ditemui" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Jenis pemberitahuan" @@ -3589,7 +3513,7 @@ msgstr "Kelegapan" msgid "Open %1 in browser" msgstr "Buka %1 dalam pelayar" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Buka CD &audio..." @@ -3609,7 +3533,7 @@ msgstr "Buka satu direktori untuk mengimport muzik darinya" msgid "Open device" msgstr "Buka peranti" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Buka fail..." @@ -3663,7 +3587,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Aturkan Fail" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Urus fail..." @@ -3675,7 +3599,7 @@ msgstr "Mengatur fail" msgid "Original tags" msgstr "Tag asal" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3743,7 +3667,7 @@ msgstr "Parti" msgid "Password" msgstr "Kata laluan" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Jeda" @@ -3756,7 +3680,7 @@ msgstr "Jeda main balik" msgid "Paused" msgstr "Dijeda" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3771,14 +3695,14 @@ msgstr "Piksel" msgid "Plain sidebar" msgstr "Palang sisi biasa" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Main" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Kiraan main" @@ -3809,7 +3733,7 @@ msgstr "Pilihan pemain" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Senarai main" @@ -3826,7 +3750,7 @@ msgstr "Pilihan senarai main" msgid "Playlist type" msgstr "Jenis senarai main" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Senarai main" @@ -3867,11 +3791,11 @@ msgstr "Keutamaan" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Keutamaan" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Keutamaan..." @@ -3931,7 +3855,7 @@ msgid "Previous" msgstr "Sebelum" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Trek sebelumnya" @@ -3982,16 +3906,16 @@ msgstr "Kualiti" msgid "Querying device..." msgstr "Menanya peranti..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Pengurus Baris Gilir" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Baris gilir trek terpilih" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Baris gilir trek" @@ -4003,7 +3927,7 @@ msgstr "Radio (sama kelantangan untuk semua trek)" msgid "Rain" msgstr "Rain" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Rain" @@ -4040,7 +3964,7 @@ msgstr "Tarafkan populariti lagu semasa 4 bintang" msgid "Rate the current song 5 stars" msgstr "Tarafkan populariti lagu semasa 5 bintang" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Penarafan" @@ -4107,7 +4031,7 @@ msgstr "Buang" msgid "Remove action" msgstr "Buang tindakan" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Buang pendua dari senarai main" @@ -4115,15 +4039,7 @@ msgstr "Buang pendua dari senarai main" msgid "Remove folder" msgstr "Buang folder" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Buang dari Muzik Saya" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Buang dari tanda buku" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Buang dari senarai main" @@ -4135,7 +4051,7 @@ msgstr "Buang senarai main" msgid "Remove playlists" msgstr "Buang senarai main" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Buang trek tidak tersedia dari senarai main" @@ -4147,7 +4063,7 @@ msgstr "Namakan semula senarai main" msgid "Rename playlist..." msgstr "Namakan semula senarai main..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Nomborkan semula trek mengikut tertib ini..." @@ -4197,7 +4113,7 @@ msgstr "Diami semula" msgid "Require authentication code" msgstr "Perlukan kod pengesahihan" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Tetap semula" @@ -4238,7 +4154,7 @@ msgstr "Retas" msgid "Rip CD" msgstr "Retas CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Retas CD audio" @@ -4268,8 +4184,9 @@ msgstr "Tanggal peranti secara selamat" msgid "Safely remove the device after copying" msgstr "Tanggal peranti secara selamat selepas menyalin" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Kadar sampel" @@ -4307,7 +4224,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Simpan senarai main" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Simpan senarai main..." @@ -4347,7 +4264,7 @@ msgstr "Profil kadar persampelan boleh diskala (SSR)" msgid "Scale size" msgstr "Saiz skala" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Skor" @@ -4364,12 +4281,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Gelintar" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Gelintar" @@ -4512,7 +4429,7 @@ msgstr "Perincian pelayan" msgid "Service offline" msgstr "Perkhidmatan di luar talian" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Tetapkan %1 ke \"%2\"..." @@ -4521,7 +4438,7 @@ msgstr "Tetapkan %1 ke \"%2\"..." msgid "Set the volume to percent" msgstr "Tetapkan volum ke peratus" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Tetapkan nilai untuk semua trek terpilih..." @@ -4588,7 +4505,7 @@ msgstr "Tunjuk OSD menarik" msgid "Show above status bar" msgstr "Tunjuk di atas palang status" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Tunjuk semua lagu" @@ -4608,16 +4525,12 @@ msgstr "Tunjuk pembahagi" msgid "Show fullsize..." msgstr "Tunjuk saiz penuh..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Tunjuk kumpulan dalam keputusan gelintar sejagat" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Tunjuk dalam pelayar fail..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Tunjuk dalam pustaka...." @@ -4629,27 +4542,23 @@ msgstr "Tunjuk dalam artis pelbagai" msgid "Show moodbar" msgstr "Tunjuk palang suasana" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Hanya tunjuk pendua" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Tunjuk hanya tidak ditag" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Tunjuk atau sembunyi palang sisi" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Tunjuk lagu dimainkan dalam halaman anda" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Tunjuk cadangan gelintar" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Tunjuk palang sisi" @@ -4685,7 +4594,7 @@ msgstr "Kocok album" msgid "Shuffle all" msgstr "Kocok semua" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Kocok senarai main" @@ -4721,7 +4630,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Langkau mengundur dalam senarai main" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Kiraan langkau" @@ -4729,11 +4638,11 @@ msgstr "Kiraan langkau" msgid "Skip forwards in playlist" msgstr "Langkau maju dalam senarai main" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Langkau trek terpilih" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Langkau trek" @@ -4765,7 +4674,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Maklumat Lagu" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Maklumat lagu" @@ -4801,7 +4710,7 @@ msgstr "Pengisihan" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Sumber" @@ -4876,7 +4785,7 @@ msgid "Starting..." msgstr "Memulakan..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Henti" @@ -4892,7 +4801,7 @@ msgstr "Henti selepas setiap trek" msgid "Stop after every track" msgstr "Henti selepas setiap trek" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Henti selepas trek ini" @@ -4921,6 +4830,10 @@ msgstr "Dihentikan" msgid "Stream" msgstr "Strim" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5030,6 +4943,10 @@ msgstr "Kulit album lagu yang kini dimainkan" msgid "The directory %1 is not valid" msgstr "Direktori %1 tidak sah" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Nilai kedua mesti lebih besar daripada nilai pertama!" @@ -5048,7 +4965,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Tempoh percubaan pelayan Subsonic telah tamat. Sila beri derma untuk dapatkan kunci lesen. Lawati subsonic untuk perincian." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5090,7 +5007,7 @@ msgid "" "continue?" msgstr "Fail ini akan dipadam dari peranti, anda pasti untuk meneruskan?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5174,7 +5091,7 @@ msgstr "Peranti jenis ini tidak disokong: %1" msgid "Time step" msgstr "Langkah masa" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5193,11 +5110,11 @@ msgstr "Togol OSD Menarik" msgid "Toggle fullscreen" msgstr "Togol skrin penuh" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Togol status baris gilir" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Togol scrobble" @@ -5237,7 +5154,7 @@ msgstr "Jumlah permintaan rangkaian dibuat" msgid "Trac&k" msgstr "Tre&k" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Trek" @@ -5246,7 +5163,7 @@ msgstr "Trek" msgid "Tracks" msgstr "Trek" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transkod Muzik" @@ -5283,6 +5200,10 @@ msgstr "Matikan" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL" @@ -5308,9 +5229,9 @@ msgstr "Tidak boleh muat turun %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Tidak diketahui" @@ -5327,11 +5248,11 @@ msgstr "Ralat tidak diketahui" msgid "Unset cover" msgstr "Nyahtetap kulit muka" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Jangan langkau trek terpilih" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Jangan langkau trek" @@ -5344,15 +5265,11 @@ msgstr "Jangan langgan" msgid "Upcoming Concerts" msgstr "Konsert Akan Datang" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Kemaskini" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Kemaskini semua podcast" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Kemaskini folder pustaka yang berubah" @@ -5462,7 +5379,7 @@ msgstr "Guna penormalan volum" msgid "Used" msgstr "Digunakan" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Antaramuka pengguna" @@ -5488,7 +5405,7 @@ msgid "Variable bit rate" msgstr "Kadar bit pembolehubah" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Pelbagai artis" @@ -5501,11 +5418,15 @@ msgstr "Versi %1" msgid "View" msgstr "Lihat" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Mod pengvisualan" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Pengvisualan" @@ -5513,10 +5434,6 @@ msgstr "Pengvisualan" msgid "Visualizations Settings" msgstr "Tetapan pengvisualan" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Pengesanan aktiviti suara" @@ -5539,10 +5456,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Dinding" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Beri amaran bila menutup tab senarai main" @@ -5645,7 +5558,7 @@ msgid "" "well?" msgstr "Anda mahu alih lagu lain dalam album ini ke Artis Pelbagai juga?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Anda mahu jalankan imbas semula penuh sekarang?" @@ -5661,7 +5574,7 @@ msgstr "Tulis data meta" msgid "Wrong username or password." msgstr "Nama pengguna atau kata laluan salah" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/my.po b/src/translations/my.po index 6a237cdfb..526317753 100644 --- a/src/translations/my.po +++ b/src/translations/my.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Burmese (http://www.transifex.com/davidsansome/clementine/language/my/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,11 +63,6 @@ msgstr "စက္ကန့်များ" msgid " songs" msgstr "သီချင်းများ" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 သီချင်းများ)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -99,7 +94,7 @@ msgstr "%1 မှအပေါ် %2" msgid "%1 playlists (%2)" msgstr "%1 သီချင်းစာရင်းများ (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 ကိုရွေးချယ်ခဲ့" @@ -124,7 +119,7 @@ msgstr "%1 သီချင်းများရှာတွေ့" msgid "%1 songs found (showing %2)" msgstr "%1 သီချင်းများရှာတွေ့ (%2 ပြသနေ)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 တေးသံလမ်းကြောများ" @@ -184,7 +179,7 @@ msgstr "အလယ်(&C)" msgid "&Custom" msgstr "စိတ်ကြိုက်(&C)" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "အပိုများ(&E)" @@ -192,7 +187,7 @@ msgstr "အပိုများ(&E)" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "အကူအညီ(&H)" @@ -217,7 +212,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "ဂီတ(&M)" @@ -225,15 +220,15 @@ msgstr "ဂီတ(&M)" msgid "&None" msgstr "တစ်ခုမျှ(&N)" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "သီချင်းစာရင်း(&P)" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "ထွက်(&Q)" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "စနစ်ပြန်ဆို(&R)" @@ -241,7 +236,7 @@ msgstr "စနစ်ပြန်ဆို(&R)" msgid "&Right" msgstr "ညာ(&R)" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "ကုလားဖန်ထိုးစနစ်(&S)" @@ -249,7 +244,7 @@ msgstr "ကုလားဖန်ထိုးစနစ်(&S)" msgid "&Stretch columns to fit window" msgstr "ဝင်းဒိုးနဲ့အံကိုက်ကော်လံများကိုဆွဲဆန့်(&S)" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "ကိရိယာများ(&T)" @@ -285,7 +280,7 @@ msgstr "၀ပီအိတ်စ်" msgid "1 day" msgstr "တစ်နေ့" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "တေးသံလမ်းကြောတစ်ခု" @@ -429,11 +424,11 @@ msgstr "ဖျက်သိမ်း" msgid "About %1" msgstr "ခန့် %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "ကလီမန်တိုင်းအကြောင်း" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "ကျူတီအကြောင်း..." @@ -443,7 +438,7 @@ msgid "Absolute" msgstr "အကြွင်းမဲ့" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "စာရင်းအသေးစိတ်အကြောင်းအရာများ" @@ -497,19 +492,19 @@ msgstr "သီချင်းစီးကြောင်းနောက်တစ msgid "Add directory..." msgstr "ဖိုင်လမ်းညွှန်ထည့်..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "ဖိုင်ထည့်" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "ဖိုင်များကိုပံုစံပြောင်းလဲသူသို့ထည့်ပါ" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "ဖိုင်(များ)ကိုပံုစံပြောင်းလဲသူသို့ထည့်ပါ" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "ဖိုင်ထည့်..." @@ -517,12 +512,12 @@ msgstr "ဖိုင်ထည့်..." msgid "Add files to transcode" msgstr "ဖိုင်များကိုပံုစံပြောင်းလဲရန်ထည့်ပါ" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "ဖိုင်တွဲထည့်" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "ဖိုင်တွဲထည့်..." @@ -534,7 +529,7 @@ msgstr "ဖိုင်တွဲအသစ်ထည့်..." msgid "Add podcast" msgstr "ပို့စ်ကဒ်ထည့်" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "ပို့စ်ကဒ်ထည့်..." @@ -602,10 +597,6 @@ msgstr "သီချင်းကျော်သံအရေအတွက်ထည msgid "Add song title tag" msgstr "သီချင်းခေါင်းစဉ်အမည်ထည့်" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "မှတ်ဉာဏ်ဝှက်ထဲသို့သီချင်းထည့်" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "သီချင်းတေးသံလမ်းကြောအမည်ထည့်" @@ -614,18 +605,10 @@ msgstr "သီချင်းတေးသံလမ်းကြောအမည် msgid "Add song year tag" msgstr "သီချင်းနှစ်အမည်ထည့်" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "\"အချစ်\" ခလုပ်ကိုနှိပ်လိုက်သောအခါ \"ငါ့သီချင်း\" ထဲသို့သီချင်းများထည့်" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "သီချင်းစီးကြောင်းထည့်..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "\"ငါ့သီချင်း\" ထဲသို့ထည့်" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -634,14 +617,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "သီချင်းစာရင်းနောက်တစ်ခုသို့ထည့်" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "မှတ်သားခြင်းစာရင်းများသို့ထည့်" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "သီချင်းစာရင်းသို့ထည့်" @@ -651,10 +630,6 @@ msgstr "သီချင်းစာရင်းသို့ထည့်" msgid "Add to the queue" msgstr "စီတန်းထဲသို့ထည့်ပါ" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "မှတ်သားခြင်းစာရင်းများသို့အသုံးပြုသူထည့်" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "ဝီမိုတ်ဒပ်လုပ်ဆောင်ချက်ကိုထည့်" @@ -692,7 +667,7 @@ msgstr "ပြီးနောက်" msgid "After copying..." msgstr "ကူးယူပြီးနောက်..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -705,7 +680,7 @@ msgstr "အယ်လဘမ်" msgid "Album (ideal loudness for all tracks)" msgstr "အယ်လဘမ် (တေးသံလမ်းကြောများအားလံုးအတွက်အကောင်းဆုံးအသံကျယ်ကျယ်)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -720,10 +695,6 @@ msgstr "အယ်လဘမ်အဖုံး" msgid "Album info on jamendo.com..." msgstr "ဂျမန်ဒို.ကွမ်းမှအယ်လဘမ်အချက်အလက်..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "အဖုံးများနဲ့အယ်လဘမ်များ" @@ -736,11 +707,11 @@ msgstr "အဖုံးများနဲ့အယ်လဘမ်များ" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "ဖိုင်များအားလံုး(*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "အံ့မခန်းဖွယ်အားလံုးကိုဟိုက်ဖ်နိုဖားသို့!" @@ -865,7 +836,7 @@ msgid "" "the songs of your library?" msgstr "သီချင်းတိုက်သီချင်းများအားလံုးအတွက်သီချင်းကိန်းဂဏန်းအချက်အလက်များကိုသီချင်းဖိုင်အဖြစ်ရေးလိုပါသလား?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -874,7 +845,7 @@ msgstr "သီချင်းတိုက်သီချင်းများအ msgid "Artist" msgstr "အနုပညာရှင်" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "အနုပညာရှင်အချက်အလက်" @@ -945,7 +916,7 @@ msgstr "ပျမ်းမျှပုံအရွယ်အစား" msgid "BBC Podcasts" msgstr "ဘီဘီစီပို့စ်ကဒ်များ" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "ဘီပီအမ်" @@ -1002,7 +973,8 @@ msgstr "အကောင်းဆုံး" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "ဘစ်နှုန်း" @@ -1055,7 +1027,7 @@ msgstr "လျှောက်ကြည့်..." msgid "Buffer duration" msgstr "ကြားခံကြာချိန်" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "ကြားခံ" @@ -1079,19 +1051,6 @@ msgstr "စီဒီဒီအေ" msgid "CUE sheet support" msgstr "ကယူးအပြားအထောက်အကူ" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "မှတ်ဉာဏ်ဝှက်လမ်းကြောင်း:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "မှတ်ဉာဏ်ဝှက်ခြင်း" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "မှတ်ဉာဏ်ဝှက်ခြင်း %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "ပယ်ဖျက်" @@ -1100,12 +1059,6 @@ msgstr "ပယ်ဖျက်" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "အနုပညာအဖုံးပြောင်းလဲ" @@ -1144,6 +1097,10 @@ msgid "" "songs" msgstr "ပြန်ဖွင့်လိုလားချက်များပြောင်းလဲခြင်းသည်နောက်ဖွင့်ဆဲသီချင်းများတွင်သက်ရောက်မှုရှိ" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "တွဲအသစ်များစစ်ဆေးခြင်း" @@ -1152,19 +1109,15 @@ msgstr "တွဲအသစ်များစစ်ဆေးခြင်း" msgid "Check for updates" msgstr "မွမ်းမံများစစ်ဆေးခြင်း" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "မွမ်းမံများစစ်ဆေးခြင်း..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Vk.com မှတ်ဉာဏ်ဝှက်ဖိုင်လမ်းညွှန်ရွေးချယ်" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "သင့်ရဲ့ချက်ချာသီချင်းစာရင်းအတွက်နာမည်တစ်ခုရွေး" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "အလိုအလျောက်ရွေးချယ်ခြင်း" @@ -1210,13 +1163,13 @@ msgstr "ရှင်းထုတ်ဖြစ်" msgid "Clear" msgstr "ဖယ်ထုတ်" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "သီချင်းစာရင်းဖယ်ထုတ်" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "ကလီမန်တိုင်း" @@ -1349,24 +1302,20 @@ msgstr "အရောင်များ" msgid "Comma separated list of class:level, level is 0-3" msgstr "အမျိုးအစားစာရင်းခွဲခြားရန်ပုဒ်ရပ်: အမျိုးအစား, အမျိုးအစားက ၀-၃" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "ထင်မြင်ချက်" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "အသိုင်းအဝိုင်းရေဒီယို" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "အမည်များအလိုအလျောက်ဖြည့်" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "အမည်များအလိုအလျောက်ဖြည့်..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1397,15 +1346,11 @@ msgstr "စပေါ့တီဖိုင်ပုံစံပြင်..." msgid "Configure Subsonic..." msgstr "ဆပ်ဆိုးနစ်ပုံစံပြင်..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Vk.com ပုံစံပြင်..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "အနှံ့ရှာဖွေပုံစံပြင်..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "သီချင်းတိုက်ပုံစံပြင်..." @@ -1439,16 +1384,16 @@ msgid "" "http://localhost:4040/" msgstr "ဆာဗာမှဆက်သွယ်ခြင်းငြင်းပယ်၊ဆာဗာယူအာအယ်ပြန်စစ်ဆေးပါ။ ဥပမာ: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "ဆက်သွယ်ချိန်ကုန်ဆံုး၊ ဆာဗာယူအာအယ်ပြန်စစ်ဆေးပါ။ ဥပမာ: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "ခလုတ်ခုံ" @@ -1472,20 +1417,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "အောက်ခံကတ်ပြားသို့ကူးယူ" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "ပစ္စည်းသို့ကူးယူ" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "သီချင်းတိုက်သို့ကူးယူ..." @@ -1507,6 +1448,15 @@ msgid "" "required GStreamer plugins installed" msgstr "ဂျီသီချင်းစီးကြောင်းအစိတ်အပိုင်းမဖန်တီးနိင် \"%1\" - လိုအပ်သောဂျီသီချင်းစီးကြောင်းဖြည့်စွက်ပရိုဂရမ်များအားလံုးသွင်းပြီးပါစေ" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1533,7 +1483,7 @@ msgstr "ပေးပို့ဖိုင်ဖွင့်မရ %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "အဖုံးမန်နေဂျာ" @@ -1619,11 +1569,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "ရက်စွဲဖန်တီးပြီး" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "ရက်စွဲမွမ်းမံပြီး" @@ -1651,7 +1601,7 @@ msgstr "အသံပမာဏလျှော့ချ" msgid "Default background image" msgstr "မူလပံုစံနောက်ခံပုံ" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1674,7 +1624,7 @@ msgid "Delete downloaded data" msgstr "ကူးဆွဲပြီးအချက်အလက်ပယ်ဖျက်" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "ဖိုင်များပယ်ဖျက်" @@ -1682,7 +1632,7 @@ msgstr "ဖိုင်များပယ်ဖျက်" msgid "Delete from device..." msgstr "ပစ္စည်းမှပယ်ဖျက်..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "ဓာတ်ပြားမှပယ်ဖျက်..." @@ -1707,11 +1657,15 @@ msgstr "မူရင်းဖိုင်များပယ်ဖျက်" msgid "Deleting files" msgstr "ဖိုင်များပယ်ဖျက်နေ" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "ရွေးချယ်တေးသံလမ်းကြောများမစီတန်း" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "တေးသံလမ်းကြောမစီတန်း" @@ -1740,11 +1694,11 @@ msgstr "ပစ္စည်းနာမည်" msgid "Device properties..." msgstr "ပစ္စည်းဂုဏ်သတ္တိများ..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "ပစ္စည်းများ" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "စကားပြော" @@ -1791,7 +1745,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "မလုပ်ဆောင်စေ" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1812,7 +1766,7 @@ msgstr "ပြသခြင်းရွေးပိုင်ခွင့်မျ msgid "Display the on-screen-display" msgstr "ဖန်သားပြင်ပေါ်ပံုရိပ်ပြသခြင်း" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "သီချင်းတိုက်အပြည့်ပြန်လည်ဖတ်ရှု" @@ -1983,12 +1937,12 @@ msgstr "ကျပန်းရောသမမွှေအရှင်" msgid "Edit smart playlist..." msgstr "ချက်ချာသီချင်းစာရင်းပြင်ဆင်..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "အမည်ပြင်ဆင် \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "အမည်ပြင်ဆင်..." @@ -2001,7 +1955,7 @@ msgid "Edit track information" msgstr "တေးသံလမ်းကြောအချက်အလက်ပြင်ဆင်" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "တေးသံလမ်းကြောအချက်အလက်ပြင်ဆင်..." @@ -2021,10 +1975,6 @@ msgstr "အီးမေးလ်" msgid "Enable Wii Remote support" msgstr "ဝီအဝေးထိန်းအထောက်အကူလုပ်ဆောင်စေ" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "အသံထိန်းညှိသူလုပ်ဆောင်စေ" @@ -2109,7 +2059,7 @@ msgstr "ကလီမန်တိုင်းသို့ချိတ်ဆက် msgid "Entire collection" msgstr "စုပေါင်းမှုတစ်ခုလုံး" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "အသံထိန်းညှိသူ" @@ -2122,8 +2072,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Equivalent to --log-levels *:3တူညီ" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "အမှားပြ" @@ -2143,6 +2093,11 @@ msgstr "သီချင်းများကူးယူမှုအမှား msgid "Error deleting songs" msgstr "သီချင်းများပယ်ဖျက်မှုအမှားပြ" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "စပေါ့တီဖိုင်ဖြည့်စွက်ပရိုဂရမ်ကူးဆွဲမှုအမှားပြ" @@ -2263,7 +2218,7 @@ msgstr "အရောင်မှိန်" msgid "Fading duration" msgstr "အရောင်မှိန်ကြာချိန်" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2342,27 +2297,23 @@ msgstr "ဖိုင်နောက်ဆက်တွဲ" msgid "File formats" msgstr "ဖိုင်ပုံစံများ" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "ဖိုင်နာမည်" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "ဖိုင်နာမည် (လမ်းကြောင်းနှင့်မဟုတ်)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "ဖိုင်နာမည်အညွှန်း:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "ဖိုင်ပမာဏ" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2372,7 +2323,7 @@ msgstr "ဖိုင်အမျိုးအစား" msgid "Filename" msgstr "ဖိုင်နာမည်" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "ဖိုင်များ" @@ -2384,10 +2335,6 @@ msgstr "ဖိုင်များကိုပံုစံပြောင်း msgid "Find songs in your library that match the criteria you specify." msgstr "သတ်မှတ်ထားသောစံဟပ်စပ်သောသီချင်းများသီချင်းတိုက်တွင်ရှာဖွေ" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "လက်ဗွေနှိပ်သီချင်း" @@ -2456,6 +2403,7 @@ msgid "Form" msgstr "ပုံစံ" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "ပုံစံချ" @@ -2492,7 +2440,7 @@ msgstr "အမြင့်သံအပြည့်" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "အထွေထွေ" @@ -2500,7 +2448,7 @@ msgstr "အထွေထွေ" msgid "General settings" msgstr "အထွေထွေချိန်ညှိချက်" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2533,11 +2481,11 @@ msgstr "ဒီဟာကိုနာမည်ပေး:" msgid "Go" msgstr "သွား" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "နောက်သီချင်းစာရင်းမျက်နှာစာသို့သွား" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "ယခင်သီချင်းစာရင်းမျက်နှာစာသို့သွား" @@ -2591,7 +2539,7 @@ msgstr "အမျိုးအစား/အယ်လဘမ်အုပ်စု msgid "Group by Genre/Artist/Album" msgstr "အမျိုးအစား/အနုပညာရှင်/အယ်လဘမ်အုပ်စုအလိုက်" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2781,11 +2729,11 @@ msgstr "သွင်းပြီး" msgid "Integrity check" msgstr "ခိုင်မြဲမှုစစ်ဆေး" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "အင်တာနက်" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "အင်တာနက်ပံ့ပိုးသူများ" @@ -2802,6 +2750,10 @@ msgstr "" msgid "Invalid API key" msgstr "အေပီအိုင်သော့မမှန်" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "ပုံစံမမှန်" @@ -2858,7 +2810,7 @@ msgstr "ဂျမန်တိုအချက်အလက်အစု" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "လက်ရှိဖွင့်ဆဲတေးသံလမ်းကြောသို့" @@ -2882,7 +2834,7 @@ msgstr "ဝင်းဒိုးပိတ်နေစဉ်နောက်ခံ msgid "Keep the original files" msgstr "မူရင်းဖိုင်များထိန်းထား" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "ကြောင်ပေါက်စများ" @@ -2923,7 +2875,7 @@ msgstr "ဘေးတိုင်ကြီး" msgid "Last played" msgstr "နောက်ဆံုးသီချင်းဖွင့်ခဲ့သမျှ" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2964,12 +2916,12 @@ msgstr "အနှစ်သက်ဆုံးတေးသံလမ်းကြေ msgid "Left" msgstr "ဘယ်" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "အလျား" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "သီချင်းတိုက်" @@ -2978,7 +2930,7 @@ msgstr "သီချင်းတိုက်" msgid "Library advanced grouping" msgstr "သီချင်းတိုက်အဆင့်မြင့်အုပ်စုဖွဲ့ခြင်း" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "သီချင်းတိုက်ပြန်လည်ဖတ်ရှုအကြောင်းကြားစာ" @@ -3018,7 +2970,7 @@ msgstr "ဓာတ်ပြားမှအဖုံးထည့်သွင်း msgid "Load playlist" msgstr "သီချင်းစာရင်းထည့်သွင်း" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "သီချင်းစာရင်းထည့်သွင်း..." @@ -3054,8 +3006,7 @@ msgstr "တေးသံလမ်းကြောအချက်အလက်မျ #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "ထည့်သွင်းနေ..." @@ -3064,7 +3015,6 @@ msgstr "ထည့်သွင်းနေ..." msgid "Loads files/URLs, replacing current playlist" msgstr "ဖိုင်များ/ယူအာအလ်များထည့်သွင်း၊ ယခုသီချင်းစာရင်းအစားထိုး" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3074,8 +3024,7 @@ msgstr "ဖိုင်များ/ယူအာအလ်များထည့ #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "ဖွင့်ဝင်" @@ -3083,15 +3032,11 @@ msgstr "ဖွင့်ဝင်" msgid "Login failed" msgstr "ဖွင့်ဝင်၍မရ" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "ထွက်ခွာ" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "ကာလရှည်ခန့်မှန်းအကြောင်း (အယ်တီပီ)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "နှစ်သက်" @@ -3172,7 +3117,7 @@ msgstr "အဓိကအကြောင်း(အဓိက)" msgid "Make it so!" msgstr "အဲဒီကဲ့သို့လုပ်" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "အဲဒီကဲ့သို့လုပ်" @@ -3218,10 +3163,6 @@ msgstr "ရှာဖွေစကားရပ်တိုင်းဟပ်စပ msgid "Match one or more search terms (OR)" msgstr "ရှာဖွေစကားရပ်များတစ်ခုသို့အများဟပ်စပ် (သို့)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "အများသုံးရလဒ်များရှာဖွေမှုအများဆုံး" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "အများဆုံးဘစ်နှုန်း" @@ -3252,6 +3193,10 @@ msgstr "အနည်းဆုံးဘစ်နှုန်း" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "ပရောဂျက်အမ်ကြိုတင်ထိန်းညှိများလိုနေ" @@ -3272,7 +3217,7 @@ msgstr "မိုနိတစ်ခုတည်း" msgid "Months" msgstr "လများ" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "စိတ်နေစိတ်ထား" @@ -3285,10 +3230,6 @@ msgstr "စိတ်နေစိတ်ထားဘားမျဉ်းပုံ msgid "Moodbars" msgstr "စိတ်နေစိတ်ထားဘားမျဉ်းများ" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "နောက်ထပ်" - #: library/library.cpp:84 msgid "Most played" msgstr "အများဆံုးဖွင့်ခဲ့သမျှ" @@ -3306,7 +3247,7 @@ msgstr "အမှတ်များစီစဉ်" msgid "Move down" msgstr "အောက်သို့ရွှေ့" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "သီချင်းတိုက်သို့ရွှေ့..." @@ -3315,8 +3256,7 @@ msgstr "သီချင်းတိုက်သို့ရွှေ့..." msgid "Move up" msgstr "အပေါ်သို့ရွှေ့" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "ဂီတ" @@ -3325,22 +3265,10 @@ msgid "Music Library" msgstr "ဂီတတိုက်" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "အသံအုပ်" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "ငါ့ဂီတ" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "ငါ့ထောက်ခံချက်များ" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3386,7 +3314,7 @@ msgstr "သီချင်းလုံးဝစတင်မဖွင့်" msgid "New folder" msgstr "ဖိုင်တွဲအသစ်" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "သီချင်းစာရင်းအသစ်" @@ -3415,7 +3343,7 @@ msgid "Next" msgstr "နောက်တစ်ခု" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "နောက်တေးသံလမ်းကြော" @@ -3453,7 +3381,7 @@ msgstr "ဘလောက်တိုများမရှိ" msgid "None" msgstr "ဘယ်တစ်ခုမျှ" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "ရွေးချယ်ပြီးသီချင်းများတစ်ခုမှပစ္စည်းသို့ကူးယူရန်မသင့်တော်" @@ -3502,10 +3430,6 @@ msgstr "မဖွင့်ဝင်ရသေး" msgid "Not mounted - double click to mount" msgstr "မစီစဉ်ထား - စီစဉ်ရန်ကလစ်နှစ်ခါနှိပ်" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "သတိပေးချက်ပုံစံ" @@ -3587,7 +3511,7 @@ msgstr "အလင်းပိတ်မှု" msgid "Open %1 in browser" msgstr "ဘရောက်ဇာထဲတွင် %1 ဖွင့်" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "အသံဓာတ်ပြားဖွင့်(&a)..." @@ -3607,7 +3531,7 @@ msgstr "" msgid "Open device" msgstr "ပစ္စည်းဖွင့်" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "ဖိုင်ဖွင့်..." @@ -3661,7 +3585,7 @@ msgstr "တေး" msgid "Organise Files" msgstr "ဖိုင်များစုစည်း" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "ဖိုင်များစုစည်း..." @@ -3673,7 +3597,7 @@ msgstr "ဖိုင်များစုစည်းနေ" msgid "Original tags" msgstr "မူရင်းအမည်များ" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3741,7 +3665,7 @@ msgstr "အဖွဲ့" msgid "Password" msgstr "စကားဝှက်" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "ရပ်တန့်" @@ -3754,7 +3678,7 @@ msgstr "ပြန်ဖွင့်ရပ်တန့်" msgid "Paused" msgstr "ရပ်တန့်ပြီး" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3769,14 +3693,14 @@ msgstr "အစက်အပြောက်" msgid "Plain sidebar" msgstr "ဘေးတိုင်ရိုးရိုး" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "ဖွင့်" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "ဖွင့်သံအရေအတွက်" @@ -3807,7 +3731,7 @@ msgstr "ဖွင့်စက်ရွေးပိုင်ခွင့်မျ #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "သီချင်းစာရင်း" @@ -3824,7 +3748,7 @@ msgstr "သီချင်းစာရင်းရွေးပိုင်ခွ msgid "Playlist type" msgstr "သီချင်းစာရင်းအမျိုးအစား" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "သီချင်းစာရင်းများ" @@ -3865,11 +3789,11 @@ msgstr "လိုလားချက်" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "လိုလားချက်များ" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "လိုလားချက်များ..." @@ -3929,7 +3853,7 @@ msgid "Previous" msgstr "ယခင်" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "ယခင်တေးသံလမ်းကြော" @@ -3980,16 +3904,16 @@ msgstr "အရည်အသွေး" msgid "Querying device..." msgstr "ပစ္စည်းမေးမြန်းခြင်း..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "စီတန်းမန်နေဂျာ" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "ရွေးချယ်တေးသံလမ်းကြောများစီတန်း" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "တေးသံလမ်းကြောစီတန်း" @@ -4001,7 +3925,7 @@ msgstr "ရေဒီယို (တေးသံလမ်းကြောမျာ msgid "Rain" msgstr "မိုး" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "မိုး" @@ -4038,7 +3962,7 @@ msgstr "လက်ရှိသီချင်း၄ကြယ်တန်ဖို msgid "Rate the current song 5 stars" msgstr "လက်ရှိသီချင်း၅ကြယ်တန်ဖိုးဖြတ်" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "အဆင့်သတ်မှတ်ချက်များ" @@ -4105,7 +4029,7 @@ msgstr "ဖယ်ရှား" msgid "Remove action" msgstr "လုပ်ဆောင်ချက်ဖယ်ရှား" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "သီချင်းစာရင်းမှပုံတူများဖယ်ရှား" @@ -4113,15 +4037,7 @@ msgstr "သီချင်းစာရင်းမှပုံတူများ msgid "Remove folder" msgstr "ဖိုင်တွဲဖယ်ရှား" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "ငါ့ဂီတမှဖယ်ရှား" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "မှတ်သားခြင်းစာရင်းများမှဖယ်ရှား" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "သီချင်းစာရင်းမှဖယ်ရှား" @@ -4133,7 +4049,7 @@ msgstr "သီချင်းစာရင်းဖယ်ရှား" msgid "Remove playlists" msgstr "သီချင်းစာရင်းများဖယ်ရှား" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4145,7 +4061,7 @@ msgstr "သီချင်းစာရင်းနာမည်ပြန်ရွ msgid "Rename playlist..." msgstr "သီချင်းစာရင်းနာမည်ပြန်ရွေး..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "တေးသံလမ်းကြောများယခုအစဉ်အလိုက်နံပါတ်ပြန်ပြောင်းပါ..." @@ -4195,7 +4111,7 @@ msgstr "ပြန်လည်ရွှေ့ပြောင်း" msgid "Require authentication code" msgstr "အထောက်အထားစစ်ဆေးခြင်းကုဒ်လိုအပ်" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "ပြန်လည်ထိန်းညှိ" @@ -4236,7 +4152,7 @@ msgstr "တင်သွင်း" msgid "Rip CD" msgstr "စီဒီတင်သွင်း" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4266,8 +4182,9 @@ msgstr "ပစ္စည်းလုံလုံခြုံခြုံဖယ် msgid "Safely remove the device after copying" msgstr "ကူးယူပြီးနောက်ပစ္စည်းလုံလုံခြုံခြုံဖယ်ရှား" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "နမူနာနှုန်း" @@ -4305,7 +4222,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "သီချင်းစာရင်းမှတ်သား" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "သီချင်းစာရင်းမှတ်သား..." @@ -4345,7 +4262,7 @@ msgstr "သတ်မှတ်နမူနာနှုန်းအကြောင msgid "Scale size" msgstr "အတိုင်းအတာပမာဏ" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "ရမှတ်" @@ -4362,12 +4279,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "ရှာဖွေ" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "ရှာဖွေ" @@ -4510,7 +4427,7 @@ msgstr "ဆာဗာအသေးစိတ်အကြောင်းအရာမ msgid "Service offline" msgstr "အောဖ့်လိုင်းဝန်ဆောင်မှု" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "%1 မှ \"%2\" ထိန်းညှိ..." @@ -4519,7 +4436,7 @@ msgstr "%1 မှ \"%2\" ထိန်းညှိ..." msgid "Set the volume to percent" msgstr "အသံပမာဏ ရာခိုင်နှုန်းခန့်ထိန်းညှိ" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "ရွေးချယ်တေးသံလမ်းကြောများအားလံုးအတွက်တန်ဖိုးထိန်းညှိ..." @@ -4586,7 +4503,7 @@ msgstr "ဖန်သားပြင်ပေါ်ပံုရိပ်လှလ msgid "Show above status bar" msgstr "အခြေအနေပြတိုင်အပေါ်မှာပြသ" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "သီချင်းများအားလံုးပြသ" @@ -4606,16 +4523,12 @@ msgstr "ခွဲခြားမှုများပြသ" msgid "Show fullsize..." msgstr "အရွယ်အပြည့်ပြသ..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "ဖိုင်ဘရောက်ဇာထဲမှာပြသ..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4627,27 +4540,23 @@ msgstr "အနုပညာရှင်များအမျိုးမျို msgid "Show moodbar" msgstr "စိတ်နေစိတ်ထားဘားမျဉ်းပြသ" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "ပုံတူများသာပြသ" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "အမည်မရှိများသာပြသ" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "ရှာဖွေအကြံပြုချက်များပြသ" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4683,7 +4592,7 @@ msgstr "အယ်လဘမ်များကုလားဖန်ထိုး" msgid "Shuffle all" msgstr "ကုလားဖန်အားလံုးထိုး" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "သီချင်းစာရင်းကုလားဖန်ထိုး" @@ -4719,7 +4628,7 @@ msgstr "စကာဂီတ" msgid "Skip backwards in playlist" msgstr "စာရင်းရှိနောက်ပြန်များခုန်ကျော်" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "အရေအတွက်ခုန်ကျော်" @@ -4727,11 +4636,11 @@ msgstr "အရေအတွက်ခုန်ကျော်" msgid "Skip forwards in playlist" msgstr "စာရင်းရှိရှေ့သို့များခုန်ကျော်" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4763,7 +4672,7 @@ msgstr "ပျော့ရော့ခ်ဂီတ" msgid "Song Information" msgstr "သီချင်းအချက်အလက်" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "သီချင်းအချက်အလက်" @@ -4799,7 +4708,7 @@ msgstr "မျိုးတူစုခြင်း" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "ရင်းမြစ်" @@ -4874,7 +4783,7 @@ msgid "Starting..." msgstr "စတင်နေ..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "ရပ်" @@ -4890,7 +4799,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "ဒီတေးသံလမ်းကြောပြီးနောက်ရပ်" @@ -4919,6 +4828,10 @@ msgstr "ရပ်တန့်ပြီး" msgid "Stream" msgstr "သီချင်းစီးကြောင်း" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5028,6 +4941,10 @@ msgstr "လက်ရှိဖွင့်ဆဲသီချင်းအယ်လ msgid "The directory %1 is not valid" msgstr "%1 ယခုဖိုင်လမ်းညွှန်မမှန်" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "ဒုတိယတန်ဖိုးသည်ပထမတန်ဖိုးထက်ကြီးရမည်!" @@ -5046,7 +4963,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "ဆပ်ဆိုးနစ်ဆာဗာအစမ်းသံုးကာလပြီးဆံုး။ လိုင်စင်ကီးရယူရန်ငွေလှုပါ။ အသေးစိတ်အကြောင်းအရာများအတွက် subsonic.org သို့လည်ပတ်ပါ။" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5088,7 +5005,7 @@ msgid "" "continue?" msgstr "ပစ္စည်းမှယခုဖို်င်များအားလံုးပယ်ဖျက်မည်၊ လုပ်ဆောင်မည်လား?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5172,7 +5089,7 @@ msgstr "ယခုပစ္စည်းအမျိုးအစားမလက် msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5191,11 +5108,11 @@ msgstr "ဖန်သားပြင်ပေါ်ပံုရိပ်လှလ msgid "Toggle fullscreen" msgstr "ဖန်သားပြင်အပြည့်ဖွင့်ပိတ်လုပ်" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "စီတန်းအခြေအနေဖွင့်ပိတ်လုပ်" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "သီချင်းနာမည်ပေးပို့ခြင်းဖွင့်ပိတ်လုပ်" @@ -5235,7 +5152,7 @@ msgstr "ကွန်ရက်တောင်းခံချက်စုစုပ msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "တေးသံလမ်းကြော" @@ -5244,7 +5161,7 @@ msgstr "တေးသံလမ်းကြော" msgid "Tracks" msgstr "တေးသံလမ်းကြော" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "ဂီတပံုစံပြောင်းလဲခြင်း" @@ -5281,6 +5198,10 @@ msgstr "လှည့်ပိတ်" msgid "URI" msgstr "ယူအာအိုင်" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "ယူအာအလ်(များ)" @@ -5306,9 +5227,9 @@ msgstr "မကူးဆွဲနိုင် %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "အမည်မသိ" @@ -5325,11 +5246,11 @@ msgstr "အမည်မသိအမှားပြ" msgid "Unset cover" msgstr "အဖုံးမသတ်မှတ်" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5342,15 +5263,11 @@ msgstr "မမှာယူ" msgid "Upcoming Concerts" msgstr "လာမည့်ဂီတဖြေဖျော်ပွဲများ" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "မွမ်းမံ" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "ပို့စ်ကဒ်များစစ်ဆေးခြင်း" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "ပြောင်းလဲပြီးသီချင်းတိုက်ဖိုင်တွဲများမွမ်းမံ" @@ -5460,7 +5377,7 @@ msgstr "အသံပမာဏပုံမှန်ပြုလုပ်မှု msgid "Used" msgstr "အသုံးပြုပြီး" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "အသံုးပြုသူမျက်နှာပြင်" @@ -5486,7 +5403,7 @@ msgid "Variable bit rate" msgstr "ဘစ်နှုန်းကိန်းရှင်" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "အနုပညာရှင်များအမျိုးမျိုး" @@ -5499,11 +5416,15 @@ msgstr "ပုံစံ %1" msgid "View" msgstr "ကြည့်ရှု" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "ပုံဖော်ကြည့်ခြင်းစနစ်" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "ပုံဖော်ကြည့်ခြင်းများ" @@ -5511,10 +5432,6 @@ msgstr "ပုံဖော်ကြည့်ခြင်းများ" msgid "Visualizations Settings" msgstr "ပုံဖော်ကြည့်ခြင်းချိန်ညှိချက်များ" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "အသံလှုပ်ရှားမှုရှာဖွေတွေ့ရှိခြင်း" @@ -5537,10 +5454,6 @@ msgstr "တပလူအေဗီ" msgid "WMA" msgstr "တပလူအမ်အေ" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "သီချင်းစာရင်းမျက်နှာစာကိုပိတ်နေတုန်းသတိပေး" @@ -5643,7 +5556,7 @@ msgid "" "well?" msgstr "အနုပညာရှင်များအမျိုးမျိုးသို့ယခုအယ်လဘမ်မှတစ်ခြားသီချင်းများကိုရွှေ့" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "ယခုနောက်တစ်ချိန်အပြည့်ပြန်လည်ဖတ်ရှု?" @@ -5659,7 +5572,7 @@ msgstr "" msgid "Wrong username or password." msgstr "အသင်းဝင်အမည်နှင့်/သို့စကားဝှက်မမှန်" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/nb.po b/src/translations/nb.po index 6df6bfdad..dd4d47a73 100644 --- a/src/translations/nb.po +++ b/src/translations/nb.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the Clementine package. # # Translators: +# Allan Nordhøy , 2016 # Arno Teigseth , 2011-2015 # Arno Teigseth , 2011 # Åsmund Haugestøl , 2014 @@ -11,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/davidsansome/clementine/language/nb/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -67,11 +68,6 @@ msgstr " sekunder" msgid " songs" msgstr " sanger" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 sanger)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -81,7 +77,7 @@ msgstr "%1 album" #: widgets/equalizerslider.cpp:43 #, qt-format msgid "%1 dB" -msgstr "" +msgstr "%1 dB" #: core/utilities.cpp:120 #, qt-format @@ -103,7 +99,7 @@ msgstr "%1 på %2" msgid "%1 playlists (%2)" msgstr "%1 spillelister (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 valgte av" @@ -128,7 +124,7 @@ msgstr "fant %1 sanger" msgid "%1 songs found (showing %2)" msgstr "fant %1 sanger (viser %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 spor" @@ -188,15 +184,15 @@ msgstr "Sentr&er" msgid "&Custom" msgstr "&Egendefinert" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Ekstra" #: ../bin/src/ui_edittagdialog.h:728 msgid "&Grouping" -msgstr "" +msgstr "&Gruppering" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Hjelp" @@ -207,7 +203,7 @@ msgstr "Skjul %1" #: playlist/playlistheader.cpp:33 msgid "&Hide..." -msgstr "Skjul..." +msgstr "Skjul…" #: playlist/playlistheader.cpp:47 msgid "&Left" @@ -215,13 +211,13 @@ msgstr "&Venstre" #: playlist/playlistheader.cpp:36 msgid "&Lock Rating" -msgstr "" +msgstr "&Lås poenggivning" #: ../bin/src/ui_edittagdialog.h:731 msgid "&Lyrics" -msgstr "" +msgstr "&Sangtekster" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Musikk" @@ -229,23 +225,23 @@ msgstr "Musikk" msgid "&None" msgstr "&Ingen" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Spilleliste" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Avslutt" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" -msgstr "Repeteringsmodus" +msgstr "&Gjentagelsesmodus" #: playlist/playlistheader.cpp:49 msgid "&Right" msgstr "&Høyre" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Stokkemodus" @@ -253,13 +249,13 @@ msgstr "&Stokkemodus" msgid "&Stretch columns to fit window" msgstr "Fyll &kolonner i vinduet" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" -msgstr "Verktøy" +msgstr "&Verktøy" #: ../bin/src/ui_edittagdialog.h:724 msgid "&Year" -msgstr "" +msgstr "&År" #: ui/edittagdialog.cpp:50 msgid "(different across multiple songs)" @@ -271,7 +267,7 @@ msgstr ", av" #: ui/about.cpp:84 msgid "...and all the Amarok contributors" -msgstr "... og til alle som har bidratt til Amarok" +msgstr "… og til alle som har bidratt til Amarok" #: ../bin/src/ui_albumcovermanager.h:222 ../bin/src/ui_albumcovermanager.h:223 msgid "0" @@ -289,7 +285,7 @@ msgstr "0px" msgid "1 day" msgstr "1 dag" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 spor" @@ -324,7 +320,7 @@ msgstr "96,000Hz" #: ../bin/src/ui_digitallyimportedsettingspage.h:164 msgid "Upgrade to Premium now" -msgstr "Oppgradér til Premium nå" +msgstr "Oppgrader til Premium nå" #: ../bin/src/ui_librarysettingspage.h:194 msgid "" @@ -334,7 +330,7 @@ msgid "" "directly into the file each time they changed.

Please note it might " "not work for every format and, as there is no standard for doing so, other " "music players might not be able to read them.

" -msgstr "

Hvis ikke valgt vil Clementine prøve å lagre poeng og andre statistikker i en separat database, og ikke endre filene dine.

Hvis valgt, vil statistikkene lagres både i database og direkte i filen hver gang de endres.

Vennligst merk at dette kanskje ikke fungerer for alle formater, og at andre musikkavspillere kanskje ikke forstår dem, siden det ikke finnes noen standard for dette.

" +msgstr "

Hvis ikke valgt vil Clementine prøve å lagre poeng og annen statistikk i en separat database, og ikke endre filene dine.

Hvis valgt, vil statistikken lagres både i database og direkte i filen hver gang de endres.

Merk at dette kanskje ikke fungerer for alle formater, og at andre musikkavspillere kanskje ikke forstår dem, siden det ikke finnes noen standard for dette.

" #: ../bin/src/ui_libraryfilterwidget.h:104 #, qt-format @@ -353,7 +349,7 @@ msgid "" "files tags for all your library's songs.

This is not needed if the " ""Save ratings and statistics in file tags" option has always been " "activated.

" -msgstr "

Dette skriver poeng, tagger og statistikker til filene, for alle sangene i biblioteket.

Ikke nødvendig hvis "Lagre poeng og statistikk i filene"-opsjonen alltid har vært aktiv.

" +msgstr "

Dette skriver poeng, tagger og statistikk til filene, for alle sangene i biblioteket.

Ikke nødvendig hvis "Lagre poeng og statistikk i filene"-valget alltid har vært aktivt.

" #: songinfo/artistbiography.cpp:265 #, qt-format @@ -362,14 +358,14 @@ msgid "" "href=\"%1\">%2, which is released under the Creative Commons" " Attribution-Share-Alike License 3.0.

" -msgstr "" +msgstr "

Denne artikkelen bruker materiale fra Wikipedias artikkel %2, som er utgitt under Creative Commons Attribution-Share-Alike License 3.0.

" #: ../bin/src/ui_organisedialog.h:250 msgid "" "

Tokens start with %, for example: %artist %album %title

\n" "\n" "

If you surround sections of text that contain a token with curly-braces, that section will be hidden if the token is empty.

" -msgstr "

Kodene begynner med %, for eksempel: %artist %album %title

⏎ ⏎

Hvis du setter klammeparanteser rundt tekst som inneholder en kode, vil teksten skjules om koden er tom.

" +msgstr "

Kodene begynner med %, for eksempel: %artist %album %title

\n\n

Hvis du setter klammeparenteser rundt tekst som inneholder en kode, vil teksten skjules om koden er tom.

" #: internet/spotify/spotifysettingspage.cpp:166 msgid "A Spotify Premium account is required." @@ -382,14 +378,14 @@ msgstr "Klienter kan kun koble til hvis de oppgir riktig kode." #: internet/digitally/digitallyimportedsettingspage.cpp:48 #: internet/digitally/digitallyimportedurlhandler.cpp:60 msgid "A premium account is required" -msgstr "" +msgstr "Premium-konto kreves" #: smartplaylists/wizard.cpp:74 msgid "" "A smart playlist is a dynamic list of songs that come from your library. " "There are different types of smart playlist that offer different ways of " "selecting songs." -msgstr "En smart spilleliste er en dynamisk liste av sanger som kommer fra ditt bibliotek. Det er forskjellige typer av smart spillelister som tilbyr forskjellige måter å velge sanger." +msgstr "En smart spilleliste er en dynamisk liste av sanger som kommer fra ditt bibliotek. Det er forskjellige typer av smarte spillelister som tilbyr forskjellige måter å velge sanger." #: smartplaylists/querywizardplugin.cpp:157 msgid "" @@ -433,13 +429,13 @@ msgstr "Avbryt" msgid "About %1" msgstr "Om %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." -msgstr "Om Clementine..." +msgstr "Om Clementine…" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." -msgstr "Om Qt..." +msgstr "Om Qt…" #: playlist/playlistsaveoptionsdialog.cpp:34 #: ../bin/src/ui_behavioursettingspage.h:371 @@ -447,7 +443,7 @@ msgid "Absolute" msgstr "Absolutt" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Kontodetaljer" @@ -458,7 +454,7 @@ msgstr "Kontodetaljer (Premium)" #: ../bin/src/ui_wiimotesettingspage.h:181 msgid "Action" -msgstr "Aksjon" +msgstr "Handling" #: ../bin/src/ui_globalshortcutssettingspage.h:173 msgctxt "Category label" @@ -467,7 +463,7 @@ msgstr "Handling" #: wiimotedev/wiimotesettingspage.cpp:103 msgid "Active/deactive Wiiremote" -msgstr "Aktiver/deaktiver Wiiremote" +msgstr "Skru av/på Wii-kontrollerstøtte" #: internet/soundcloud/soundcloudservice.cpp:128 msgid "Activities stream" @@ -475,7 +471,7 @@ msgstr "Aktivitets-strøm" #: internet/podcasts/addpodcastdialog.cpp:63 msgid "Add Podcast" -msgstr "Legg til Podcast" +msgstr "Legg til nettradioopptak" #: ../bin/src/ui_addstreamdialog.h:112 msgid "Add Stream" @@ -483,7 +479,7 @@ msgstr "Legg til strøm" #: ../bin/src/ui_notificationssettingspage.h:430 msgid "Add a new line if supported by the notification type" -msgstr "Legg til en linje, hvis varslingstypen støtter det" +msgstr "Legg til en linje, hvis meddelelsestypen støtter det" #: ../bin/src/ui_wiimotesettingspage.h:183 msgid "Add action" @@ -491,72 +487,72 @@ msgstr "Legg til handling" #: ../bin/src/ui_transcodedialog.h:220 msgid "Add all tracks from a directory and all its subdirectories" -msgstr "Legg til alle filene i en katalog dennes underkataloger" +msgstr "Legg til alle filer fra ei mappe og dens undermapper" #: internet/internetradio/savedradio.cpp:114 msgid "Add another stream..." -msgstr "Legg til enda en strøm..." +msgstr "Legg til enda en strøm…" #: library/librarysettingspage.cpp:67 ../bin/src/ui_transcodedialog.h:222 msgid "Add directory..." -msgstr "Legg til katalog..." +msgstr "Legg til mappe…" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Legg til fil" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" -msgstr "Legg fil til konvertering" +msgstr "Legg fil til omkoder" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" -msgstr "Legg fil(er) til konvertering" +msgstr "Legg fil(er) til omkoder" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." -msgstr "Legg til fil..." +msgstr "Legg til fil…" #: transcoder/transcodedialog.cpp:224 msgid "Add files to transcode" -msgstr "Legg filer til i konverterer" +msgstr "Legg filer til for omkoding" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" -msgstr "Legg til katalog" +msgstr "Legg til mappe" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." -msgstr "Legg til katalog..." +msgstr "Legg til mappe…" #: ../bin/src/ui_librarysettingspage.h:187 msgid "Add new folder..." -msgstr "Legg til katalog..." +msgstr "Legg til mappe…" #: ../bin/src/ui_addpodcastdialog.h:178 msgid "Add podcast" -msgstr "Legg til Podcast" +msgstr "Legg til nettradioopptak" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." -msgstr "Legg til Podcast..." +msgstr "Legg til nettradioopptak…" #: smartplaylists/searchtermwidget.cpp:356 msgid "Add search term" -msgstr "Legg til søke term" +msgstr "Legg til søkekriterium" #: ../bin/src/ui_notificationssettingspage.h:385 msgid "Add song album tag" -msgstr "Legg til album-tagg" +msgstr "Fest album-etikett på sporet" #: ../bin/src/ui_notificationssettingspage.h:391 msgid "Add song albumartist tag" -msgstr "Legg til albumartist-tagg" +msgstr "Fest albumsartist-etikett på sporet" #: ../bin/src/ui_notificationssettingspage.h:382 msgid "Add song artist tag" -msgstr "Legg til artist-tagg" +msgstr "Fest artistetikett på sporet" #: ../bin/src/ui_notificationssettingspage.h:427 msgid "Add song auto score" @@ -564,71 +560,59 @@ msgstr "Legg til poeng automatisk" #: ../bin/src/ui_notificationssettingspage.h:397 msgid "Add song composer tag" -msgstr "Legg til komponist-tagg" +msgstr "Fest komponist-etikett på sporet" #: ../bin/src/ui_notificationssettingspage.h:406 msgid "Add song disc tag" -msgstr "Legg til spor/disk-tagg" +msgstr "Fest spor/disk-etikett på sporet" #: ../bin/src/ui_notificationssettingspage.h:434 msgid "Add song filename" -msgstr "Legg til fil" +msgstr "Fest låtnavn til sporet" #: ../bin/src/ui_notificationssettingspage.h:412 msgid "Add song genre tag" -msgstr "Legg til sang-sjanger-tagg" +msgstr "Fest sjangeretikett på sporet" #: ../bin/src/ui_notificationssettingspage.h:403 msgid "Add song grouping tag" -msgstr "Legg til sanggruppe-tagg" +msgstr "Fest sanggrupperings-etikett på sporet" #: ../bin/src/ui_notificationssettingspage.h:415 msgid "Add song length tag" -msgstr "Legg til sporlengde-tagg" +msgstr "Fest låtlengde på sporet" #: ../bin/src/ui_notificationssettingspage.h:400 msgid "Add song performer tag" -msgstr "Legg til utøver-tagg" +msgstr "Fest utøver-etikett på sporet" #: ../bin/src/ui_notificationssettingspage.h:418 msgid "Add song play count" -msgstr "Legg til antall avspillinger" +msgstr "Fest avspillingsantall på sporet" #: ../bin/src/ui_notificationssettingspage.h:424 msgid "Add song rating" -msgstr "Legg til poeng" +msgstr "Fest poenggivning for låt til sporet" #: ../bin/src/ui_notificationssettingspage.h:421 msgid "Add song skip count" -msgstr "Legg til antall hoppet over" +msgstr "Fest antall overhoppninger til sporet" #: ../bin/src/ui_notificationssettingspage.h:388 msgid "Add song title tag" -msgstr "Legg til sportittel-tagg" - -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Legg til sang i hurtiglageret" +msgstr "Fest låttittel-etikett til sporet" #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" -msgstr "Legg til spornummer-tagg" +msgstr "Fest etikett for låtnummer til sporet" #: ../bin/src/ui_notificationssettingspage.h:394 msgid "Add song year tag" -msgstr "Legg til årstall-tagg" +msgstr "Fest etikett for utgivelsesår på sporet" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Legg sanger til i «Musikk» når «Elsker»-knappen klikkes" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." -msgstr "Legg til strøm..." - -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Legg til i Musikk" +msgstr "Legg til strøm…" #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" @@ -636,32 +620,24 @@ msgstr "Legg til Spotify-spilleliste" #: internet/spotify/spotifyservice.cpp:615 msgid "Add to Spotify starred" -msgstr "Legg til stjernemerkede fra Spotify" +msgstr "Legg til stjernemerkede på Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" -msgstr "Legg til en annen spilleliste" - -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Legg til i bokmerker" +msgstr "Legg til i annen spilleliste" #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" -msgstr "Legg til på spilleliste" +msgstr "Legg til i spilleliste" #: ../bin/src/ui_behavioursettingspage.h:351 #: ../bin/src/ui_behavioursettingspage.h:363 msgid "Add to the queue" msgstr "Legg i kø" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Legg bruker/gruppe til i bokmerker" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" -msgstr "Legg til wiimotedev-handlig" +msgstr "Legg til Wiimotedev-handling" #: ../bin/src/ui_libraryfilterwidget.h:100 msgid "Added this month" @@ -677,7 +653,7 @@ msgstr "Lagt til i år" #: ../bin/src/ui_libraryfilterwidget.h:93 msgid "Added today" -msgstr "Lagt til idag" +msgstr "Lagt til i dag" #: ../bin/src/ui_libraryfilterwidget.h:95 #: ../bin/src/ui_libraryfilterwidget.h:97 @@ -686,7 +662,7 @@ msgstr "Lagt til innen tre måneder" #: library/libraryfilterwidget.cpp:190 msgid "Advanced grouping..." -msgstr "Avansert gruppering..." +msgstr "Avansert gruppering…" #: ../bin/src/ui_podcastsettingspage.h:271 msgid "After " @@ -694,9 +670,9 @@ msgstr "Etter" #: ../bin/src/ui_organisedialog.h:241 msgid "After copying..." -msgstr "Etter kopiering..." +msgstr "Etter kopiering…" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -707,9 +683,9 @@ msgstr "Album" #: ../bin/src/ui_playbacksettingspage.h:357 msgid "Album (ideal loudness for all tracks)" -msgstr "Album (ideell lydstyrke for alle spor)" +msgstr "Album (ideell lydstyrkeutgjevning for alle spor)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -718,33 +694,29 @@ msgstr "Album artist" #: ../bin/src/ui_appearancesettingspage.h:283 msgid "Album cover" -msgstr "Albumgrafikk" +msgstr "Albumomslag" #: internet/jamendo/jamendoservice.cpp:421 msgid "Album info on jamendo.com..." -msgstr "Album info på jamendo.com..." - -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumer" +msgstr "Album info på jamendo.com…" #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" -msgstr "Album med cover" +msgstr "Album med omslag" #: ui/albumcovermanager.cpp:139 msgid "Albums without covers" -msgstr "Album uten cover" +msgstr "Album uten omslag" #: ../bin/src/ui_podcastsettingspage.h:275 msgid "All" msgstr "Alle" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Alle filer (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Ære være Hypnotoad!" @@ -776,7 +748,7 @@ msgstr "Alle spor" #: ../bin/src/ui_networkremotesettingspage.h:242 msgid "Allow a client to download music from this computer." -msgstr "Tillat at andre kan laste ned musikk fra denne datamaskinen." +msgstr "La andre kan laste ned musikk fra denne datamaskinen." #: ../bin/src/ui_networkremotesettingspage.h:244 msgid "Allow downloads" @@ -792,11 +764,11 @@ msgstr "Sammen med originalene" #: ../bin/src/ui_behavioursettingspage.h:324 msgid "Always hide the main window" -msgstr "Alltid gjem hovedvinduet" +msgstr "Gjem alltid hovedvinduet" #: ../bin/src/ui_behavioursettingspage.h:323 msgid "Always show the main window" -msgstr "Alltid vis hovedvinduet" +msgstr "Vis alltid hovedvinduet" #: ../bin/src/ui_behavioursettingspage.h:337 #: ../bin/src/ui_behavioursettingspage.h:357 @@ -807,11 +779,11 @@ msgstr "Alltid start avspilling" msgid "" "An additional plugin is required to use Spotify in Clementine. Would you " "like to download and install it now?" -msgstr "Det trengs et programtillegg for å bruke Spotify i Clementine. Ønsker du å laste ned og installere den nå?" +msgstr "Det trengs et programtillegg for å bruke Spotify i Clementine. Ønsker du å laste ned og installere det nå?" #: devices/gpodloader.cpp:60 msgid "An error occurred loading the iTunes database" -msgstr "En feil oppsto med lasting av iTunes databasen" +msgstr "En feil oppsto ved innlasting av iTunes-databasen" #: playlist/playlist.cpp:424 ui/edittagdialog.cpp:703 #, qt-format @@ -820,11 +792,11 @@ msgstr "Det oppstod en feil når metadata skulle skrives til '%1'" #: internet/subsonic/subsonicsettingspage.cpp:124 msgid "An unspecified error occurred." -msgstr "Det oppstod en udefinert feil" +msgstr "Ukjent feil inntraff." #: ui/about.cpp:85 msgid "And:" -msgstr "Og" +msgstr "Og:" #: moodbar/moodbarrenderer.cpp:171 msgid "Angry" @@ -848,7 +820,7 @@ msgstr "Legg til i gjeldende spilleliste" #: ../bin/src/ui_behavioursettingspage.h:348 msgid "Append to the playlist" -msgstr "Legg til i spilleliste" +msgstr "Legg til i spillelista" #: ../bin/src/ui_playbacksettingspage.h:360 msgid "Apply compression to prevent clipping" @@ -857,19 +829,19 @@ msgstr "Legg til kompressor, for å unngå klipping" #: ui/equalizer.cpp:222 #, qt-format msgid "Are you sure you want to delete the \"%1\" preset?" -msgstr "Er du sikker på at du vil slette \"%1\" innstillingen?" +msgstr "Er du sikker på at du vil slette \"%1\"-forhåndsinnstillingen?" #: ui/edittagdialog.cpp:803 msgid "Are you sure you want to reset this song's statistics?" -msgstr "Er du sikker på at du ønsker å nullstille denne sangens statistikk?" +msgstr "Er du sikker på at du ønsker å nullstille statistikk for denne sangen?" #: library/librarysettingspage.cpp:155 msgid "" "Are you sure you want to write song's statistics into song's file for all " "the songs of your library?" -msgstr "Er du sikker på at du ønsker å skrive statistikken for sangene til filene, for alle sangene i biblioteket?" +msgstr "Er du sikker på at du ønsker å skrive sangstatistikk inn i alle filene i biblioteket?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -878,13 +850,13 @@ msgstr "Er du sikker på at du ønsker å skrive statistikken for sangene til fi msgid "Artist" msgstr "Artist" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" -msgstr "Artist info" +msgstr "Artistinfo" #: ui/organisedialog.cpp:63 msgid "Artist's initial" -msgstr "Artistens initial" +msgstr "Artistens initialer" #: ../bin/src/ui_behavioursettingspage.h:373 msgid "Ask when saving" @@ -905,15 +877,15 @@ msgstr "Lyd-utenhet" #: internet/lastfm/lastfmservice.cpp:249 #: internet/lastfm/lastfmsettingspage.cpp:97 msgid "Authentication failed" -msgstr "Autentiseringen feilet" +msgstr "Identitetsbekreftelse feilet" #: ../bin/src/ui_podcastinfowidget.h:191 msgid "Author" -msgstr "Forfatter" +msgstr "Utvikler" #: ui/about.cpp:68 msgid "Authors" -msgstr "Forfattere" +msgstr "Utviklere" #: ../bin/src/ui_transcoderoptionsspeex.h:226 #: ../bin/src/ui_playbacksettingspage.h:374 @@ -931,7 +903,7 @@ msgstr "Automatisk oppdatering" #: ../bin/src/ui_librarysettingspage.h:207 msgid "Automatically open single categories in the library tree" -msgstr "Automatisk åpne enkeltkategorier i bibliotektreet" +msgstr "Åpne enkeltkategorier i bibliotektreet automatisk" #: widgets/freespacebar.cpp:44 msgid "Available" @@ -943,13 +915,13 @@ msgstr "Gjennomsnittlig bitrate" #: covers/coversearchstatisticsdialog.cpp:69 msgid "Average image size" -msgstr "Gjennomsittlig bildestørrelse" +msgstr "Gjennomsittlig billedstørrelse" #: internet/podcasts/addpodcastdialog.cpp:91 msgid "BBC Podcasts" -msgstr "BBC-Podcast" +msgstr "Nettradioopptak fra BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -968,7 +940,7 @@ msgstr "Bakgrunnsbilde" #: ../bin/src/ui_notificationssettingspage.h:458 msgid "Background opacity" -msgstr "Bakgrunnsgjennomsiktighet" +msgstr "Bakgrunnsdekkevne" #: core/database.cpp:648 msgid "Backing up database" @@ -980,11 +952,11 @@ msgstr "Balanse" #: core/globalshortcuts.cpp:80 msgid "Ban (Last.fm scrobbling)" -msgstr "" +msgstr "Bannlys (deling av lyttevaner til Last.fm)" #: analyzers/baranalyzer.cpp:34 msgid "Bar analyzer" -msgstr "Stolpeanalyse" +msgstr "Stolpeanalysator" #: ../bin/src/ui_notificationssettingspage.h:462 msgid "Basic Blue" @@ -996,7 +968,7 @@ msgstr "Grunnleggende lydtype" #: ../bin/src/ui_behavioursettingspage.h:311 msgid "Behavior" -msgstr "Atferd" +msgstr "Adferd" #: ../bin/src/ui_transcoderoptionsflac.h:82 msgid "Best" @@ -1004,9 +976,10 @@ msgstr "Best" #: songinfo/artistbiography.cpp:90 songinfo/artistbiography.cpp:255 msgid "Biography" -msgstr "" +msgstr "Biografi" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitrate" @@ -1039,7 +1012,7 @@ msgstr "Mengde slør" #: ../bin/src/ui_notificationssettingspage.h:455 msgid "Body" -msgstr "Innhold" +msgstr "Brødtekst" #: analyzers/boomanalyzer.cpp:36 msgid "Boom analyzer" @@ -1053,19 +1026,19 @@ msgstr "Box" #: ../bin/src/ui_podcastsettingspage.h:266 #: ../bin/src/ui_appearancesettingspage.h:286 msgid "Browse..." -msgstr "Bla gjennom..." +msgstr "Bla gjennom…" #: ../bin/src/ui_playbacksettingspage.h:363 msgid "Buffer duration" -msgstr "Bufferlengde" +msgstr "Mellomlagringslengde" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Mellomlagring" #: internet/seafile/seafileservice.cpp:227 msgid "Building Seafile index..." -msgstr "Bygger Seafile-indeks..." +msgstr "Bygger Seafile-indeks…" #: ../bin/src/ui_globalsearchview.h:210 msgid "But these sources are disabled:" @@ -1083,19 +1056,6 @@ msgstr "CD-audio" msgid "CUE sheet support" msgstr "Støtte for CUE-filer" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Hurtiglager-plassering" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Hurtiglagring" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Hurtiglagrer %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Avbryt" @@ -1104,39 +1064,33 @@ msgstr "Avbryt" msgid "Cancel download" msgstr "Avbryt nedlasting" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Trenger Captcha.\nPrøv å logge inn på Vk.com med nettleseren din for å ordne dette." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Endre omslagsbilde" #: songinfo/songinfotextview.cpp:73 msgid "Change font size..." -msgstr "Endre font størrelse..." +msgstr "Endre skrifstørrelse…" #: core/globalshortcuts.cpp:73 msgid "Change repeat mode" -msgstr "Endre repetisjonsmodus" +msgstr "Endre gjentagelsesmodus" #: ../bin/src/ui_globalshortcutssettingspage.h:178 msgid "Change shortcut..." -msgstr "Endre snarvei..." +msgstr "Endre snarvei…" #: core/globalshortcuts.cpp:71 msgid "Change shuffle mode" -msgstr "Endre stokke-modus" +msgstr "Endre stokkings-modus" #: ../bin/src/ui_behavioursettingspage.h:362 msgid "Change the currently playing song" -msgstr "Bytte sangen som spilles" +msgstr "Bytt låten som spilles" #: core/commandlineoptions.cpp:178 msgid "Change the language" -msgstr "Endre språket" +msgstr "Endre språk" #: ../bin/src/ui_playbacksettingspage.h:381 msgid "Changes will take place when the next song starts playing" @@ -1146,7 +1100,11 @@ msgstr "Endringer vil utføres når neste sang begynner å spille" msgid "" "Changing mono playback preference will be effective for the next playing " "songs" -msgstr "Når du endrer innstillingen for mono-avspilling, vil dette bli tatt i bruk for neste sanger" +msgstr "Endringer for monoavspillingsvalg vil trå i kraft for neste låt" + +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1156,29 +1114,25 @@ msgstr "Se etter nye episoder" msgid "Check for updates" msgstr "Se etter oppdateringer" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." -msgstr "Sjekk for oppdateringer..." - -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Velg Vk.com-hurtiglagerplassering" +msgstr "Se etter oppdateringer…" #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Sett et navn på den smarte spillelisten" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Velg automatisk" #: ../bin/src/ui_notificationssettingspage.h:467 msgid "Choose color..." -msgstr "Velg farge..." +msgstr "Velg farge…" #: ../bin/src/ui_notificationssettingspage.h:468 msgid "Choose font..." -msgstr "Velg skrifttype..." +msgstr "Velg skrifttype…" #: ../bin/src/ui_visualisationselector.h:112 msgid "Choose from the list" @@ -1186,20 +1140,20 @@ msgstr "Velg fra listen" #: smartplaylists/querywizardplugin.cpp:161 msgid "Choose how the playlist is sorted and how many songs it will contain." -msgstr "Velg hvordan spillelisten er sortert og hvor mange sanger den vil inneholde." +msgstr "Velg hvordan spillelisten er sortert og hvor mange sanger den skal inneholde." #: internet/podcasts/podcastsettingspage.cpp:143 msgid "Choose podcast download directory" -msgstr "Velg katalog for podcastene" +msgstr "Velg mappe for nettradioopptakene" #: ../bin/src/ui_internetshowsettingspage.h:85 msgid "Choose the internet services you want to show." -msgstr "Velg internettjenestene du vil vise." +msgstr "Velg internettjenestene du vil ha synlig." #: ../bin/src/ui_songinfosettingspage.h:159 msgid "" "Choose the websites you want Clementine to use when searching for lyrics." -msgstr "Velg websidene du vil at Clementine skal bruke under søking for lyrikk." +msgstr "Velg nettsidene du vil at Clementine skal bruke for låttekstsøk." #: ui/equalizer.cpp:112 msgid "Classical" @@ -1214,19 +1168,19 @@ msgstr "Rydder" msgid "Clear" msgstr "Tøm" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Tøm spillelisten" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" #: ../bin/src/ui_errordialog.h:92 msgid "Clementine Error" -msgstr "Clementine feil" +msgstr "Clementine-feil" #: ../bin/src/ui_notificationssettingspage.h:463 msgid "Clementine Orange" @@ -1235,13 +1189,13 @@ msgstr "Oransje" #: visualisations/visualisationcontainer.cpp:76 #: visualisations/visualisationcontainer.cpp:158 msgid "Clementine Visualization" -msgstr "Clementine visualisering" +msgstr "Clementine-visualisering" #: ../bin/src/ui_deviceproperties.h:375 msgid "" "Clementine can automatically convert the music you copy to this device into " "a format that it can play." -msgstr "Clementine kan automatisk konvertere musikken du kopierer til denne enheten til en format som den kan spille." +msgstr "Musikk kopiert til denne enheten kan automatisk konverteres av Clementine til et avspillbart format." #: ../bin/src/ui_boxsettingspage.h:100 msgid "Clementine can play music that you have uploaded to Box" @@ -1268,13 +1222,13 @@ msgid "" "Clementine can synchronize your subscription list with your other computers " "and podcast applications. Create " "an account." -msgstr "Clementine kan synkronisere abonnementslistene dine mot andre maskiner og podcast-programmer. Opprett konto." +msgstr "Clementine kan synkronisere abonnementslistene dine mot andre maskiner og programmer for avspilling av nettradioopptak. Opprett konto." #: visualisations/projectmvisualisation.cpp:132 msgid "" "Clementine could not load any projectM visualisations. Check that you have " "installed Clementine properly." -msgstr "Clementine klarte ikke å laste projectM visualiseringer. Sjekk at Clementine er korrekt installert." +msgstr "Clementine klarte ikke å laste projectM-visualiseringer. Sjekk at Clementine er installert rett." #: widgets/prettyimage.cpp:200 msgid "Clementine image viewer" @@ -1290,7 +1244,7 @@ msgstr "Clementine leter etter musikk i:" #: internet/lastfm/lastfmsettingspage.cpp:78 msgid "Click Ok once you authenticated Clementine in your last.fm account." -msgstr "" +msgstr "Klikk OK når du har gitt Clementine tilgang til din last.fm-konto." #: library/libraryview.cpp:359 msgid "Click here to add some music" @@ -1304,7 +1258,7 @@ msgstr "Klikk her for å merke spillelisten som favoritt, så den lagres og blir #: ../bin/src/ui_trackslider.h:71 msgid "Click to toggle between remaining time and total time" -msgstr "Klikk for å bytte mellom gjenværende tid og total tid" +msgstr "Klikk for å bytte mellom gjenværende og total tid" #: ../bin/src/ui_soundcloudsettingspage.h:103 #: ../bin/src/ui_lastfmsettingspage.h:133 @@ -1315,7 +1269,7 @@ msgstr "Klikk for å bytte mellom gjenværende tid og total tid" msgid "" "Clicking the Login button will open a web browser. You should return to " "Clementine after you have logged in." -msgstr "Når du trykker Login-knappen vil du bli sendt til en nettleser. Du går tilbake til Clementine etter å ha logget inn." +msgstr "Når du trykker Logg inn-knappen vil du bli sendt til en nettleser. Du vil bli returnert til Clementine etter å ha logget inn." #: widgets/didyoumean.cpp:37 msgid "Close" @@ -1335,7 +1289,7 @@ msgstr "Lukking av dette vinduet vil kansellere nedlastingen." #: ui/albumcovermanager.cpp:222 msgid "Closing this window will stop searching for album covers." -msgstr "Lukking av dette vinduet vil stoppe søking for album kover." +msgstr "Lukking av dette vinduet vil medføre stopp i søk etter albumomslag." #: ui/equalizer.cpp:114 msgid "Club" @@ -1343,7 +1297,7 @@ msgstr "Klubbmusikk" #: ../bin/src/ui_edittagdialog.h:726 msgid "Co&mposer" -msgstr "" +msgstr "Ko&mponist" #: ../bin/src/ui_appearancesettingspage.h:271 msgid "Colors" @@ -1353,24 +1307,20 @@ msgstr "Farger" msgid "Comma separated list of class:level, level is 0-3" msgstr "Komma-separert liste av klasse:level, level er 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Kommentar" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Community Radio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" -msgstr "Fullfør tags automatisk" +msgstr "Fyll ut etiketter automatisk" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." -msgstr "Fullfør tags automatisk..." +msgstr "Full ut etiketter automatisk…" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1379,11 +1329,11 @@ msgstr "Komponist" #: internet/core/searchboxwidget.cpp:45 #, qt-format msgid "Configure %1..." -msgstr "Konfigurér %1..." +msgstr "Sett opp %1…" #: internet/magnatune/magnatuneservice.cpp:293 msgid "Configure Magnatune..." -msgstr "Konfigurer Magnatune..." +msgstr "Sett opp Magnatune…" #: ../bin/src/ui_globalshortcutssettingspage.h:166 msgid "Configure Shortcuts" @@ -1391,43 +1341,39 @@ msgstr "Oppsett av hurtigtaster" #: internet/soundcloud/soundcloudservice.cpp:381 msgid "Configure SoundCloud..." -msgstr "" +msgstr "Sett opp SoundCloud…" #: internet/spotify/spotifyservice.cpp:921 msgid "Configure Spotify..." -msgstr "Konfigurere Spotify..." +msgstr "Sett opp Spotify…" #: internet/subsonic/subsonicservice.cpp:141 msgid "Configure Subsonic..." -msgstr "Konfigurere Subsonic.." - -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Konfigurér Vk.com..." +msgstr "Sett opp Subsonic…" #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." -msgstr "Konfigurér globalt søk..." +msgstr "Sett opp globalt søk…" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." -msgstr "Sett opp bibliotek..." +msgstr "Sett opp bibliotek…" #: internet/podcasts/addpodcastdialog.cpp:77 #: internet/podcasts/podcastservice.cpp:455 msgid "Configure podcasts..." -msgstr "Konfigurere podcasts..." +msgstr "Sett opp nettradioopptak…" #: internet/core/cloudfileservice.cpp:107 #: internet/digitally/digitallyimportedservicebase.cpp:182 #: internet/googledrive/googledriveservice.cpp:231 #: ../bin/src/ui_globalsearchsettingspage.h:146 msgid "Configure..." -msgstr "Innstillinger..." +msgstr "Innstillinger…" #: ../bin/src/ui_wiimotesettingspage.h:176 msgid "Connect Wii Remotes using active/deactive action" -msgstr "Koble til Wii Remotes med aktiver/de-aktiver aksjon" +msgstr "Koble til Wii-kontrollere med slå på/av-handlingen" #: devices/devicemanager.cpp:330 devices/devicemanager.cpp:335 msgid "Connect device" @@ -1443,16 +1389,16 @@ msgid "" "http://localhost:4040/" msgstr "Tjeneren nektet tilkobling; sjekk tjener-URL. For eksempel: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Tidsavbrudd i tilkoblingen; sjekk tjener-URL. For eksempel: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Tilkoblingsproblem, eller eieren har slått av lyden" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsoll" @@ -1466,50 +1412,55 @@ msgstr "Konverter all musikk" #: ../bin/src/ui_deviceproperties.h:377 msgid "Convert any music that the device can't play" -msgstr "Konverter musikk som enheten ikke kan spille" +msgstr "Konverter all musikk som enheten ikke kan spille" #: ../bin/src/ui_networkremotesettingspage.h:247 msgid "Convert lossless audiofiles before sending them to the remote." -msgstr "Konvertér tapsfrie lydfiler før du sender dem." +msgstr "Konverter tapsfrie lydfiler før du sender dem." #: ../bin/src/ui_networkremotesettingspage.h:249 msgid "Convert lossless files" -msgstr "Konvertér tapsfrie filer" - -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopiér delingslink til utklippstavlen" +msgstr "Konverter tapsfrie filer" #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" -msgstr "Kopiér til utklippstavla" +msgstr "Kopier til utklippstavla" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." -msgstr "Kopier til enhet..." +msgstr "Kopier til enhet…" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." -msgstr "Kopier til bibliotek..." +msgstr "Kopier til bibliotek…" #: ../bin/src/ui_podcastinfowidget.h:193 msgid "Copyright" -msgstr "Copyright" +msgstr "Kopirett" #: internet/subsonic/subsonicsettingspage.cpp:97 msgid "" "Could not connect to Subsonic, check server URL. Example: " "http://localhost:4040/" -msgstr "Kunne ikke koble til Subsonic; sjekk server-URLen. Eksempel: http://localhost:4040/" +msgstr "Kunne ikke koble til Subsonic; sjekk tjenerens nettadresse. Eksempel: http://localhost:4040/" #: transcoder/transcoder.cpp:58 #, qt-format msgid "" "Could not create the GStreamer element \"%1\" - make sure you have all the " "required GStreamer plugins installed" -msgstr "Kunne ikke lage GStreamer element \"%1\" - sørg for at du har alle de nødvendige GStreamer programutvidelsene installert" +msgstr "Kunne ikke opprette GStreamer-elementet \"%1\" - sørg for at du har alle nødvendige GStreamer-programutvidelser installert" + +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1520,14 +1471,14 @@ msgstr "Kunne ikke opprette spilleliste" msgid "" "Couldn't find a muxer for %1, check you have the correct GStreamer plugins " "installed" -msgstr "Kunne ikke finne multiplekser for %1, sjekk at du har de riktige GStreamer programutvidelsene installert" +msgstr "Kunne ikke finne multiplekser for %1, sjekk at du har de riktige GStreamer-programutvidelsene installert" #: transcoder/transcoder.cpp:419 #, qt-format msgid "" "Couldn't find an encoder for %1, check you have the correct GStreamer " "plugins installed" -msgstr "Kunne ikke finne noen koder for %1, kontrollér at du har de riktige GStreamer-modulene installert" +msgstr "Kunne ikke finne noen koder for %1, kontroller at du har de riktige GStreamer-modulene installert" #: internet/magnatune/magnatunedownloaddialog.cpp:224 #, qt-format @@ -1537,7 +1488,7 @@ msgstr "Kunne ikke åpne output fil %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Behandling av plateomslag" @@ -1552,7 +1503,7 @@ msgstr "Omslagsgrafikk ble lastet inn automatisk fra %1" #: ui/edittagdialog.cpp:479 msgid "Cover art manually unset" -msgstr "Fjernet omslagsgrafikk manuelt" +msgstr "Omslagsgrafikk manuelt avskrudd" #: ui/edittagdialog.cpp:489 msgid "Cover art not set" @@ -1570,11 +1521,11 @@ msgstr "Omslag fra %1" #: core/commandlineoptions.cpp:172 msgid "Create a new playlist with files/URLs" -msgstr "" +msgstr "Opprett ny spilleliste med filer/URL-er" #: ../bin/src/ui_playbacksettingspage.h:344 msgid "Cross-fade when changing tracks automatically" -msgstr "Mikse overgang når spor skiftes automatisk" +msgstr "Miks overgang når spor skiftes automatisk" #: ../bin/src/ui_playbacksettingspage.h:343 msgid "Cross-fade when changing tracks manually" @@ -1582,7 +1533,7 @@ msgstr "Mikse overgang når du skifter spor selv" #: ../bin/src/ui_queuemanager.h:132 msgid "Ctrl+Down" -msgstr "Ctrl+Down" +msgstr "Ctrl+↓" #: ../bin/src/ui_queuemanager.h:140 msgid "Ctrl+K" @@ -1590,7 +1541,7 @@ msgstr "Ctrl+K" #: ../bin/src/ui_savedgroupingmanager.h:105 ../bin/src/ui_queuemanager.h:128 msgid "Ctrl+Up" -msgstr "Ctrl+Up" +msgstr "Ctrl+↑" #: ui/equalizer.cpp:110 msgid "Custom" @@ -1606,11 +1557,11 @@ msgstr "Egendefinerte meldingsinnstillinger" #: ../bin/src/ui_notificationssettingspage.h:464 msgid "Custom..." -msgstr "Egendefinert..." +msgstr "Egendefinert…" #: devices/devicekitlister.cpp:125 devices/udisks2lister.cpp:76 msgid "DBus path" -msgstr "DBus sti" +msgstr "D-Bus sti" #: ui/equalizer.cpp:116 msgid "Dance" @@ -1621,13 +1572,13 @@ msgid "" "Database corruption detected. Please read https://github.com/clementine-" "player/Clementine/wiki/Database-Corruption for instructions on how to " "recover your database" -msgstr "" +msgstr "Oppdaget feil i databasen. Les https://github.com/clementine-player/Clementine/wiki/Database-Corruption for å finne ut hvordan du kan gjenopprette den." -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" -msgstr "Laget dato" +msgstr "Opprettelsesdato" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Endringsdato" @@ -1641,7 +1592,7 @@ msgstr "S&tandard" #: core/commandlineoptions.cpp:162 msgid "Decrease the volume by 4%" -msgstr "Demp volum med 4%" +msgstr "Demp lydstyrke med 4%" #: core/commandlineoptions.cpp:164 msgid "Decrease the volume by percent" @@ -1649,24 +1600,24 @@ msgstr "Demp lydstyrken med prosent" #: core/globalshortcuts.cpp:62 wiimotedev/wiimotesettingspage.cpp:112 msgid "Decrease volume" -msgstr "Demp volumet" +msgstr "Demp lydstyrken" #: ../bin/src/ui_appearancesettingspage.h:279 msgid "Default background image" -msgstr "Standard bakgrunnsbilde" +msgstr "Forvalgt bakgrunnsbilde" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" -msgstr "Standerd enhet på %1" +msgstr "Forvalgt enhet på %1" #: ../bin/src/ui_wiimotesettingspage.h:185 msgid "Defaults" -msgstr "Standard" +msgstr "Forvalgte verdier" #: ../bin/src/ui_visualisationselector.h:114 msgid "Delay between visualizations" -msgstr "Pause mellom visualiseringer" +msgstr "Forsinkelse mellom visualiseringer" #: playlist/playlistlistcontainer.cpp:70 #: ../bin/src/ui_playlistlistcontainer.h:130 @@ -1675,21 +1626,21 @@ msgstr "Slett" #: internet/podcasts/podcastservice.cpp:435 msgid "Delete downloaded data" -msgstr "Slett nedlastede data" +msgstr "Slett nedlastet data" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Slett filer" #: devices/deviceview.cpp:232 msgid "Delete from device..." -msgstr "Slett fra enhet..." +msgstr "Slett fra enhet…" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." -msgstr "Slett fra harddisk..." +msgstr "Slett fra disk…" #: ../bin/src/ui_podcastsettingspage.h:268 msgid "Delete played episodes" @@ -1711,22 +1662,26 @@ msgstr "Slett de originale filene" msgid "Deleting files" msgstr "Sletter filer" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Fjern valgte spor fra avspillingskøen" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Fjern sporet fra avspillingskøen" #: ../bin/src/ui_transcodedialog.h:227 ../bin/src/ui_organisedialog.h:240 #: ../bin/src/ui_ripcddialog.h:320 msgid "Destination" -msgstr "Destinasjon" +msgstr "Mål" #: ../bin/src/ui_transcodedialog.h:234 msgid "Details..." -msgstr "Detaljer" +msgstr "Detaljer…" #: devices/devicekitlister.cpp:128 devices/giolister.cpp:162 msgid "Device" @@ -1742,13 +1697,13 @@ msgstr "Enhetsnavn" #: devices/deviceview.cpp:212 msgid "Device properties..." -msgstr "Egenskaper for enhet..." +msgstr "Egenskaper for enhet…" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Enheter" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialog" @@ -1770,12 +1725,12 @@ msgstr "brukernavn for Digitally Imported" #: ../bin/src/ui_networkproxysettingspage.h:158 msgid "Direct internet connection" -msgstr "Koblet direkte til internett" +msgstr "Koblet direkte til Internett" #: ../bin/src/ui_magnatunedownloaddialog.h:141 #: ../bin/src/ui_transcodedialog.h:216 msgid "Directory" -msgstr "Katalog" +msgstr "Mappe" #: ../bin/src/ui_notificationssettingspage.h:445 msgid "Disable duration" @@ -1788,14 +1743,14 @@ msgstr "Slå av opprettelse av stemningsstolper" #: ../bin/src/ui_notificationssettingspage.h:438 msgctxt "Refers to a disabled notification type in Notification settings." msgid "Disabled" -msgstr "Deaktivert" +msgstr "Avskrudd" #: globalsearch/searchproviderstatuswidget.cpp:46 msgctxt "Refers to search provider's status." msgid "Disabled" -msgstr "Deaktivert" +msgstr "Avskrudd" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1804,30 +1759,30 @@ msgstr "Disk" #: ../bin/src/ui_transcoderoptionsspeex.h:233 msgid "Discontinuous transmission" -msgstr "Uregelmessig overførsel" +msgstr "Uregelmessig overføring" #: internet/icecast/icecastfilterwidget.cpp:36 #: internet/core/searchboxwidget.cpp:34 library/libraryfilterwidget.cpp:109 #: ../bin/src/ui_librarysettingspage.h:206 msgid "Display options" -msgstr "Visningsegenskaper" +msgstr "Visningsalternativ" #: core/commandlineoptions.cpp:176 msgid "Display the on-screen-display" -msgstr "Vis overlegg-display" +msgstr "Overleggsvisning" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" -msgstr "Sjekk hele biblioteket" +msgstr "Søk gjennom hele biblioteket" #: internet/googledrive/googledriveservice.cpp:270 #: internet/googledrive/googledriveservice.cpp:276 msgid "Do a full rescan" -msgstr "Gjør et fullstendig nysøk" +msgstr "Søk gjennom på nytt" #: internet/googledrive/googledriveservice.cpp:225 msgid "Do a full rescan..." -msgstr "Gjør et fullstendig nysøk ..." +msgstr "Søk gjennom på nytt…" #: ../bin/src/ui_deviceproperties.h:376 msgid "Do not convert any music" @@ -1835,22 +1790,22 @@ msgstr "Ikke konverter musikk" #: ../bin/src/ui_albumcoverexport.h:208 msgid "Do not overwrite" -msgstr "Ikke skriv over" +msgstr "Ikke overskriv" #: internet/googledrive/googledriveservice.cpp:271 msgid "" "Doing a full rescan will lose any metadata you've saved in Clementine such " "as cover art, play counts and ratings. Clementine will rescan all your " "music in Google Drive which may take some time." -msgstr "Gjøres et fullstendig nysøk vil alle metadata du har lagret i Clementine bli fjernet, dette inkluderer albumbilder, avspillingsantall og rangeringer. Clementine vil søke gjennom all musikken din i Google Drive på nytt, hvilket kan ta noe tid." +msgstr "Gjøres et fullstendig nysøk vil alle metadata du har lagret i Clementine bli fjernet, dette inkluderer omslag, avspillingsantall og rangeringer. Clementine vil søke gjennom all musikken din i Google Drive på nytt, hvilket kan ta noe tid." #: widgets/osd.cpp:308 ../bin/src/ui_playlistsequence.h:110 msgid "Don't repeat" -msgstr "Ikke repetér" +msgstr "Ikke gjenta" #: library/libraryview.cpp:429 msgid "Don't show in various artists" -msgstr "Ikke vis under Diverse Artister" +msgstr "Ikke vis under Diverse artister" #: ../bin/src/ui_podcastsettingspage.h:274 msgid "Don't show listened episodes" @@ -1868,7 +1823,7 @@ msgstr "Ikke stopp!" #: internet/somafm/somafmservice.cpp:107 #: internet/intergalacticfm/intergalacticfmservice.cpp:107 msgid "Donate" -msgstr "Donér" +msgstr "Doner" #: devices/deviceview.cpp:117 msgid "Double click to open" @@ -1876,11 +1831,11 @@ msgstr "Dobbelklikk for å åpne" #: ../bin/src/ui_behavioursettingspage.h:359 msgid "Double clicking a song in the playlist will..." -msgstr "Dobbeltklikke på en sang i spillelisten vil ..." +msgstr "Dobbeltklikking på vilkårlig sang i spillelisten vil…" #: ../bin/src/ui_behavioursettingspage.h:345 msgid "Double clicking a song will..." -msgstr "Når jeg dobbelklikker en sang, ..." +msgstr "Dobbeltklikking på en sang vil…" #: internet/podcasts/podcastservice.cpp:531 #, c-format, qt-plural-format @@ -1890,7 +1845,7 @@ msgstr "Last ned %n episoder" #: internet/magnatune/magnatunedownloaddialog.cpp:272 msgid "Download directory" -msgstr "Last ned katalog" +msgstr "Nedlastingsmappe" #: ../bin/src/ui_podcastsettingspage.h:264 msgid "Download episodes to" @@ -1915,7 +1870,7 @@ msgstr "Last ned innstillinger" #: ../bin/src/ui_networkremotesettingspage.h:252 msgid "Download the Android app" -msgstr "Last ned Android-appen" +msgstr "Last ned Android-programmet" #: internet/magnatune/magnatuneservice.cpp:283 msgid "Download this album" @@ -1923,7 +1878,7 @@ msgstr "Last ned dette albumet" #: internet/jamendo/jamendoservice.cpp:424 msgid "Download this album..." -msgstr "Last ned dette albumet..." +msgstr "Last ned dette albumet…" #: internet/podcasts/podcastservice.cpp:533 msgid "Download this episode" @@ -1931,13 +1886,13 @@ msgstr "Last ned denne episoden" #: ../bin/src/ui_spotifysettingspage.h:214 msgid "Download..." -msgstr "Last ned..." +msgstr "Last ned…" #: internet/podcasts/podcastservice.cpp:301 #: internet/podcasts/podcastservice.cpp:341 #, qt-format msgid "Downloading (%1%)..." -msgstr "Laster ned (%1%)..." +msgstr "Laster ned (%1%)…" #: internet/icecast/icecastservice.cpp:102 msgid "Downloading Icecast directory" @@ -1965,7 +1920,7 @@ msgstr "Dra for å endre posisjon" #: ../bin/src/ui_dropboxsettingspage.h:99 msgid "Dropbox" -msgstr "Dropbo" +msgstr "Dropbox" #: ui/equalizer.cpp:119 msgid "Dubstep" @@ -1985,16 +1940,16 @@ msgstr "Dynamisk tilfeldig miks" #: library/libraryview.cpp:398 msgid "Edit smart playlist..." -msgstr "Rediger smart spilleliste..." +msgstr "Rediger smart spilleliste…" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." -msgstr "Redigér taggen \"%1\"..." +msgstr "Rediger etiketten \"%1\"…" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." -msgstr "Endre merkelapp..." +msgstr "Rediger etikett…" #: ../bin/src/ui_edittagdialog.h:732 msgid "Edit tags" @@ -2002,20 +1957,20 @@ msgstr "Rediger tagger" #: ../bin/src/ui_edittagdialog.h:698 msgid "Edit track information" -msgstr "Redigér informasjon om sporet" +msgstr "Rediger sporinfo" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." -msgstr "Rediger informasjon om sporet..." +msgstr "Rediger sporinfo…" #: library/libraryview.cpp:419 msgid "Edit tracks information..." -msgstr "Rediger sporinformasjon..." +msgstr "Rediger sporinfo…" #: internet/internetradio/savedradio.cpp:110 msgid "Edit..." -msgstr "Rediger..." +msgstr "Rediger…" #: ../bin/src/ui_seafilesettingspage.h:171 msgid "Email" @@ -2023,19 +1978,15 @@ msgstr "E-post" #: ../bin/src/ui_wiimotesettingspage.h:173 msgid "Enable Wii Remote support" -msgstr "Slå på støtte for Wii-fjernkontroll" - -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Slå på automatisk hurtiglagring" +msgstr "Slå på støtte for Wii-kontrollere" #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" -msgstr "Slå på equalizer" +msgstr "Slå på tonekontroll (EQ)" #: ../bin/src/ui_wiimotesettingspage.h:177 msgid "Enable shortcuts only when Clementine is focused" -msgstr "Bruk hurtigtaster bare når Clementine har fokus" +msgstr "Kun bruk hurtigtaster når Clementine er i fokus" #: ../bin/src/ui_behavioursettingspage.h:331 msgid "Enable song metadata inline edition with click" @@ -2045,35 +1996,35 @@ msgstr "Slå på direkteredigering med ett klikk" msgid "" "Enable sources below to include them in search results. Results will be " "displayed in this order." -msgstr "Slå på kilder under for å inkludere dem i søkeresultater. Resultatene vises i denne rekkefølgen." +msgstr "Slå på kilder nedenfor for å inkludere dem i søkeresultater. Resultatene vises i denne rekkefølgen." #: core/globalshortcuts.cpp:76 msgid "Enable/disable Last.fm scrobbling" -msgstr "Slå av/på scrobbling mot Last.fm" +msgstr "Slå av/på lyttevaner mot Last.fm" #: ../bin/src/ui_transcoderoptionsspeex.h:234 msgid "Encoding complexity" -msgstr "Koder-kompleksitet" +msgstr "Kodings-kompleksitet" #: ../bin/src/ui_transcoderoptionsmp3.h:196 msgid "Encoding engine quality" -msgstr "Koder-kvalitet" +msgstr "Kodingsmotorens kvalitetsinnstilling" #: ../bin/src/ui_transcoderoptionsspeex.h:223 msgid "Encoding mode" -msgstr "Kodermodus" +msgstr "Kodingsmodus" #: ../bin/src/ui_addpodcastbyurl.h:72 msgid "Enter a URL" -msgstr "Skriv inn en URL" +msgstr "Skriv inn en nettadresse" #: ../bin/src/ui_coverfromurldialog.h:102 msgid "Enter a URL to download a cover from the Internet:" -msgstr "Skriv inn en URL for å laste ned albumgrafikk fra internett:" +msgstr "Skriv inn en URL for å laste ned albumgrafikk fra Internett:" #: ../bin/src/ui_albumcoverexport.h:204 msgid "Enter a filename for exported covers (no extension):" -msgstr "Skriv inn et filnavn for eksportert albumgrafikk (uten filetternavn):" +msgstr "Skriv inn et filnavn for eksportert albumomslag (uten filendelse):" #: playlist/playlisttabbar.cpp:147 msgid "Enter a new name for this playlist" @@ -2082,15 +2033,15 @@ msgstr "Gi denne spillelista et nytt navn" #: ../bin/src/ui_globalsearchview.h:208 msgid "" "Enter search terms above to find music on your computer and on the internet" -msgstr "Skriv inn søkeord over for å finne musikk på din datamaskin og på internet." +msgstr "Skriv inn søkeord ovenfor for å finne musikk på din datamaskin og på Internet." #: ../bin/src/ui_itunessearchpage.h:73 msgid "Enter search terms below to find podcasts in the iTunes Store" -msgstr "Skriv inn søkeord under for å finne podcaster i iTunes Store" +msgstr "Skriv inn søkeord under for å finne nettradioopptak fra iTunes Store" #: ../bin/src/ui_gpoddersearchpage.h:73 msgid "Enter search terms below to find podcasts on gpodder.net" -msgstr "Skriv inn søkeord under for å finne podcaster på gpodder.net" +msgstr "Skriv inn søkeord under for å finne nettradioopptak på gpodder.net" #: ../bin/src/ui_libraryfilterwidget.h:106 #: ../bin/src/ui_albumcovermanager.h:218 @@ -2099,7 +2050,7 @@ msgstr "Skriv inn søkeord her" #: ../bin/src/ui_addstreamdialog.h:113 msgid "Enter the URL of an internet radio stream:" -msgstr "Skriv adressen (URL) til en internett radiostrøm" +msgstr "Skriv adressen (URL) til en internettradio:" #: playlist/playlistlistcontainer.cpp:169 msgid "Enter the name of the folder" @@ -2107,15 +2058,15 @@ msgstr "Skriv inn navn på mappa" #: ../bin/src/ui_networkremotesettingspage.h:238 msgid "Enter this IP in the App to connect to Clementine." -msgstr "Skriv in denne IPen i Appen for å koble til Clementine." +msgstr "Skriv in denne IP-en i programmet for å koble til Clementine." #: ../bin/src/ui_libraryfilterwidget.h:92 msgid "Entire collection" msgstr "Hele samlingen" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" -msgstr "Lydbalanse" +msgstr "Tonekontroll" #: core/commandlineoptions.cpp:179 msgid "Equivalent to --log-levels *:1" @@ -2126,8 +2077,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Tilsvarer --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Feil" @@ -2147,6 +2098,11 @@ msgstr "Kunne ikke kopiere sanger" msgid "Error deleting songs" msgstr "Kunne ikke slette sanger" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Kunne ikke laste ned Spotify-modul" @@ -2176,19 +2132,19 @@ msgstr "Noensinne spilt av" #: ../bin/src/ui_podcastsettingspage.h:256 msgid "Every 10 minutes" -msgstr "Hvert 10. minutt" +msgstr "Hvert tiende minutt" #: ../bin/src/ui_podcastsettingspage.h:262 msgid "Every 12 hours" -msgstr "Hver 12. time" +msgstr "Hver tolvte time" #: ../bin/src/ui_podcastsettingspage.h:260 msgid "Every 2 hours" -msgstr "Hver 2. time" +msgstr "Hver andre time" #: ../bin/src/ui_podcastsettingspage.h:257 msgid "Every 20 minutes" -msgstr "Hvert 20. minut" +msgstr "Hvert tjuende minut" #: ../bin/src/ui_podcastsettingspage.h:258 msgid "Every 30 minutes" @@ -2196,7 +2152,7 @@ msgstr "Hver halvtime" #: ../bin/src/ui_podcastsettingspage.h:261 msgid "Every 6 hours" -msgstr "Hver 6. time" +msgstr "Hver sjette time" #: ../bin/src/ui_podcastsettingspage.h:259 msgid "Every hour" @@ -2221,19 +2177,19 @@ msgstr "Utgår den %1" #: ../bin/src/ui_albumcovermanager.h:225 msgid "Export Covers" -msgstr "Eksportér omslag" +msgstr "Eksporter omslag" #: ../bin/src/ui_albumcoverexport.h:202 msgid "Export covers" -msgstr "Eksportér omslag" +msgstr "Eksporter omslag" #: ../bin/src/ui_albumcoverexport.h:205 msgid "Export downloaded covers" -msgstr "Eksportér nedlastede omslag" +msgstr "Eksporter nedlastede omslag" #: ../bin/src/ui_albumcoverexport.h:206 msgid "Export embedded covers" -msgstr "Eksportér innebygde omslag" +msgstr "Eksporter innebygde omslag" #: ui/albumcovermanager.cpp:788 ui/albumcovermanager.cpp:812 msgid "Export finished" @@ -2242,7 +2198,7 @@ msgstr "Eksport fullført" #: ui/albumcovermanager.cpp:797 #, qt-format msgid "Exported %1 covers out of %2 (%3 skipped)" -msgstr "Esportert %1 av %2 omslag (hoppet over %3)" +msgstr "%1 av %2 omslag eksportert (hoppet over %3)" #: ../bin/src/ui_magnatunedownloaddialog.h:136 #: ../bin/src/ui_magnatunesettingspage.h:170 @@ -2252,7 +2208,7 @@ msgstr "FLAC" #: ../bin/src/ui_playbacksettingspage.h:348 msgid "Fade out on pause / fade in on resume" -msgstr "Fade ut/inn ved pause/start" +msgstr "Ton ut/inn ved pause/start" #: ../bin/src/ui_playbacksettingspage.h:342 msgid "Fade out when stopping a track" @@ -2265,11 +2221,11 @@ msgstr "Ton inn/ut" #: ../bin/src/ui_playbacksettingspage.h:346 #: ../bin/src/ui_playbacksettingspage.h:349 msgid "Fading duration" -msgstr "Toning-varighet" +msgstr "Tonings-varighet" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" -msgstr "Kunne ikke lese av CD ROMen" +msgstr "Kunne ikke lese av CD-ROM-en" #: internet/podcasts/gpoddertoptagspage.cpp:73 msgid "Failed to fetch directory" @@ -2281,21 +2237,21 @@ msgstr "Kunne ikke hente katalogen" #: internet/podcasts/itunessearchpage.cpp:78 #: internet/podcasts/itunessearchpage.cpp:85 msgid "Failed to fetch podcasts" -msgstr "Kunne ikke laste ned podcast" +msgstr "Kunne ikke laste ned nettradioopptak" #: internet/podcasts/addpodcastbyurl.cpp:71 #: internet/podcasts/fixedopmlpage.cpp:55 msgid "Failed to load podcast" -msgstr "Kunne ikke laste inn podcast" +msgstr "Kunne ikke laste inn nettradioopptak" #: internet/podcasts/podcasturlloader.cpp:175 msgid "Failed to parse the XML for this RSS feed" -msgstr "Kunne ikke lese XML-beskrivelsen av denne RSS-feeden." +msgstr "Kunne ikke lese XML-beskrivelsen tilhørende denne RSS-nyhetsmatingen." #: ui/trackselectiondialog.cpp:247 #, qt-format msgid "Failed to write new auto-tags to '%1'" -msgstr "" +msgstr "Klarte ikke å skrive nye auto-etiketter til \"%1\"" #: ../bin/src/ui_transcoderoptionsflac.h:81 #: ../bin/src/ui_transcoderoptionsmp3.h:199 @@ -2304,7 +2260,7 @@ msgstr "Rask" #: internet/soundcloud/soundcloudservice.cpp:141 msgid "Favorites" -msgstr "" +msgstr "Favoritter" #: library/library.cpp:88 msgid "Favourite tracks" @@ -2320,11 +2276,11 @@ msgstr "Hent automatisk" #: ../bin/src/ui_coversearchstatisticsdialog.h:74 msgid "Fetch completed" -msgstr "Henting fullført" +msgstr "Innhenting fullført" #: internet/subsonic/subsonicdynamicplaylist.cpp:88 msgid "Fetching Playlist Items" -msgstr "" +msgstr "Henter inn spillelisteelementer" #: internet/subsonic/subsonicservice.cpp:282 msgid "Fetching Subsonic library" @@ -2336,37 +2292,33 @@ msgstr "Kunne ikke hente albumgrafikk" #: ../bin/src/ui_ripcddialog.h:319 msgid "File Format" -msgstr "Fil format" +msgstr "Filformat" #: ui/organisedialog.cpp:79 msgid "File extension" -msgstr "Filetternavn" +msgstr "Filendelse" #: ../bin/src/ui_deviceproperties.h:383 msgid "File formats" msgstr "Filformat" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Filnavn" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Filnavn (uten sti)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Filnavnsmønster:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" -msgstr "Filplasseringe" +msgstr "Filstier" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Filstørrelse" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2376,22 +2328,18 @@ msgstr "Filtype" msgid "Filename" msgstr "Filnavn" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Filer" #: ../bin/src/ui_transcodedialog.h:214 msgid "Files to transcode" -msgstr "Filer som skal kodes" +msgstr "Filer som skal omkodes" #: smartplaylists/querywizardplugin.cpp:82 msgid "Find songs in your library that match the criteria you specify." msgstr "Finn sanger i biblioteket, basert på kriteriene du oppgir" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Finn denne artiste" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Vannmerker sangen" @@ -2406,7 +2354,7 @@ msgstr "Første nivå" #: widgets/nowplayingwidget.cpp:110 msgid "Fit cover to width" -msgstr "Tilpass cover til bredden" +msgstr "Tilpass omslag til bredde" #: core/song.cpp:406 transcoder/transcoder.cpp:233 msgid "Flac" @@ -2418,7 +2366,7 @@ msgstr "Skriftstørrelse" #: ../bin/src/ui_spotifysettingspage.h:212 msgid "For licensing reasons Spotify support is in a separate plugin." -msgstr "Av lisenshensyn er Spotify-støtte en egen innstikksmodul." +msgstr "Av lisenshensyn er Spotify-støtte et eget programtillegg." #: ../bin/src/ui_transcoderoptionsmp3.h:203 msgid "Force mono encoding" @@ -2460,13 +2408,14 @@ msgid "Form" msgstr "Skjema" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" #: analyzers/analyzercontainer.cpp:51 #: visualisations/visualisationcontainer.cpp:104 msgid "Framerate" -msgstr "Bilder/sekund" +msgstr "Bildetakt" #: ../bin/src/ui_transcoderoptionsspeex.h:235 msgid "Frames per buffer" @@ -2474,29 +2423,29 @@ msgstr "Bilder per buffer" #: internet/subsonic/subsonicservice.cpp:106 msgid "Frequently Played" -msgstr "" +msgstr "Spilles ofte" #: moodbar/moodbarrenderer.cpp:173 msgid "Frozen" -msgstr "Dypfry" +msgstr "Dypfryst" #: ui/equalizer.cpp:121 msgid "Full Bass" -msgstr "Full Bass" +msgstr "Full bass" #: ui/equalizer.cpp:125 msgid "Full Bass + Treble" -msgstr "Full Bass + Lys lyd" +msgstr "Full bass + diskant" #: ui/equalizer.cpp:123 msgid "Full Treble" -msgstr "Full lys lyd" +msgstr "Full diskant" #: ../bin/src/ui_edittagdialog.h:729 msgid "Ge&nre" -msgstr "" +msgstr "Sja&nger" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Generelt" @@ -2504,7 +2453,7 @@ msgstr "Generelt" msgid "General settings" msgstr "Generelle innstillinger" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2514,11 +2463,11 @@ msgstr "Sjanger" #: internet/spotify/spotifyservice.cpp:639 #: internet/spotify/spotifyservice.cpp:683 msgid "Get a URL to share this Spotify song" -msgstr "Lag en link å dele denne Spotify-sangen med" +msgstr "Hent en nettadresse å dele denne Spotify-sangen fra" #: internet/spotify/spotifyservice.cpp:671 msgid "Get a URL to share this playlist" -msgstr "Lag en link å dele denne spillelisten med" +msgstr "Hent en lenke å dele denne spillelisten fra" #: internet/somafm/somafmservice.cpp:120 #: internet/intergalacticfm/intergalacticfmservice.cpp:120 @@ -2537,13 +2486,13 @@ msgstr "Gi den et navn:" msgid "Go" msgstr "Gå" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" -msgstr "Gå til neste flik på spillelista" +msgstr "Gå til neste fane på spillelista" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" -msgstr "Gå til forrige flik på spillelista" +msgstr "Gå til forrige fane på spillelista" #: ../bin/src/ui_googledrivesettingspage.h:99 msgid "Google Drive" @@ -2553,7 +2502,7 @@ msgstr "Google Disk" #: ../bin/src/ui_coversearchstatisticsdialog.h:75 #, qt-format msgid "Got %1 covers out of %2 (%3 failed)" -msgstr "Hentet %1 av %2 albumbilder (%3 feilet)" +msgstr "Hentet %1 av %2 omslag (%3 feilet)" #: ../bin/src/ui_behavioursettingspage.h:327 msgid "Grey out non existent songs in my playlists" @@ -2561,7 +2510,7 @@ msgstr "Merk ikke-eksisterende sanger med grått i mine spillelister" #: ../bin/src/ui_groupbydialog.h:123 msgid "Group Library by..." -msgstr "Gruppér biblioteket etter..." +msgstr "Grupper biblioteket etter…" #: globalsearch/globalsearchview.cpp:470 library/libraryfilterwidget.cpp:98 msgid "Group by" @@ -2569,33 +2518,33 @@ msgstr "Grupper etter" #: library/libraryfilterwidget.cpp:158 msgid "Group by Album" -msgstr "Gruppér på albumtittel" +msgstr "Grupper etter albumtittel" #: library/libraryfilterwidget.cpp:150 msgid "Group by Album artist/Album" -msgstr "" +msgstr "Grupper etter artist/album" #: library/libraryfilterwidget.cpp:143 msgid "Group by Artist" -msgstr "Gruppér på artistnavn" +msgstr "Grupper etter artistnavn" #: library/libraryfilterwidget.cpp:146 msgid "Group by Artist/Album" -msgstr "Gruppér på artist og album" +msgstr "Grupper etter artist/album" #: library/libraryfilterwidget.cpp:154 msgid "Group by Artist/Year - Album" -msgstr "Gruppér etter Artist/År - Albumnavn" +msgstr "Grupper etter artist/år - albumnavn" #: library/libraryfilterwidget.cpp:161 msgid "Group by Genre/Album" -msgstr "Gruppér etter Sjanger/Album" +msgstr "Grupper etter sjanger/album" #: library/libraryfilterwidget.cpp:165 msgid "Group by Genre/Artist/Album" -msgstr "Gruppér etter Sjanger/Artist/Album" +msgstr "Grupper etter sjanger/artist/album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2603,20 +2552,20 @@ msgstr "Gruppering" #: library/libraryfilterwidget.cpp:211 msgid "Grouping Name" -msgstr "" +msgstr "Grupperingsnavn" #: library/libraryfilterwidget.cpp:211 msgid "Grouping name:" -msgstr "" +msgstr "Grupperingsnavn:" #: internet/podcasts/podcasturlloader.cpp:206 msgid "HTML page did not contain any RSS feeds" -msgstr "HTML-siden inneholdt ingen RSS-feeder." +msgstr "HTML-siden inneholdt ingen RSS-nyhetsmatinger" #: internet/subsonic/subsonicsettingspage.cpp:163 msgid "" "HTTP 3xx status code received without URL, verify server configuration." -msgstr "Fikk til svar HTTP-kode 3xx , men uten URL. Sjekk serverkonfigurasjonen." +msgstr "Fikk til svar HTTP-kode 3xx , men uten URL. Sjekk tjeneroppsettet." #: ../bin/src/ui_networkproxysettingspage.h:162 msgid "HTTP proxy" @@ -2628,7 +2577,7 @@ msgstr "Glad" #: ../bin/src/ui_deviceproperties.h:370 msgid "Hardware information" -msgstr "Informasjon om maskinvare" +msgstr "Maskinvareinformasjon" #: ../bin/src/ui_deviceproperties.h:371 msgid "Hardware information is only available while the device is connected." @@ -2650,7 +2599,7 @@ msgstr "Høy (1024x1024)" #: ui/equalizer.cpp:128 msgid "HipHop" -msgstr "HipHop" +msgstr "Hip hop" #: internet/subsonic/subsonicsettingspage.cpp:135 msgid "Host not found, check server URL. Example: http://localhost:4040/" @@ -2684,21 +2633,21 @@ msgstr "Identifiserer sangen" msgid "" "If activated, clicking a selected song in the playlist view will let you " "edit the tag value directly" -msgstr "Klikk på en valgt sang i spilleliste-visningen lar deg redigere verdien direkte." +msgstr "Skrur på direkte redigering ved å klikke på en sang i spillelisten" #: devices/devicemanager.cpp:575 devices/devicemanager.cpp:586 msgid "" "If you continue, this device will work slowly and songs copied to it may not" " work." -msgstr "Hvis du fortsetter, vil enheten bli treg, og du kan kanskje ikke spille av sanger kopiert til den." +msgstr "Hvis du fortsetter, vil enheten bli treg, og du vil kanskje ikke kunne spille av sanger kopiert til den." #: ../bin/src/ui_addpodcastbyurl.h:73 msgid "If you know the URL of a podcast, enter it below and press Go." -msgstr "Hvis du vet URLen til en podcast, skriv den inn under og trykk Gå." +msgstr "Hvis du vet URL-en til en nettradioopptak, skriv den inn nedenfor og trykk Gå." #: ../bin/src/ui_organisedialog.h:255 msgid "Ignore \"The\" in artist names" -msgstr "Ignorér \"The\" i artistnavn" +msgstr "Ignorer \"The\" i artistnavn" #: ui/albumcoverchoicecontroller.cpp:44 msgid "Images (*.png *.jpg *.jpeg *.bmp *.gif *.xpm *.pbm *.pgm *.ppm *.xbm)" @@ -2730,7 +2679,7 @@ msgstr "Innboks" #: ../bin/src/ui_notificationssettingspage.h:449 msgid "Include album art in the notification" -msgstr "Inkludér cover i meldingen" +msgstr "Inkluder omslag i meddelelsen" #: ../bin/src/ui_querysearchpage.h:117 msgid "Include all songs" @@ -2754,7 +2703,7 @@ msgstr "Øk lydstyrken 4%" #: core/commandlineoptions.cpp:163 msgid "Increase the volume by percent" -msgstr "Øk lydstyrken med prosent" +msgstr "Øk lydstyrken prosent" #: core/globalshortcuts.cpp:61 wiimotedev/wiimotesettingspage.cpp:110 msgid "Increase volume" @@ -2775,7 +2724,7 @@ msgstr "Inngangsvalg" #: ../bin/src/ui_organisedialog.h:254 msgid "Insert..." -msgstr "Sett inn..." +msgstr "Sett inn…" #: internet/spotify/spotifysettingspage.cpp:75 msgid "Installed" @@ -2785,11 +2734,11 @@ msgstr "Installert" msgid "Integrity check" msgstr "Integritetskontrol" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internett" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internettilbydere" @@ -2800,12 +2749,16 @@ msgstr "Internettjenester" #: widgets/osd.cpp:323 ../bin/src/ui_playlistsequence.h:115 msgid "Intro tracks" -msgstr "" +msgstr "Introspor" #: internet/lastfm/lastfmservice.cpp:261 msgid "Invalid API key" msgstr "Ugyldig API-nøkkel" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Ugyldig format" @@ -2816,7 +2769,7 @@ msgstr "Ukjent metode" #: internet/lastfm/lastfmservice.cpp:253 msgid "Invalid parameters" -msgstr "Ugyldige parametere" +msgstr "Ugyldige parametre" #: internet/lastfm/lastfmservice.cpp:255 msgid "Invalid resource specified" @@ -2828,11 +2781,11 @@ msgstr "Ukjent tjeneste" #: internet/lastfm/lastfmservice.cpp:259 msgid "Invalid session key" -msgstr "Ugyldig sesjonsnøkkel" +msgstr "Ugyldig øktnøkkel" #: ../bin/src/ui_ripcddialog.h:311 msgid "Invert Selection" -msgstr "Omvendt utvalg" +msgstr "Vend utvalg" #: internet/jamendo/jamendoservice.cpp:137 msgid "Jamendo" @@ -2844,15 +2797,15 @@ msgstr "Mest spilte på Jamendo" #: internet/jamendo/jamendoservice.cpp:119 msgid "Jamendo Top Tracks" -msgstr "Favorittlista på Jamendo" +msgstr "Topplista på Jamendo" #: internet/jamendo/jamendoservice.cpp:113 msgid "Jamendo Top Tracks of the Month" -msgstr "Månedens favoritter på Jamendo" +msgstr "Månedens topplåter på Jamendo" #: internet/jamendo/jamendoservice.cpp:116 msgid "Jamendo Top Tracks of the Week" -msgstr "Ukas favoritter på Jamendo" +msgstr "Ukas topplåter på Jamendo" #: internet/jamendo/jamendoservice.cpp:179 msgid "Jamendo database" @@ -2862,34 +2815,34 @@ msgstr "Jamendo-database" msgid "Jump to previous song right away" msgstr "Gå til forrige sang nå" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Gå til sporet som spilles av nå" #: wiimotedev/wiimoteshortcutgrabber.cpp:72 #, qt-format msgid "Keep buttons for %1 second..." -msgstr "Hold nede knappen i %1 sekund(er)..." +msgstr "Hold nede knappen i %1 sekund…" #: wiimotedev/wiimoteshortcutgrabber.cpp:75 #: wiimotedev/wiimoteshortcutgrabber.cpp:117 #: ../bin/src/ui_wiimoteshortcutgrabber.h:123 #, qt-format msgid "Keep buttons for %1 seconds..." -msgstr "Hold nede knappen i %1 sekund(er)..." +msgstr "Hold nede knappen i %1 sekunder…" #: ../bin/src/ui_behavioursettingspage.h:314 msgid "Keep running in the background when the window is closed" -msgstr "Fortsett i bakgrunnen selv om du lukker vinduet" +msgstr "Fortsett i bakgrunnen selv om vinduet lukkes" #: ../bin/src/ui_organisedialog.h:244 msgid "Keep the original files" -msgstr "Belhold originalfiler" +msgstr "Behold originalfilene" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" -msgstr "Småpus" +msgstr "Småpuser" #: ui/equalizer.cpp:131 msgid "Kuduro" @@ -2901,7 +2854,7 @@ msgstr "Språk" #: ui/equalizer.cpp:133 msgid "Laptop/Headphones" -msgstr "Laptop/Hodetelefoner" +msgstr "Laptop/hodetelefoner" #: ui/equalizer.cpp:135 msgid "Large Hall" @@ -2909,15 +2862,15 @@ msgstr "Storsal" #: widgets/nowplayingwidget.cpp:100 msgid "Large album cover" -msgstr "Stort albumbilde" +msgstr "Stort omslag" #: widgets/nowplayingwidget.cpp:103 msgid "Large album cover (details below)" -msgstr "Stort cover (detaljer under)" +msgstr "Stort omslag (detaljer under)" #: widgets/nowplayingwidget.cpp:105 msgid "Large album cover (no details)" -msgstr "Stort cover (uten detaljer)" +msgstr "Stort omslag (uten detaljer)" #: widgets/fancytabwidget.cpp:642 msgid "Large sidebar" @@ -2927,7 +2880,7 @@ msgstr "Stort sidefelt" msgid "Last played" msgstr "Sist spilt" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Sist spilt" @@ -2938,15 +2891,15 @@ msgstr "Last.fm" #: internet/lastfm/lastfmsettingspage.cpp:77 msgid "Last.fm authentication" -msgstr "" +msgstr "Identitetsbekreftelse for Last.fm" #: internet/lastfm/lastfmsettingspage.cpp:70 msgid "Last.fm authentication failed" -msgstr "" +msgstr "Identitetsbekreftelse for Last.fm mislyktes" #: internet/lastfm/lastfmservice.cpp:268 msgid "Last.fm is currently busy, please try again in a few minutes" -msgstr "Last.fm er opptatt, vennligst prøv igjen om et par minutter" +msgstr "Last.fm er opptatt, prøv igjen om et par minutter" #: songinfo/lastfmtrackinfoprovider.cpp:76 msgid "Last.fm play counts" @@ -2954,7 +2907,7 @@ msgstr "Antall avspillinger fra Last.fm" #: songinfo/lastfmtrackinfoprovider.cpp:130 msgid "Last.fm tags" -msgstr "Tagger fra Last.fm" +msgstr "Etiketter fra Last.fm" #: songinfo/lastfmtrackinfoprovider.cpp:110 msgid "Last.fm wiki" @@ -2962,18 +2915,18 @@ msgstr "Last.fm-wiki" #: library/library.cpp:102 msgid "Least favourite tracks" -msgstr "Spor med minst stemmer" +msgstr "Spor med ferrest stemmer" #: ../bin/src/ui_equalizer.h:171 msgid "Left" msgstr "Venstre" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Lengde" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Bibliotek" @@ -2982,9 +2935,9 @@ msgstr "Bibliotek" msgid "Library advanced grouping" msgstr "Avansert biblioteksgruppering" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" -msgstr "Melding om gjennomsyn av biblioteket" +msgstr "Melding om gjennomsøk av biblioteket" #: smartplaylists/querywizardplugin.cpp:79 msgid "Library search" @@ -3004,27 +2957,27 @@ msgstr "Hent" #: ../bin/src/ui_coverfromurldialog.h:101 msgid "Load cover from URL" -msgstr "Hent albumgrafikk fra URL" +msgstr "Hent omslag fra URL" #: ui/albumcoverchoicecontroller.cpp:64 msgid "Load cover from URL..." -msgstr "Hent albumgrafikk fra URL..." +msgstr "Hent omslag fra URL…" #: ui/albumcoverchoicecontroller.cpp:106 msgid "Load cover from disk" -msgstr "Hent albumbilde fra disk" +msgstr "Hent omslag fra disk" #: ui/albumcoverchoicecontroller.cpp:60 msgid "Load cover from disk..." -msgstr "Hent albumgrafikk fra disk..." +msgstr "Hent omslag fra disk…" #: playlist/playlistcontainer.cpp:294 msgid "Load playlist" msgstr "Åpne spilleliste" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." -msgstr "Åpne spilleliste..." +msgstr "Åpne spilleliste…" #: devices/mtploader.cpp:42 msgid "Loading MTP device" @@ -3046,7 +2999,7 @@ msgstr "Åpner sanger" #: internet/somafm/somafmurlhandler.cpp:53 #: internet/intergalacticfm/intergalacticfmurlhandler.cpp:56 msgid "Loading stream" -msgstr "Lader lydstrøm" +msgstr "Laster lydstrøm" #: playlist/songloaderinserter.cpp:129 ui/edittagdialog.cpp:251 msgid "Loading tracks" @@ -3058,17 +3011,15 @@ msgstr "Henter informasjon om spor" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." -msgstr "Åpner..." +msgstr "Åpner…" #: core/commandlineoptions.cpp:174 msgid "Loads files/URLs, replacing current playlist" -msgstr "Åpne filer/URLer; erstatt gjeldende spilleliste" +msgstr "Åpne filer/URL-er; erstatt gjeldende spilleliste" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3078,30 +3029,25 @@ msgstr "Åpne filer/URLer; erstatt gjeldende spilleliste" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Innlogging" #: internet/podcasts/podcastsettingspage.cpp:130 msgid "Login failed" -msgstr "Login feilet" - -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Logg u" +msgstr "Innlogging feilet" #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" -msgstr "Long term prediction-profil (LTP)" +msgstr "Profil for langtidspredikie (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Elsker" #: core/globalshortcuts.cpp:78 msgid "Love (Last.fm scrobbling)" -msgstr "" +msgstr "Love (rapportering om lyttevaner til Last.fm)" #: analyzers/analyzercontainer.cpp:67 #: visualisations/visualisationcontainer.cpp:107 @@ -3115,20 +3061,20 @@ msgstr "Lav (256x256)" #: ../bin/src/ui_transcoderoptionsaac.h:134 msgid "Low complexity profile (LC)" -msgstr "Low complexity-profil (LC)" +msgstr "Profil for lavkompleksitet (LC)" #: ui/organisedialog.cpp:68 ../bin/src/ui_songinfosettingspage.h:158 msgid "Lyrics" -msgstr "Sangtekst" +msgstr "Sangtekster" #: songinfo/ultimatelyricsprovider.cpp:154 #, qt-format msgid "Lyrics from %1" -msgstr "Sangtekst fra %1" +msgstr "Sangtekster fra %1" #: songinfo/taglyricsinfoprovider.cpp:29 msgid "Lyrics from the tag" -msgstr "" +msgstr "Sangtekster fra etiketten" #: transcoder/transcoder.cpp:235 msgid "M4A AAC" @@ -3174,16 +3120,16 @@ msgstr "Hovedprofil (MAIN)" #: core/backgroundstreams.cpp:52 msgid "Make it so!" -msgstr "Kjør på!" +msgstr "Hold munn, Wesley." -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" -msgstr "Make it so!" +msgstr "Hold munn, Wesley." #: internet/spotify/spotifyservice.cpp:669 msgid "Make playlist available offline" -msgstr "Gjør spillelista tilgjengelig online" +msgstr "Gjør spillelista tilgjengelig i frakoblet modus" #: internet/lastfm/lastfmservice.cpp:280 msgid "Malformed response" @@ -3191,11 +3137,11 @@ msgstr "Ugyldig svar" #: ../bin/src/ui_libraryfilterwidget.h:102 msgid "Manage saved groupings" -msgstr "" +msgstr "Behandle lagrede grupperinger" #: ../bin/src/ui_networkproxysettingspage.h:159 msgid "Manual proxy configuration" -msgstr "Manuell proxy-innstilling" +msgstr "Manuell mellomtjener-innstilling" #: ../bin/src/ui_podcastsettingspage.h:255 #: ../bin/src/ui_podcastsettingspage.h:269 @@ -3222,10 +3168,6 @@ msgstr "Krev treff på alle søkeord (OG)" msgid "Match one or more search terms (OR)" msgstr "Treff på hvilket som helst søkeord (ELLER)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maksimalt antall søketreff" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Høyeste bitrate" @@ -3254,7 +3196,11 @@ msgstr "Minimal bitrate" #: ../bin/src/ui_playbacksettingspage.h:365 msgid "Minimum buffer fill" -msgstr "Minimum bufferfyll" +msgstr "Minimum mellomlagerutfylling" + +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -3266,7 +3212,7 @@ msgstr "Modell" #: ../bin/src/ui_librarysettingspage.h:191 msgid "Monitor the library for changes" -msgstr "Følg med på endringer i biblioteket" +msgstr "Overvåk endringer i biblioteket" #: ../bin/src/ui_playbacksettingspage.h:370 msgid "Mono playback" @@ -3276,7 +3222,7 @@ msgstr "Spill av i mono" msgid "Months" msgstr "Måneder" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Stemning" @@ -3289,10 +3235,6 @@ msgstr "Type stemningsstolpe" msgid "Moodbars" msgstr "Stemningsstolper" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Mer" - #: library/library.cpp:84 msgid "Most played" msgstr "Mest spilt" @@ -3308,19 +3250,18 @@ msgstr "Monteringspunkter" #: ../bin/src/ui_globalsearchsettingspage.h:145 #: ../bin/src/ui_queuemanager.h:130 ../bin/src/ui_songinfosettingspage.h:161 msgid "Move down" -msgstr "Flytt ned" +msgstr "Flytt nedover" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." -msgstr "Flytt til bibliotek..." +msgstr "Flytt til bibliotek…" #: ../bin/src/ui_globalsearchsettingspage.h:144 #: ../bin/src/ui_queuemanager.h:126 ../bin/src/ui_songinfosettingspage.h:160 msgid "Move up" -msgstr "Flytt opp" +msgstr "Flytt oppover" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musikk" @@ -3329,22 +3270,10 @@ msgid "Music Library" msgstr "Musikkbibliotek" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Demp" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Mine album" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Musikk" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Mine anbefalinger" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3382,7 +3311,7 @@ msgstr "Aldri spilt" #: ../bin/src/ui_behavioursettingspage.h:335 #: ../bin/src/ui_behavioursettingspage.h:355 msgid "Never start playing" -msgstr "Begynn aldri avspilling" +msgstr "Aldri begynn avspilling" #: playlist/playlistlistcontainer.cpp:69 #: playlist/playlistlistcontainer.cpp:168 @@ -3390,13 +3319,13 @@ msgstr "Begynn aldri avspilling" msgid "New folder" msgstr "Ny mappe" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Ny spilleliste" #: library/libraryview.cpp:395 msgid "New smart playlist..." -msgstr "Ny smart spilleliste..." +msgstr "Ny smart spilleliste…" #: widgets/freespacebar.cpp:45 msgid "New songs" @@ -3408,7 +3337,7 @@ msgstr "Nye spor vil automatisk bli lagt til." #: internet/subsonic/subsonicservice.cpp:100 msgid "Newest" -msgstr "" +msgstr "Nyeste" #: library/library.cpp:92 msgid "Newest tracks" @@ -3419,7 +3348,7 @@ msgid "Next" msgstr "Neste" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Neste spor" @@ -3457,9 +3386,9 @@ msgstr "Ikke korte blokker" msgid "None" msgstr "Ingen" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" -msgstr "Kunne ikke kopiere noen av de valgte sangene til enheten" +msgstr "Kunne ikke kopiere noen av de valgte sangene til en enhet" #: moodbar/moodbarrenderer.cpp:169 msgid "Normal" @@ -3506,17 +3435,13 @@ msgstr "Ikke pålogget" msgid "Not mounted - double click to mount" msgstr "Ikke montert - dobbelklikk for å montere" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Fant ingenting" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" -msgstr "Meldingstype" +msgstr "Meddelelestype" #: ../bin/src/ui_notificationssettingspage.h:380 msgid "Notifications" -msgstr "Meldinger" +msgstr "Meddelelestype" #: ui/macsystemtrayicon.mm:64 msgid "Now Playing" @@ -3528,7 +3453,7 @@ msgstr "Antall episoder å vise" #: ui/notificationssettingspage.cpp:38 msgid "OSD Preview" -msgstr "Forhåndsvisning av notifikasjon" +msgstr "Forhåndsvisning av skjermbildeoverlegg" #: widgets/osd.cpp:174 msgid "Off" @@ -3566,11 +3491,11 @@ msgid "" "10.x.x.x\n" "172.16.0.0 - 172.31.255.255\n" "192.168.x.x" -msgstr "Aksepter kun tilkoblinger fra klienter i IP-rangene:⏎\n10.x.x.x⏎\n172.16.0.0 - 172.31.255.255⏎\n192.168.x.x" +msgstr "Aksepter kun tilkoblinger fra klienter i IP-tallfølget:\n10.x.x.x\n172.16.0.0 - 172.31.255.255\n192.168.x.x" #: ../bin/src/ui_networkremotesettingspage.h:231 msgid "Only allow connections from the local network" -msgstr "Tillat kun tilkoblinger fra det lokale nettverket" +msgstr "Kun tillat tilkoblinger fra det lokalnettverket" #: ../bin/src/ui_querysortpage.h:142 msgid "Only show the first" @@ -3591,7 +3516,7 @@ msgstr "Dekkevne" msgid "Open %1 in browser" msgstr "Åpne %1 i nettleser" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Åpne lyd-&CD" @@ -3601,19 +3526,19 @@ msgstr "Åpne OPML-fil" #: internet/podcasts/addpodcastdialog.cpp:84 msgid "Open OPML file..." -msgstr "Åpne OPML-fil..." +msgstr "Åpne OPML-fil…" #: transcoder/transcodedialog.cpp:240 msgid "Open a directory to import music from" -msgstr "Importér musikk fra en katalog" +msgstr "Importer musikk fra ei mappe" #: ../bin/src/ui_deviceproperties.h:381 msgid "Open device" msgstr "Åpne enhet" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." -msgstr "Åpne fil..." +msgstr "Åpne fil…" #: internet/googledrive/googledriveservice.cpp:217 msgid "Open in Google Drive" @@ -3632,12 +3557,12 @@ msgstr "Åpne i ny spilleliste" #: songinfo/artistbiography.cpp:94 songinfo/artistbiography.cpp:261 msgid "Open in your browser" -msgstr "" +msgstr "Åpne i nettleser" #: ../bin/src/ui_globalshortcutssettingspage.h:168 #: ../bin/src/ui_globalshortcutssettingspage.h:170 msgid "Open..." -msgstr "Åpne..." +msgstr "Åpne…" #: internet/lastfm/lastfmservice.cpp:257 msgid "Operation failed" @@ -3645,17 +3570,17 @@ msgstr "Operasjonen feilet" #: ../bin/src/ui_transcoderoptionsmp3.h:192 msgid "Optimize for bitrate" -msgstr "Optimalisert for bitrate" +msgstr "Optimaliser for bitrate" #: ../bin/src/ui_transcoderoptionsmp3.h:190 msgid "Optimize for quality" -msgstr "Optimalisert for kvalitet" +msgstr "Optimaliser for kvalitet" #: ../bin/src/ui_transcodedialog.h:226 #: ../bin/src/ui_networkremotesettingspage.h:251 #: ../bin/src/ui_ripcddialog.h:321 msgid "Options..." -msgstr "Innstillinger..." +msgstr "Innstillinger…" #: ../bin/src/ui_transcodersettingspage.h:180 msgid "Opus" @@ -3663,11 +3588,11 @@ msgstr "Opus" #: ../bin/src/ui_organisedialog.h:239 msgid "Organise Files" -msgstr "Organisér filer" +msgstr "Organiser filer" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." -msgstr "Organisér filer..." +msgstr "Organiser filer…" #: core/organise.cpp:73 msgid "Organising files" @@ -3677,20 +3602,20 @@ msgstr "Organiserer filer" msgid "Original tags" msgstr "Opprinnelige tagger" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" -msgstr "" +msgstr "Opprinnelig år" #: library/savedgroupingmanager.cpp:98 ../bin/src/ui_groupbydialog.h:137 #: ../bin/src/ui_groupbydialog.h:156 ../bin/src/ui_groupbydialog.h:175 msgid "Original year - Album" -msgstr "" +msgstr "Opprinnelig år - album" #: library/library.cpp:118 msgid "Original year tag support" -msgstr "" +msgstr "Opprinnelig år etikettstøtte" #: core/commandlineoptions.cpp:176 msgid "Other options" @@ -3698,7 +3623,7 @@ msgstr "Andre innstillinger" #: ../bin/src/ui_albumcoverexport.h:203 msgid "Output" -msgstr "Ut" +msgstr "Utgang" #: ../bin/src/ui_playbacksettingspage.h:362 msgid "Output device" @@ -3706,19 +3631,19 @@ msgstr "Ut-enhet" #: ../bin/src/ui_transcodedialog.h:224 ../bin/src/ui_ripcddialog.h:317 msgid "Output options" -msgstr "Utputt-innstillinger" +msgstr "Utgangsinnstillinger" #: ../bin/src/ui_albumcoverexport.h:209 msgid "Overwrite all" -msgstr "Skriv over alle" +msgstr "Overskriv alt" #: ../bin/src/ui_organisedialog.h:258 msgid "Overwrite existing files" -msgstr "Skriv over eksisterende filer" +msgstr "Overskriv eksisterende filer" #: ../bin/src/ui_albumcoverexport.h:210 msgid "Overwrite smaller ones only" -msgstr "Skriv over bare mindre ~" +msgstr "Bare overskriv mindre ~" #: ../bin/src/ui_podcastinfowidget.h:194 msgid "Owner" @@ -3730,7 +3655,7 @@ msgstr "Behandler Jamendo-katalogen" #: devices/udisks2lister.cpp:79 msgid "Partition label" -msgstr "" +msgstr "Partisjonsnavn" #: ui/equalizer.cpp:139 msgid "Party" @@ -3745,20 +3670,20 @@ msgstr "Fest" msgid "Password" msgstr "Passord" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pause" #: core/commandlineoptions.cpp:156 msgid "Pause playback" -msgstr "Pause" +msgstr "Sett avspilling på pause" #: widgets/osd.cpp:157 msgid "Paused" -msgstr "Pauset" +msgstr "På pause" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3767,26 +3692,26 @@ msgstr "Utøver" #: ../bin/src/ui_albumcoverexport.h:214 msgid "Pixel" -msgstr "Pixel" +msgstr "Piksel" #: widgets/fancytabwidget.cpp:644 msgid "Plain sidebar" msgstr "Enkelt sidefelt" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Spill" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" -msgstr "Antall ganger spilt av" +msgstr "Antall avspillinger" #: core/commandlineoptions.cpp:155 msgid "Play if stopped, pause if playing" -msgstr "Hvis stoppet: spill av. Hvis spiller: pause" +msgstr "Hvis stoppet: Spill av. Hvis spiller: pause" #: ../bin/src/ui_behavioursettingspage.h:336 #: ../bin/src/ui_behavioursettingspage.h:356 @@ -3811,7 +3736,7 @@ msgstr "Innstillinger for avspiller" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Spilleliste" @@ -3828,22 +3753,22 @@ msgstr "Innstillinger for spilleliste" msgid "Playlist type" msgstr "Type spilleliste" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Spillelister" #: ../data/oauthsuccess.html:38 msgid "Please close your browser and return to Clementine." -msgstr "Vennligst lukk nettleseren og gå tilbake til Clementine." +msgstr "Lukk nettleseren og gå tilbake til Clementine." #: ../bin/src/ui_spotifysettingspage.h:213 msgid "Plugin status:" -msgstr "Modulens status:" +msgstr "Programtilleggsstatus:" #: internet/podcasts/podcastservice.cpp:132 #: ../bin/src/ui_podcastsettingspage.h:250 msgid "Podcasts" -msgstr "Podcaster" +msgstr "Nettradioopptak" #: ui/equalizer.cpp:141 msgid "Pop" @@ -3851,16 +3776,16 @@ msgstr "Pop" #: ../bin/src/ui_notificationssettingspage.h:443 msgid "Popup duration" -msgstr "Hvor lenge skal informasjonsvinduet vises" +msgstr "Oppsprettsvinduets varighet" #: ../bin/src/ui_networkproxysettingspage.h:165 #: ../bin/src/ui_networkremotesettingspage.h:224 msgid "Port" -msgstr "Portnummer" +msgstr "Port" #: ui/equalizer.cpp:44 ../bin/src/ui_playbacksettingspage.h:359 msgid "Pre-amp" -msgstr "Lydforsterkning" +msgstr "Forforsterker" #: ../bin/src/ui_seafilesettingspage.h:176 msgid "Preference" @@ -3869,17 +3794,17 @@ msgstr "Innstillinger" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Innstillinger" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." -msgstr "Innstillinger …" +msgstr "Innstillinger…" #: ../bin/src/ui_librarysettingspage.h:201 msgid "Preferred album art filenames (comma separated)" -msgstr "Foretrukne albumbilde-filnavn (separert med komma)" +msgstr "Foretrukne filnavn for omslag (inndelt med komma)" #: ../bin/src/ui_magnatunesettingspage.h:166 msgid "Preferred audio format" @@ -3899,11 +3824,11 @@ msgstr "Premium-lydtype" #: ../bin/src/ui_equalizer.h:163 msgid "Preset:" -msgstr "Forhåndsinnstillinger:" +msgstr "Forhåndsinnstilling:" #: ../bin/src/ui_wiimoteshortcutgrabber.h:120 msgid "Press a button combination to use for" -msgstr "Trykk en tastkombinasjon å bruke til" +msgstr "Trykk en tastekombinasjon til bruk for" #: ../bin/src/ui_globalshortcutgrabber.h:72 msgid "Press a key" @@ -3912,15 +3837,15 @@ msgstr "Trykk en tast" #: ui/globalshortcutgrabber.cpp:35 ../bin/src/ui_globalshortcutgrabber.h:73 #, qt-format msgid "Press a key combination to use for %1..." -msgstr "Trykk en tastekombinasjon å bruke til %1..." +msgstr "Trykk en tastekombinasjon å bruke til %1…" #: ../bin/src/ui_behavioursettingspage.h:339 msgid "Pressing \"Previous\" in player will..." -msgstr "Når du trykker \"Forrige\" i spilleren, …" +msgstr "Når du trykker \"Forrige\" i spilleren vil…" #: ../bin/src/ui_notificationssettingspage.h:457 msgid "Pretty OSD options" -msgstr "Skrivebordsmeldinginnstillinger" +msgstr "Pene skjermbildeoverleggsvalg" #: ../bin/src/ui_searchpreview.h:104 ../bin/src/ui_songinfosettingspage.h:157 #: ../bin/src/ui_notificationssettingspage.h:452 @@ -3933,7 +3858,7 @@ msgid "Previous" msgstr "Forrige" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Forrige spor" @@ -3947,12 +3872,12 @@ msgstr "Profil" #: ../bin/src/ui_transcodedialog.h:233 ../bin/src/ui_ripcddialog.h:323 msgid "Progress" -msgstr "Fremgang" +msgstr "Framdrift" #: ../bin/src/ui_magnatunedownloaddialog.h:130 msgctxt "Category label" msgid "Progress" -msgstr "Fremgang" +msgstr "Framdrift" #: ui/equalizer.cpp:144 msgid "Psychedelic" @@ -3982,37 +3907,37 @@ msgstr "Kvalitet" #: ../bin/src/ui_deviceproperties.h:382 msgid "Querying device..." -msgstr "Spør enhet..." +msgstr "Spør enhet…" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" -msgstr "Kø behandler" +msgstr "Købehandler" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Legg valgte spor i kø" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Legg spor i kø" #: ../bin/src/ui_playbacksettingspage.h:356 msgid "Radio (equal loudness for all tracks)" -msgstr "Radio (lik loudness for alle spor)" +msgstr "Radio (lik lydstyrkeutgjevning for alle spor)" #: core/backgroundstreams.cpp:47 msgid "Rain" msgstr "Regn" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Regn" #: internet/subsonic/subsonicservice.cpp:103 msgid "Random" -msgstr "" +msgstr "Vilkårlig" #: ../bin/src/ui_visualisationselector.h:111 msgid "Random visualization" @@ -4020,29 +3945,29 @@ msgstr "Tilfeldig visualisering" #: core/globalshortcuts.cpp:83 msgid "Rate the current song 0 stars" -msgstr "Gi 0 stjerner til sangen" +msgstr "Gi sangen null stjerner" #: core/globalshortcuts.cpp:85 msgid "Rate the current song 1 star" -msgstr "Gi 1 stjerne til sangen" +msgstr "Gi sangen én stjerne" #: core/globalshortcuts.cpp:87 msgid "Rate the current song 2 stars" -msgstr "Gi 2 stjerner til sangen" +msgstr "Gi sangen to stjerner" #: core/globalshortcuts.cpp:89 msgid "Rate the current song 3 stars" -msgstr "Gi 3 stjerner til sangen" +msgstr "Gi sangen tre stjerner" #: core/globalshortcuts.cpp:91 msgid "Rate the current song 4 stars" -msgstr "Gi 4 stjerner til sangen" +msgstr "Gi sangen fire stjerner" #: core/globalshortcuts.cpp:93 msgid "Rate the current song 5 stars" -msgstr "Gi 5 stjerner til sangen" +msgstr "Gi sangen fem stjerner" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Poenggiving" @@ -4053,17 +3978,17 @@ msgstr "Vil du virkelig avbryte?" #: internet/subsonic/subsonicservice.cpp:112 msgid "Recently Played" -msgstr "" +msgstr "Nylig avspilt" #: internet/subsonic/subsonicsettingspage.cpp:158 msgid "Redirect limit exceeded, verify server configuration." -msgstr "For mange omdirigeringer. Sjekk serverkonfigurasjonen." +msgstr "Videresendingsbegrensning overskredet. Sjekk tjeneroppsettet." #: internet/jamendo/jamendoservice.cpp:430 #: internet/magnatune/magnatuneservice.cpp:290 #: internet/subsonic/subsonicservice.cpp:138 msgid "Refresh catalogue" -msgstr "Oppfrisk katalogen" +msgstr "Gjenoppfrisk katalogen" #: internet/somafm/somafmservice.cpp:111 #: internet/intergalacticfm/intergalacticfmservice.cpp:111 @@ -4072,11 +3997,11 @@ msgstr "Hent kanaler på ny" #: internet/icecast/icecastservice.cpp:301 msgid "Refresh station list" -msgstr "Oppfrisk kanallista" +msgstr "Gjenoppfrisk kanallista" #: internet/digitally/digitallyimportedservicebase.cpp:178 msgid "Refresh streams" -msgstr "Oppfrisk bakgrunnslyder" +msgstr "Gjenoppfrisk bakgrunnslyder" #: ui/equalizer.cpp:146 msgid "Reggae" @@ -4089,7 +4014,7 @@ msgstr "Relativ" #: ../bin/src/ui_wiimoteshortcutgrabber.h:122 msgid "Remember Wii remote swing" -msgstr "Husk Wii-fjernkontroll-bevegelse" +msgstr "Husk Wii-kontroller-bevegelse" #: ../bin/src/ui_behavioursettingspage.h:325 msgid "Remember from last time" @@ -4109,23 +4034,15 @@ msgstr "Fjern" msgid "Remove action" msgstr "Fjern handling" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Fjern duplikater fra spillelisten" #: ../bin/src/ui_librarysettingspage.h:188 msgid "Remove folder" -msgstr "Fjern katalog" +msgstr "Fjern mappe" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Fjern fra Musikk" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Fjern i fra bokmerker" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Fjern fra spillelisten" @@ -4137,7 +4054,7 @@ msgstr "Fjern spilleliste" msgid "Remove playlists" msgstr "Fjern spillelister" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Fjern utilgjengelige spor fra spilleliste" @@ -4147,19 +4064,19 @@ msgstr "Gi nytt navn til spillelista" #: playlist/playlisttabbar.cpp:57 msgid "Rename playlist..." -msgstr "Gi nytt navn til spillelista..." +msgstr "Gi nytt navn til spillelista…" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." -msgstr "Renummerér sporene i denne rekkefølgen..." +msgstr "Renummerer sporene i denne rekkefølgen…" #: playlist/playlistsequence.cpp:207 ../bin/src/ui_playlistsequence.h:121 msgid "Repeat" -msgstr "Repetér" +msgstr "Gjenta" #: widgets/osd.cpp:314 ../bin/src/ui_playlistsequence.h:112 msgid "Repeat album" -msgstr "Repetér album" +msgstr "Gjenta album" #: widgets/osd.cpp:317 ../bin/src/ui_playlistsequence.h:113 msgid "Repeat playlist" @@ -4167,7 +4084,7 @@ msgstr "Gjenta spilleliste" #: widgets/osd.cpp:311 ../bin/src/ui_playlistsequence.h:111 msgid "Repeat track" -msgstr "Repetér spor" +msgstr "Gjenta spor" #: devices/deviceview.cpp:221 globalsearch/globalsearchview.cpp:457 #: internet/core/internetservice.cpp:55 library/libraryview.cpp:381 @@ -4189,7 +4106,7 @@ msgstr "Normalisering" #: ../bin/src/ui_playbacksettingspage.h:353 msgid "Replay Gain mode" -msgstr "Replay Gain-modus" +msgstr "ReplayGain-modus" #: ../bin/src/ui_dynamicplaylistcontrols.h:111 msgid "Repopulate" @@ -4199,17 +4116,17 @@ msgstr "Fyll lista igjen" msgid "Require authentication code" msgstr "Krev tilgangskode" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" -msgstr "Resett" +msgstr "Tilbakestill" #: ui/edittagdialog.cpp:802 ../bin/src/ui_edittagdialog.h:701 msgid "Reset play counts" -msgstr "Resett avspillingsteller" +msgstr "Tilbakestill avspillingsteller" #: ../bin/src/ui_behavioursettingspage.h:343 msgid "Restart song, then jump to previous if pressed again" -msgstr "Start om sangen, gå så til forrige hvis du trykker én gang til" +msgstr "Omstart av sang eller tilbake til forrige ved ytterligere trykk" #: core/commandlineoptions.cpp:169 msgid "" @@ -4226,7 +4143,7 @@ msgstr "Gjenoppta avspilling etter oppstart" #: ../data/oauthsuccess.html:5 msgid "Return to Clementine" -msgstr "Returnér til Clementine" +msgstr "Gå tilbake til Clementine" #: ../bin/src/ui_equalizer.h:173 msgid "Right" @@ -4234,15 +4151,15 @@ msgstr "Høyre" #: ../bin/src/ui_ripcddialog.h:302 msgid "Rip" -msgstr "Rip" +msgstr "Ripp" #: ripper/ripcddialog.cpp:95 msgid "Rip CD" -msgstr "Rip CD" +msgstr "Ripp CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" -msgstr "Kopiér lyd-CD" +msgstr "Kopier lyd-CD" #: ui/equalizer.cpp:148 msgid "Rock" @@ -4260,7 +4177,7 @@ msgstr "Mellomtjener for SOCKS" msgid "" "SSL handshake error, verify server configuration. SSLv3 option below may " "workaround some issues." -msgstr "Feil i SSL-handshake, sjekk tjenerkonfigurasjon. SSLv3-valget under kan ordne noen problemer." +msgstr "Feil i SSL-handtrykk, sjekk tjeneroppsettet. SSLv3-valget nedenfor kan ordne opp i noen problemer." #: devices/deviceview.cpp:204 msgid "Safely remove device" @@ -4270,8 +4187,9 @@ msgstr "Trygg fjerning av enhet" msgid "Safely remove the device after copying" msgstr "Kjør trygg fjerning av enhet etter kopiering" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Samplingsrate" @@ -4285,15 +4203,15 @@ msgstr "Lagre .mood-filer i musikkbiblioteket ditt" #: ui/albumcoverchoicecontroller.cpp:129 msgid "Save album cover" -msgstr "Lagre albumbilde" +msgstr "Lagre albumomslag" #: ui/albumcoverchoicecontroller.cpp:62 msgid "Save cover to disk..." -msgstr "Lagre bilde til disk..." +msgstr "Lagre bilde til disk…" #: ../bin/src/ui_libraryfilterwidget.h:101 msgid "Save current grouping" -msgstr "" +msgstr "Lagre nåværende gruppering" #: widgets/prettyimage.cpp:185 widgets/prettyimage.cpp:230 msgid "Save image" @@ -4309,9 +4227,9 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Lagre spilleliste" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." -msgstr "Lagre spillelista..." +msgstr "Lagre spilleliste…" #: ui/equalizer.cpp:205 ../bin/src/ui_equalizer.h:165 msgid "Save preset" @@ -4319,59 +4237,59 @@ msgstr "Lagre forhåndsinnstilling" #: ../bin/src/ui_librarysettingspage.h:192 msgid "Save ratings in file tags when possible" -msgstr "Lagre poeng i tagger når mulig" +msgstr "Lagre poenggivning i etiketter når det er mulig" #: ../bin/src/ui_librarysettingspage.h:196 msgid "Save statistics in file tags when possible" -msgstr "Lagre statistikk i filtagger når mulig" +msgstr "Lagre statistikk i filetiketter når mulig" #: ../bin/src/ui_addstreamdialog.h:114 msgid "Save this stream in the Internet tab" -msgstr "Lagre denne kanalen i en Internett-flik" +msgstr "Lagre denne kanalen i Internett-fanen" #: ../bin/src/ui_savedgroupingmanager.h:101 msgid "Saved Grouping Manager" -msgstr "" +msgstr "Behandler for lagrede grupperinger" #: library/library.cpp:194 msgid "Saving songs statistics into songs files" -msgstr "Lagrer sangstatistikk til filene" +msgstr "Lagrer sporstatistikk i sangfilene" #: ui/edittagdialog.cpp:711 ui/trackselectiondialog.cpp:255 msgid "Saving tracks" -msgstr "Lagrer spo" +msgstr "Lagrer spor" #: ../bin/src/ui_transcoderoptionsaac.h:135 msgid "Scalable sampling rate profile (SSR)" -msgstr "Skalerbar samplingrate-profil (SSR)" +msgstr "Skalerbar samplingsrate-profil (SSR)" #: ../bin/src/ui_albumcoverexport.h:212 msgid "Scale size" -msgstr "Skalér til størrelse" +msgstr "Skaler størrelse" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" -msgstr "Karakte" +msgstr "Poengsum" #: ../bin/src/ui_lastfmsettingspage.h:135 msgid "Scrobble tracks that I listen to" -msgstr "Fortell last.fm om (\"scrobble\") sangene jeg har lyttet til" +msgstr "Meld fra om mine lyttevaner" #: ../bin/src/ui_behavioursettingspage.h:313 msgid "Scroll over icon to change track" -msgstr "" +msgstr "Rull over ikon for å endre spor" #: ../bin/src/ui_seafilesettingspage.h:164 msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Søk" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Søk" @@ -4398,7 +4316,7 @@ msgstr "Automatisk søk" #: ui/albumcoverchoicecontroller.cpp:66 msgid "Search for album covers..." -msgstr "Søk etter albumbilder..." +msgstr "Søk etter albumomslag…" #: ../bin/src/ui_globalsearchview.h:207 msgid "Search for anything" @@ -4432,7 +4350,7 @@ msgstr "Søkekriterier" #: library/savedgroupingmanager.cpp:37 msgid "Second Level" -msgstr "" +msgstr "Andre nivå" #: ../bin/src/ui_groupbydialog.h:143 msgid "Second level" @@ -4444,11 +4362,11 @@ msgstr "Gå bakover" #: core/globalshortcuts.cpp:64 wiimotedev/wiimotesettingspage.cpp:120 msgid "Seek forward" -msgstr "Gå fremove" +msgstr "Gå fremover" #: core/commandlineoptions.cpp:167 msgid "Seek the currently playing track by a relative amount" -msgstr "Gå frem-/bakover en viss tidsperiode i sporet" +msgstr "Gå frem-/bakover en del av sporlengden" #: core/commandlineoptions.cpp:165 msgid "Seek the currently playing track to an absolute position" @@ -4456,7 +4374,7 @@ msgstr "Gå til et bestemt tidspunkt i sporet" #: ../bin/src/ui_behavioursettingspage.h:365 msgid "Seeking using a keyboard shortcut or mouse wheel" -msgstr "" +msgstr "Gå frem-/bakover ved bruk av en tastatursnarvei eller musehjulet" #: visualisations/visualisationselector.cpp:37 ../bin/src/ui_ripcddialog.h:309 msgid "Select All" @@ -4488,11 +4406,11 @@ msgstr "Velg visualiseringer" #: visualisations/visualisationcontainer.cpp:131 msgid "Select visualizations..." -msgstr "Velg visualiseringer..." +msgstr "Velg visualiseringer…" #: ../bin/src/ui_transcodedialog.h:232 ../bin/src/ui_ripcddialog.h:318 msgid "Select..." -msgstr "velg..." +msgstr "Velg…" #: devices/devicekitlister.cpp:126 devices/udisks2lister.cpp:77 msgid "Serial number" @@ -4514,18 +4432,18 @@ msgstr "Tjenerdetaljer" msgid "Service offline" msgstr "Tjenesten er utilgjengelig" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." -msgstr "Sett %1 to \"%2\"..." +msgstr "Sett %1 til \"%2\"…" #: core/commandlineoptions.cpp:160 msgid "Set the volume to percent" msgstr "Sett lydstyrken til prosent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." -msgstr "Sett verdi for alle de valgte sporene..." +msgstr "Sett verdi for alle valgte spor…" #: ../bin/src/ui_networkremotesettingspage.h:223 msgid "Settings" @@ -4552,7 +4470,7 @@ msgstr "Vis" #: core/globalshortcuts.cpp:67 wiimotedev/wiimotesettingspage.cpp:122 msgid "Show OSD" -msgstr "Vis display" +msgstr "Vis skjermbildeoverlegg" #: ../bin/src/ui_playbacksettingspage.h:340 msgid "Show a glowing animation on the current track" @@ -4560,37 +4478,37 @@ msgstr "Vis aura rundt gjeldende spor" #: ../bin/src/ui_appearancesettingspage.h:292 msgid "Show a moodbar in the track progress bar" -msgstr "Vis stemningsstolper i panelet for avspillingsfremgang." +msgstr "Vis stemningsstolper i panelet for avspillingsframdrift." #: ../bin/src/ui_notificationssettingspage.h:439 msgid "Show a native desktop notification" -msgstr "Vis en skrivebordsmelding som passer til ditt operativsystem" +msgstr "Vis en skrivebordsmeddelelse som passer inn i ditt operativsystem" #: ../bin/src/ui_notificationssettingspage.h:447 msgid "Show a notification when I change the repeat/shuffle mode" -msgstr "Vis en melding når jeg endrer gjentakelses- og stokke-modus" +msgstr "Vis en meddelelse når jeg endrer gjentakelses- og stokke -modus" #: ../bin/src/ui_notificationssettingspage.h:446 msgid "Show a notification when I change the volume" -msgstr "Vis informasjonsvinsu når jeg endrer lydstyrke" +msgstr "Vis en meddelelse når jeg endrer lydstyrke" #: ../bin/src/ui_notificationssettingspage.h:448 msgid "Show a notification when I pause playback" -msgstr "Vis melding når jeg pauser avspillingen" +msgstr "Vis meddelelse når jeg setter avspillingen på pause" #: ../bin/src/ui_notificationssettingspage.h:441 msgid "Show a popup from the system tray" -msgstr "Popp opp informasjon fra systemskuffa" +msgstr "Vis et oppsprettsvindu fra systemskuffa" #: ../bin/src/ui_notificationssettingspage.h:440 msgid "Show a pretty OSD" -msgstr "Vis en Clementine-spesifikk skrivebordsmelding" +msgstr "Vis et pent skjermbildeoverlegg" #: widgets/nowplayingwidget.cpp:142 msgid "Show above status bar" msgstr "Vis over statuslinja" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Vis alle sanger" @@ -4604,24 +4522,20 @@ msgstr "Vis albumbilder i biblioteket" #: ../bin/src/ui_librarysettingspage.h:209 msgid "Show dividers" -msgstr "Vis delere" +msgstr "Vis adskillere" #: ui/albumcoverchoicecontroller.cpp:72 widgets/prettyimage.cpp:183 msgid "Show fullsize..." -msgstr "Vis i fullskjerm..." +msgstr "Fullskjermsvisning…" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Gruppér søkeresultatet" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." -msgstr "Vis i filbehandler..." +msgstr "Vis i filbehandler…" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." -msgstr "Vis i bibliotek ..." +msgstr "Vis i bibliotek…" #: library/libraryview.cpp:426 msgid "Show in various artists" @@ -4629,31 +4543,27 @@ msgstr "Vis under Diverse Artister" #: moodbar/moodbarproxystyle.cpp:353 msgid "Show moodbar" -msgstr "Vis Stemningsstolpe" +msgstr "Vis stemningsstolpe" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" -msgstr "Vis bare duplikate" +msgstr "Bare vis duplikater" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" -msgstr "Vis bare filer uten tagger" +msgstr "Bare vis filer uten etiketter" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Vis sangen du spiller av, på siden din" +msgstr "Vis eller gjem sidefeltet" #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Vis søkeforslag" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" -msgstr "" +msgstr "Vis sidefelt" #: ../bin/src/ui_lastfmsettingspage.h:136 msgid "Show the \"love\" button" @@ -4661,7 +4571,7 @@ msgstr "Vis «elsker»-knappen" #: ../bin/src/ui_lastfmsettingspage.h:137 msgid "Show the scrobble button in the main window" -msgstr "Vis scrobble-knappen i hovedvinduet" +msgstr "Vis knappen for rapportering av lyttevaner i hovedvinduet" #: ../bin/src/ui_behavioursettingspage.h:312 msgid "Show tray icon" @@ -4669,7 +4579,7 @@ msgstr "Vis systemkurvikon" #: ../bin/src/ui_globalsearchsettingspage.h:148 msgid "Show which sources are enabled and disabled" -msgstr "Vis hvilke kilder som er på og hvilke som er av" +msgstr "Vis hvilke kilder som er på og av" #: core/globalshortcuts.cpp:66 msgid "Show/Hide" @@ -4687,7 +4597,7 @@ msgstr "Stokk om album" msgid "Shuffle all" msgstr "Stokk alle" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Stokk om spillelista" @@ -4705,7 +4615,7 @@ msgstr "Logg ut" #: ../bin/src/ui_loginstatewidget.h:171 msgid "Signing in..." -msgstr "Logger på..." +msgstr "Logger inn…" #: ../bin/src/ui_albumcoverexport.h:211 msgid "Size" @@ -4723,7 +4633,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Gå bakover i spillelista" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Antall ganger hoppet over" @@ -4731,17 +4641,17 @@ msgstr "Antall ganger hoppet over" msgid "Skip forwards in playlist" msgstr "Gå fremover i spillelista" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Hopp over valgte spor" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Hopp over spor" #: widgets/nowplayingwidget.cpp:98 msgid "Small album cover" -msgstr "Lite albumbilde" +msgstr "Lite albumomslag" #: widgets/fancytabwidget.cpp:643 msgid "Small sidebar" @@ -4761,13 +4671,13 @@ msgstr "Myk" #: ui/equalizer.cpp:154 msgid "Soft Rock" -msgstr "Soft Rock" +msgstr "Soft rock" #: ../bin/src/ui_songinfosettingspage.h:153 msgid "Song Information" -msgstr "Informasjon om sange" +msgstr "Sanginformasjon" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Info om sangen" @@ -4803,7 +4713,7 @@ msgstr "Sortering" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Kilde" @@ -4826,19 +4736,19 @@ msgstr "Kunne ikke logge på Spotify" #: internet/spotify/spotifyservice.cpp:844 msgid "Spotify playlist's URL" -msgstr "Link til Spotify-spillelisten" +msgstr "Lenke til Spotify-spillelisten" #: ../bin/src/ui_spotifysettingspage.h:211 msgid "Spotify plugin" -msgstr "Spotify-modul" +msgstr "Spotify-programtillegg" #: internet/spotify/spotifyblobdownloader.cpp:71 msgid "Spotify plugin not installed" -msgstr "Har ikke installert Spotify-modul" +msgstr "Spotify-programtillegg er ikke installert" #: internet/spotify/spotifyservice.cpp:835 msgid "Spotify song's URL" -msgstr "Link til Spotify-sangen" +msgstr "Lenke til Spotify-sporet" #: ../bin/src/ui_transcoderoptionsmp3.h:200 msgid "Standard" @@ -4855,18 +4765,18 @@ msgstr "Start ripping" #: core/commandlineoptions.cpp:154 msgid "Start the playlist currently playing" -msgstr "Begynn på spillelista nå" +msgstr "Begynn på spillelista som spilles nå" #: transcoder/transcodedialog.cpp:90 msgid "Start transcoding" -msgstr "Start koding" +msgstr "Start omkoding" #: internet/soundcloud/soundcloudservice.cpp:121 #: internet/spotify/spotifyservice.cpp:410 msgid "" "Start typing something on the search box above to fill this search results " "list" -msgstr "Skriv noe i søkeboksen over for å fylle denne resultatlisten" +msgstr "Skriv noe i søkeboksen ovenfor for å fylle denne resultatlisten" #: transcoder/transcoder.cpp:397 #, qt-format @@ -4875,10 +4785,10 @@ msgstr "Starter %1" #: internet/magnatune/magnatunedownloaddialog.cpp:128 msgid "Starting..." -msgstr "Starter …" +msgstr "Starter…" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Stopp" @@ -4894,7 +4804,7 @@ msgstr "Stopp etter hvert spor" msgid "Stop after every track" msgstr "Stopp etter hvert spor" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Stopp etter denne sangen" @@ -4904,11 +4814,11 @@ msgstr "Stopp avspilling" #: core/commandlineoptions.cpp:157 msgid "Stop playback after current track" -msgstr "" +msgstr "Stopp avspilling etter dette sporet" #: core/globalshortcuts.cpp:55 msgid "Stop playing after current track" -msgstr "Stopp avspilling etter gjeldende spor" +msgstr "Stopp avspilling etter dette sporet" #: widgets/osd.cpp:174 #, qt-format @@ -4923,28 +4833,32 @@ msgstr "Stoppet" msgid "Stream" msgstr "Strøm" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " "30-day trial period." -msgstr "Streaming fra en Subsonic-server krever en gyldig tjenerlisens etter prøveperioden på 30 dager." +msgstr "Strømming fra en Subsonic-tjener krever en gyldig tjenerlisens etter prøveperioden på 30 dager." #: ../bin/src/ui_magnatunesettingspage.h:159 msgid "Streaming membership" -msgstr "Streaming-medlemskap" +msgstr "Strømmings-medlemskap" #: ../bin/src/ui_podcastinfowidget.h:195 msgid "Subscribers" -msgstr "Abonnente" +msgstr "Abonnenter" #: internet/subsonic/subsonicservice.cpp:149 #: ../bin/src/ui_subsonicsettingspage.h:123 msgid "Subsonic" -msgstr "Subson" +msgstr "Subsonic" #: ../data/oauthsuccess.html:36 msgid "Success!" -msgstr "Lykkes!" +msgstr "Suksess!" #: transcoder/transcoder.cpp:189 #, qt-format @@ -4953,7 +4867,7 @@ msgstr "Skrev %1" #: ui/trackselectiondialog.cpp:167 msgid "Suggested tags" -msgstr "Foreslåtte tagger" +msgstr "Foreslåtte etiketter" #: ../bin/src/ui_edittagdialog.h:717 #: ../bin/src/ui_notificationssettingspage.h:454 @@ -4964,7 +4878,7 @@ msgstr "Sammendrag" #: visualisations/visualisationcontainer.cpp:113 #, qt-format msgid "Super high (%1 fps)" -msgstr "Super-høy (%1 bilder/sek)" +msgstr "Superhøy (%1 bilder/sek)" #: visualisations/visualisationcontainer.cpp:126 msgid "Super high (2048x2048)" @@ -4976,7 +4890,7 @@ msgstr "Støttede formater" #: ../bin/src/ui_librarysettingspage.h:200 msgid "Synchronize statistics to files now" -msgstr "Synkronisér statistikk til filene nå" +msgstr "Synkroniser statistikk til filer nå" #: internet/spotify/spotifyservice.cpp:708 msgid "Syncing Spotify inbox" @@ -4988,7 +4902,7 @@ msgstr "Synkroniserer Spotify-spillelista" #: internet/spotify/spotifyservice.cpp:713 msgid "Syncing Spotify starred tracks" -msgstr "Synkroniserer spor med sterner mot Spotify" +msgstr "Synkroniserer spor med stjerner mot Spotify" #: moodbar/moodbarrenderer.cpp:177 msgid "System colors" @@ -4996,11 +4910,11 @@ msgstr "Systemfarger" #: widgets/fancytabwidget.cpp:645 msgid "Tabs on top" -msgstr "Fliker på toppen" +msgstr "Faner på toppen" #: ../bin/src/ui_trackselectiondialog.h:203 msgid "Tag fetcher" -msgstr "Tagg-henter" +msgstr "Etikett-henter" #: ../bin/src/ui_transcoderoptionsvorbis.h:203 msgid "Target bitrate" @@ -5021,16 +4935,20 @@ msgstr "Takk til" #: ui/globalshortcutssettingspage.cpp:170 #, qt-format msgid "The \"%1\" command could not be started." -msgstr "Kunne ikke starte kommandoen \"%1\"" +msgstr "Kunne ikke starte kommandoen \"%1\"." #: ../bin/src/ui_appearancesettingspage.h:281 msgid "The album cover of the currently playing song" -msgstr "Albumgrafikken til sangen som spilles av i øyeblikket" +msgstr "Albumomslaget til sangen som spilles av for øyeblikket" #: internet/magnatune/magnatunedownloaddialog.cpp:98 #, qt-format msgid "The directory %1 is not valid" -msgstr "Katalogen %1 er ikke gyldig" +msgstr "Mappa %1 er ugyldig" + +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5038,33 +4956,33 @@ msgstr "Den andre verdien må være større enn den første!" #: ui/coverfromurldialog.cpp:71 msgid "The site you requested does not exist!" -msgstr "Siden du spesifiserte, finnes ikke!" +msgstr "Siden du forespurte finnes ikke!" #: ui/coverfromurldialog.cpp:83 msgid "The site you requested is not an image!" -msgstr "Stedet du spesifiserte, er ikke et bilde!" +msgstr "Siden du forespurte er ikke et bilde!" #: internet/subsonic/subsonicsettingspage.cpp:117 msgid "" "The trial period for the Subsonic server is over. Please donate to get a " "license key. Visit subsonic.org for details." -msgstr "Prøveperioden for Subsonic er over. Vennligst gi en donasjon for å få en lisensnøkkel. Besøk subsonic.org for mer informasjon." +msgstr "Prøveperioden for Subsonic er over. Gi en donasjon for å få en lisensnøkkel. Besøk subsonic.org for mer informasjon." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" -msgstr "Fordi du har oppdatert Clementine til en nyere versjon, må hele lydbiblioteket sees gjennom på nytt. Grunnen er følgende nye funksjoner:" +msgstr "Fordi du har oppdatert Clementine til en nyere versjon, må hele lydbiblioteket søkes gjennom på nytt, som følge av disse nye funksjonene:" #: library/libraryview.cpp:562 msgid "There are other songs in this album" -msgstr "Ingen andre sanger i dette albumet" +msgstr "Det er andre sanger i dette albumet" #: internet/podcasts/gpoddersearchpage.cpp:78 #: internet/podcasts/gpoddertoptagsmodel.cpp:104 #: internet/podcasts/gpoddertoptagspage.cpp:74 msgid "There was a problem communicating with gpodder.net" -msgstr "Kommunikasjonsproblemer med gpodder.net" +msgstr "Støtte på kommunikasjonsproblemer med gpodder.net" #: internet/magnatune/magnatunedownloaddialog.cpp:167 msgid "There was a problem fetching the metadata from Magnatune" @@ -5078,13 +4996,13 @@ msgstr "Forstod ikke svaret fra iTunes Store" msgid "" "There were problems copying some songs. The following files could not be " "copied:" -msgstr "Fikk problemer med å kopiere enkelte sanger. Følgende kunne ikke kopieres:" +msgstr "Fikk problemer med å kopiere enkelte sanger. Følgende filer kunne ikke kopieres:" #: ui/organiseerrordialog.cpp:61 msgid "" "There were problems deleting some songs. The following files could not be " "deleted:" -msgstr "Fikk problemer med å slette enkelte sanger. Følgende kunne ikke slettes:" +msgstr "Fikk problemer med å slette enkelte sanger. Følgende filer kunne ikke slettes:" #: devices/deviceview.cpp:409 msgid "" @@ -5092,11 +5010,11 @@ msgid "" "continue?" msgstr "Filene vil bli slettet fra enheten. Er du sikker?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" -msgstr "Disse filene vil bli slettet helt fra disken, er du sikker?" +msgstr "Disse filene vil bli slettet fra disken for godt, er du sikker?" #: ../bin/src/ui_librarysettingspage.h:186 msgid "These folders will be scanned for music to make up your library" @@ -5106,11 +5024,11 @@ msgstr "Disse katalogene vil skannes for musikk som kan legges til biblioteket d msgid "" "These settings are used in the \"Transcode Music\" dialog, and when " "converting music before copying it to a device." -msgstr "Disse innstillingene brukes i \"Kode musikk\"-dialogvinduet, og når musikken kodes før kopiering til en enhet." +msgstr "Disse innstillingene brukes i \"Omkod musikk\"-dialogvinduet, og når musikken omkodes før kopiering til en enhet." #: library/savedgroupingmanager.cpp:38 msgid "Third Level" -msgstr "" +msgstr "Tredje nivå" #: ../bin/src/ui_groupbydialog.h:162 msgid "Third level" @@ -5120,15 +5038,15 @@ msgstr "Tredje nivå" msgid "" "This action will create a database which could be as big as 150 MB.\n" "Do you want to continue anyway?" -msgstr "Dette oppretter en database som kan bli inntil 150MB stor.\nEr du sikker?" +msgstr "Dette oppretter en database som kan bli inntil 150MB.\nEr du sikker?" #: internet/magnatune/magnatunedownloaddialog.cpp:194 msgid "This album is not available in the requested format" -msgstr "Dette albumet er ikke tilgjengelig i formatet du bad om" +msgstr "Dette albumet er ikke tilgjengelig i det formatet du bad om" #: ../bin/src/ui_playlistsaveoptionsdialog.h:97 msgid "This can be changed later through the preferences" -msgstr "Dette kan endres i instillingene senere" +msgstr "Dette kan endres i innstillingene seinere" #: ../bin/src/ui_deviceproperties.h:380 msgid "" @@ -5157,7 +5075,7 @@ msgstr "Dette er en iPod, men Clementine ble kompilert uten libgpod-støtte." msgid "" "This is the first time you have connected this device. Clementine will now " "scan the device to find music files - this may take some time." -msgstr "Det er første gang du kobler til denne enheten. Clementine ser nå gjennom enheten for å finne musikkfiler. Dette kan ta noe tid." +msgstr "Det er første gang du kobler til denne enheten. Clementine skanner enheten for musikkfiler. Dette kan ta noe tid." #: playlist/playlisttabbar.cpp:197 msgid "This option can be changed in the \"Behavior\" preferences" @@ -5165,7 +5083,7 @@ msgstr "Dette valget kan endres under innstillinger for \"Oppførsel\"" #: internet/lastfm/lastfmservice.cpp:265 msgid "This stream is for paid subscribers only" -msgstr "Denne tjenesten er kun for betalende kunder" +msgstr "Denne strømmen er kun for betalende kunder" #: devices/devicemanager.cpp:600 #, qt-format @@ -5174,9 +5092,9 @@ msgstr "Denne enhetstypen (%1) støttes ikke." #: ../bin/src/ui_behavioursettingspage.h:366 msgid "Time step" -msgstr "" +msgstr "Tidstrinn" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5189,23 +5107,23 @@ msgstr "I dag" #: core/globalshortcuts.cpp:69 msgid "Toggle Pretty OSD" -msgstr "Slå av/på Pent Display" +msgstr "Slå av/på pent skjermbildeoverlegg" #: visualisations/visualisationcontainer.cpp:102 msgid "Toggle fullscreen" -msgstr "Slå av/på fullskjerm-modus" +msgstr "Slå av/på fullskjermsmodus" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Slå av/på køstatus" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Slå av/på deling av lyttevaner" #: core/commandlineoptions.cpp:177 msgid "Toggle visibility for the pretty on-screen-display" -msgstr "Slå av/på Pent Display" +msgstr "Slå av/på synlighet for det pene skjermbildeoverlegget" #: core/utilities.cpp:150 msgid "Tomorrow" @@ -5217,7 +5135,7 @@ msgstr "For mange videresendinger" #: internet/subsonic/subsonicservice.cpp:109 msgid "Top Rated" -msgstr "" +msgstr "Beste skussmål" #: internet/spotify/spotifyservice.cpp:431 msgid "Top tracks" @@ -5229,17 +5147,17 @@ msgstr "Totalt antall album:" #: covers/coversearchstatisticsdialog.cpp:70 msgid "Total bytes transferred" -msgstr "Totalt overført, bytes" +msgstr "Antall Byte overført totalt" #: covers/coversearchstatisticsdialog.cpp:67 msgid "Total network requests made" -msgstr "Totalt antall forespørsler over nettet" +msgstr "Antall nettverksforespørsler totalt" #: ../bin/src/ui_edittagdialog.h:720 msgid "Trac&k" -msgstr "" +msgstr "&Spor" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Spor" @@ -5248,9 +5166,9 @@ msgstr "Spor" msgid "Tracks" msgstr "Spor" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" -msgstr "Bytt musikk format" +msgstr "Omkod musikk" #: ../bin/src/ui_transcodelogdialog.h:62 msgid "Transcoder Log" @@ -5263,7 +5181,7 @@ msgstr "Omkoding" #: transcoder/transcoder.cpp:317 #, qt-format msgid "Transcoding %1 files using %2 threads" -msgstr "Koder om %1 filer i %2 tråder" +msgstr "Omkoder %1 filer i %2 tråder" #: ../bin/src/ui_transcoderoptionsdialog.h:53 msgid "Transcoding options" @@ -5275,7 +5193,7 @@ msgstr "TrueAudio" #: analyzers/turbine.cpp:35 msgid "Turbine" -msgstr "Turbin" +msgstr "Turbine" #: ../bin/src/ui_dynamicplaylistcontrols.h:112 msgid "Turn off" @@ -5285,13 +5203,17 @@ msgstr "Slå av" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(er)" #: devices/udisks2lister.cpp:80 msgid "UUID" -msgstr "" +msgstr "UUID" #: ../bin/src/ui_transcoderoptionsspeex.h:227 msgid "Ultra wide band (UWB)" @@ -5310,9 +5232,9 @@ msgstr "Kunne ikke laste ned %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Ukjent" @@ -5327,13 +5249,13 @@ msgstr "Ukjent feil" #: ui/albumcoverchoicecontroller.cpp:69 msgid "Unset cover" -msgstr "Fjern omslaget" +msgstr "Fjern omslagsvalg" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Ikke hopp over de valgte sporene" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Ikke hopp over sporet" @@ -5346,25 +5268,21 @@ msgstr "Avmeld" msgid "Upcoming Concerts" msgstr "Fremtidige konserter" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Oppdater" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" -msgstr "Oppdater alle podcaster" +msgstr "Oppdater alle nettradioopptak" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" -msgstr "Oppdater endringer i bibliotek mapper" +msgstr "Oppdater endrede bibliotekmapper" #: ../bin/src/ui_librarysettingspage.h:190 msgid "Update the library when Clementine starts" -msgstr "Oppdater biblioteket når Clementine starte" +msgstr "Oppdater biblioteket når Clementine starter" #: internet/podcasts/podcastservice.cpp:429 msgid "Update this podcast" -msgstr "Oppdater denne podcasten" +msgstr "Oppdater dette nettradioopptaket" #: ../bin/src/ui_podcastsettingspage.h:251 msgid "Updating" @@ -5390,7 +5308,7 @@ msgstr "Bruk" #: ../bin/src/ui_lastfmsettingspage.h:138 msgid "Use Album Artist tag when available" -msgstr "Bruk Albumartist-taggen når tilgjengelig" +msgstr "Bruk albumartist-etiketten når tilgjengelig" #: ../bin/src/ui_globalshortcutssettingspage.h:167 msgid "Use Gnome's shortcut keys" @@ -5410,7 +5328,7 @@ msgstr "Bruk SSLv3" #: ../bin/src/ui_wiimotesettingspage.h:179 msgid "Use Wii Remote" -msgstr "Bruk Wii-fjernkontroll" +msgstr "Bruk Wii-kontroller" #: ../bin/src/ui_appearancesettingspage.h:273 msgid "Use a custom color set" @@ -5418,7 +5336,7 @@ msgstr "Bruk egendefinert fargedrakt" #: ../bin/src/ui_notificationssettingspage.h:451 msgid "Use a custom message for notifications" -msgstr "Bruk egendefinert meldingstype for beskjeder" +msgstr "Bruk egendefinert melding for meddelelser" #: ../bin/src/ui_networkremotesettingspage.h:222 msgid "Use a network remote control" @@ -5438,33 +5356,33 @@ msgstr "Bruk dynamisk modus" #: ../bin/src/ui_wiimotesettingspage.h:178 msgid "Use notifications to report Wii Remote status" -msgstr "Vis meldinger om Wii-fjernkontrollen" +msgstr "Bruk meddelelser til å vise Wii-kontrollerstatus" #: ../bin/src/ui_transcoderoptionsaac.h:138 msgid "Use temporal noise shaping" -msgstr "Bruk \"temporal noise shaping\"" +msgstr "Bruk midlertidig støyforming" #: ../bin/src/ui_behavioursettingspage.h:319 msgid "Use the system default" -msgstr "Bruk systemstandard" +msgstr "Bruk systemforvalg" #: ../bin/src/ui_appearancesettingspage.h:272 msgid "Use the system default color set" -msgstr "Bruk systemets fargedrakt" +msgstr "Bruk systemets forvalgte fargedrakt" #: ../bin/src/ui_networkproxysettingspage.h:157 msgid "Use the system proxy settings" -msgstr "Bruk standard proxy-innstillinger" +msgstr "Bruk forvalgte mellomtjener-innstillinger" #: ../bin/src/ui_spotifysettingspage.h:217 msgid "Use volume normalisation" -msgstr "Bruk normalisering" +msgstr "Bruk lydstyrke-normalisering" #: widgets/freespacebar.cpp:46 msgid "Used" msgstr "Brukt" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Brukergrensesnit" @@ -5478,7 +5396,7 @@ msgstr "Brukernavn" #: ../bin/src/ui_behavioursettingspage.h:332 msgid "Using the menu to add a song will..." -msgstr "Hvis du bruker menyen for å legge til en sang..." +msgstr "Bruk av menyen for å legge til et spor vil…" #: ../bin/src/ui_magnatunedownloaddialog.h:138 #: ../bin/src/ui_magnatunesettingspage.h:172 @@ -5490,7 +5408,7 @@ msgid "Variable bit rate" msgstr "Variabel bitrate" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Diverse artister" @@ -5503,21 +5421,21 @@ msgstr "Versjon %1" msgid "View" msgstr "Vis" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Visualiseringsmodus" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualiseringer" #: ../bin/src/ui_visualisationoverlay.h:184 msgid "Visualizations Settings" -msgstr "Innstillinger for visualisering" - -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" +msgstr "Visualiseringsinnstillinger" #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" @@ -5541,13 +5459,9 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Vegg" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" -msgstr "Advarsel når jeg lukker en spilleliste-flik" +msgstr "Advarsel når jeg lukker en spilleliste-fane" #: core/song.cpp:424 transcoder/transcoder.cpp:256 msgid "Wav" @@ -5555,7 +5469,7 @@ msgstr "WAV" #: ../bin/src/ui_podcastinfowidget.h:192 msgid "Website" -msgstr "Webside" +msgstr "Nettside" #: smartplaylists/searchterm.cpp:407 msgid "Weeks" @@ -5569,7 +5483,7 @@ msgstr "Når Clementine starter" msgid "" "When looking for album art Clementine will first look for picture files that contain one of these words.\n" "If there are no matches then it will use the largest image in the directory." -msgstr "Clementine søker først etter albumbilder som inneholder et av disse ordene.\nHvis ingen ord passer, blir det største bildet i katalogen brukt." +msgstr "Clementine søker først etter billedfiler som inneholder ett av disse ordene.\nHvis ingen ord passer, blir det største bildet i mappa brukt." #: ../bin/src/ui_behavioursettingspage.h:369 msgid "When saving a playlist, file paths should be" @@ -5577,11 +5491,11 @@ msgstr "Når du lagrer spillelisten, skal filplasseringen" #: ../bin/src/ui_globalsearchsettingspage.h:147 msgid "When the list is empty..." -msgstr "Når listen er tom..." +msgstr "Når lista er tom…" #: ../bin/src/ui_globalsearchview.h:211 msgid "Why not try..." -msgstr "Hvorfor ikke prøve..." +msgstr "Hvorfor ikke prøve…" #: ../bin/src/ui_transcoderoptionsspeex.h:228 msgid "Wide band (WB)" @@ -5590,32 +5504,32 @@ msgstr "Bredbånd (WB)" #: widgets/osd.cpp:245 #, qt-format msgid "Wii Remote %1: actived" -msgstr "Wii-fjernkontroll %1: aktivert" +msgstr "Wii-kontroller %1: påslått" #: widgets/osd.cpp:257 #, qt-format msgid "Wii Remote %1: connected" -msgstr "Wii-fjernkontroll %1: tilkoblet" +msgstr "Wii-kontroller %1: tilkoblet" #: widgets/osd.cpp:276 #, qt-format msgid "Wii Remote %1: critical battery (%2%) " -msgstr "Wii-fjernkontroll %1: lavt batteri (%2%)" +msgstr "Wii-kontroller %1: kritiskt lavt batterinivå (%2%)" #: widgets/osd.cpp:251 #, qt-format msgid "Wii Remote %1: disactived" -msgstr "Wii-fjernkontroll %1: deaktivert" +msgstr "Wii-kontroller %1: avskrudd" #: widgets/osd.cpp:263 #, qt-format msgid "Wii Remote %1: disconnected" -msgstr "Wii-fjernkontroll %1: frakoblet" +msgstr "Wii-kontroller %1: frakoblet" #: widgets/osd.cpp:269 #, qt-format msgid "Wii Remote %1: low battery (%2%)" -msgstr "Wii-fjernkontroll %1: lavt batteri (%2%)" +msgstr "Wii-kontroller %1: lavt batterinivå (%2%)" #: ../bin/src/ui_wiimotesettingspage.h:172 msgid "Wiimotedev" @@ -5627,7 +5541,7 @@ msgstr "Windows Media 128k" #: ../bin/src/ui_digitallyimportedsettingspage.h:171 msgid "Windows Media 40k" -msgstr "Windows Media, 40k" +msgstr "Windows Media 40k" #: ../bin/src/ui_digitallyimportedsettingspage.h:179 msgid "Windows Media 64k" @@ -5645,11 +5559,11 @@ msgstr "Uten omslag:" msgid "" "Would you like to move the other songs in this album to Various Artists as " "well?" -msgstr "Ønsker du å flytte også resten av sangene i dette albumet til Diverse Artister?" +msgstr "Ønsker du å også flytte resten av sangene fra albumet til Diverse artister?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" -msgstr "Vil du se gjennom hele biblioteket på ny nå?" +msgstr "Vil du søke gjennom hele biblioteket på ny nå?" #: library/librarysettingspage.cpp:154 msgid "Write all songs statistics into songs' files" @@ -5663,7 +5577,7 @@ msgstr "Skriv metadata" msgid "Wrong username or password." msgstr "Ugyldig brukernavn og/eller passord" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 @@ -5673,7 +5587,7 @@ msgstr "År" #: library/savedgroupingmanager.cpp:68 ../bin/src/ui_groupbydialog.h:136 #: ../bin/src/ui_groupbydialog.h:155 ../bin/src/ui_groupbydialog.h:174 msgid "Year - Album" -msgstr "År - Album" +msgstr "År - album" #: smartplaylists/searchterm.cpp:411 msgid "Years" @@ -5685,7 +5599,7 @@ msgstr "I går" #: ../bin/src/ui_magnatunedownloaddialog.h:128 msgid "You are about to download the following albums" -msgstr "Du kommer nå til å laste ned følgende album" +msgstr "Du er i ferd med å laste ned følgende album" #: playlist/playlistlistcontainer.cpp:318 #, qt-format @@ -5701,16 +5615,16 @@ msgstr "Du er i ferd med å slette en spilleliste som ikke er lagret i Favoritte #: ../bin/src/ui_loginstatewidget.h:168 msgid "You are not signed in." -msgstr "Du har ikke logget på." +msgstr "Du har ikke logget inn." #: widgets/loginstatewidget.cpp:77 #, qt-format msgid "You are signed in as %1." -msgstr "Du er pålogget som %1." +msgstr "Du er innlogget som %1." #: widgets/loginstatewidget.cpp:74 msgid "You are signed in." -msgstr "Du er pålogget" +msgstr "Du er innlogget" #: ../bin/src/ui_groupbydialog.h:122 msgid "You can change the way the songs in the library are organised." @@ -5731,15 +5645,15 @@ msgid "" "You can use your Wii Remote as a remote control for Clementine. See the page on the " "Clementine wiki for more information.\n" -msgstr "Du kan bruke Wii-fjernkontrollen som fjernkontroll for Clementine. Se wiki-siden for Clementine for mer informasjon.\n" +msgstr "Du kan bruke Wii-kontrolleren som fjernkontroll for Clementine. Se Clementine-wikien for mer informasjon.\n" #: internet/spotify/spotifysettingspage.cpp:149 msgid "You do not have a Spotify Premium account." -msgstr "Du har ikke noen Spotify Premium-konto." +msgstr "Du har ikke en Spotify Premium-konto." #: internet/digitally/digitallyimportedclient.cpp:96 msgid "You do not have an active subscription" -msgstr "Du har ikke noe aktivt abonnement" +msgstr "Du har ikke et aktivt abonnement" #: ../bin/src/ui_soundcloudsettingspage.h:101 msgid "" @@ -5752,11 +5666,11 @@ msgstr "Du trenger ikke være pålogget for å søke etter og lytte til musikk p msgid "" "You have been logged out of Spotify, please re-enter your password in the " "Settings dialog." -msgstr "Du har logget ut av Spotify; skriv inn ditt passord i dialogvinduet \"Innstillinger\"." +msgstr "Du har logget ut av Spotify; skriv inn passordet ditt i dialogvinduet \"Innstillinger\"." #: internet/spotify/spotifysettingspage.cpp:160 msgid "You have been logged out of Spotify, please re-enter your password." -msgstr "Du har logget ut av Spotify; skriv inn dit passord igjen." +msgstr "Du har logget ut av Spotify; skriv inn passordet ditt igjen." #: songinfo/lastfmtrackinfoprovider.cpp:85 msgid "You love this track" @@ -5787,7 +5701,7 @@ msgstr "Feil med din Magnatune-brukerinformasjon" #: library/libraryview.cpp:353 msgid "Your library is empty!" -msgstr "Ditt bibliotek er tomt!" +msgstr "Biblioteket ditt er tomt!" #: globalsearch/savedradiosearchprovider.cpp:26 #: internet/internetradio/savedradio.cpp:53 @@ -5797,7 +5711,7 @@ msgstr "Dine radiokanaler" #: songinfo/lastfmtrackinfoprovider.cpp:87 #, qt-format msgid "Your scrobbles: %1" -msgstr "Dine delte lyttevaner (\"scrobbles\"): %1" +msgstr "Dine delte lyttevaner: %1" #: visualisations/visualisationcontainer.cpp:159 msgid "Your system is missing OpenGL support, visualizations are unavailable." @@ -5805,7 +5719,7 @@ msgstr "Systemet ditt har ikke OpenGL-støtte, og kan derfor ikke kjøre visuali #: internet/spotify/spotifysettingspage.cpp:155 msgid "Your username or password was incorrect." -msgstr "Feil med din brukerinformasjon" +msgstr "Ditt brukernavn eller passord var uriktig." #: smartplaylists/searchterm.cpp:382 msgid "Z-A" @@ -5894,7 +5808,7 @@ msgstr "større enn" #: ../bin/src/ui_deviceviewcontainer.h:98 msgid "iPods and USB devices currently don't work on Windows. Sorry!" -msgstr "iPod'er og USB-enheter fungerer dessverre ikke i Windows for øyeblikket." +msgstr "iPod-er og USB-enheter fungerer dessverre ikke i Windows for øyeblikket." #: smartplaylists/searchterm.cpp:225 msgid "in the last" @@ -5909,7 +5823,7 @@ msgstr "kbps" #: smartplaylists/searchterm.cpp:247 msgid "less than" -msgstr "mindre en" +msgstr "mindre enn" #: smartplaylists/searchterm.cpp:388 msgid "longest first" @@ -5927,7 +5841,7 @@ msgstr "nyeste først" #: smartplaylists/searchterm.cpp:251 msgid "not equals" -msgstr "ikke lik" +msgstr "er ikke lik" #: smartplaylists/searchterm.cpp:227 msgid "not in the last" @@ -5935,7 +5849,7 @@ msgstr "ikke i de siste" #: smartplaylists/searchterm.cpp:223 msgid "not on" -msgstr "ikke den" +msgstr "ikke på" #: smartplaylists/searchterm.cpp:384 msgid "oldest first" @@ -5943,7 +5857,7 @@ msgstr "eldste først" #: smartplaylists/searchterm.cpp:221 msgid "on" -msgstr "de" +msgstr "på" #: core/commandlineoptions.cpp:152 msgid "options" @@ -5951,7 +5865,7 @@ msgstr "innstillinger" #: ../bin/src/ui_networkremotesettingspage.h:253 msgid "or scan the QR code!" -msgstr "eller scan QR-koden!" +msgstr "eller skann QR-koden!" #: widgets/didyoumean.cpp:56 msgid "press enter" @@ -5961,7 +5875,7 @@ msgstr "trykk Enter" #, c-format, qt-plural-format msgctxt "" msgid "remove %n songs" -msgstr "fjern %n sange" +msgstr "fjern %n sanger" #: smartplaylists/searchterm.cpp:387 msgid "shortest first" @@ -5969,7 +5883,7 @@ msgstr "korteste først" #: playlist/playlistundocommands.cpp:106 msgid "shuffle songs" -msgstr "Stokkemodus" +msgstr "stokk spor" #: smartplaylists/searchterm.cpp:391 msgid "smallest first" @@ -5977,11 +5891,11 @@ msgstr "minste først" #: playlist/playlistundocommands.cpp:100 msgid "sort songs" -msgstr "Sortér sanger" +msgstr "sorter sanger" #: smartplaylists/searchterm.cpp:241 msgid "starts with" -msgstr "begynner me" +msgstr "begynner med" #: playlist/playlistdelegates.cpp:180 msgid "stop" diff --git a/src/translations/nl.po b/src/translations/nl.po index 9610b0a3d..cec4028fe 100644 --- a/src/translations/nl.po +++ b/src/translations/nl.po @@ -16,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 19:42+0000\n" -"Last-Translator: Senno Kaasjager \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Dutch (http://www.transifex.com/davidsansome/clementine/language/nl/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -72,11 +72,6 @@ msgstr " seconden" msgid " songs" msgstr " nummers" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 nummers)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -108,7 +103,7 @@ msgstr "%1 op %2" msgid "%1 playlists (%2)" msgstr "%1 afspeellijsten (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 geselecteerd van" @@ -133,7 +128,7 @@ msgstr "%1 nummers gevonden" msgid "%1 songs found (showing %2)" msgstr "%1 nummers gevonden (%2 worden weergegeven)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 nummers" @@ -193,7 +188,7 @@ msgstr "&Centreren" msgid "&Custom" msgstr "Aan&gepast" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extra's" @@ -201,7 +196,7 @@ msgstr "&Extra's" msgid "&Grouping" msgstr "&Groepering" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Hulp" @@ -226,7 +221,7 @@ msgstr "Waardering vergrendelen" msgid "&Lyrics" msgstr "Songteksten" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Muziek" @@ -234,15 +229,15 @@ msgstr "&Muziek" msgid "&None" msgstr "Gee&n" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Afspeellijst" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Afsluiten" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Herhaalmodus" @@ -250,7 +245,7 @@ msgstr "&Herhaalmodus" msgid "&Right" msgstr "&Rechts" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Willekeurige modus" @@ -258,7 +253,7 @@ msgstr "&Willekeurige modus" msgid "&Stretch columns to fit window" msgstr "Kolommen &uitstrekken totdat ze het venster vullen" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Hulpmiddelen" @@ -294,7 +289,7 @@ msgstr "0px" msgid "1 day" msgstr "1 dag" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 nummer" @@ -438,11 +433,11 @@ msgstr "Afbreken" msgid "About %1" msgstr "Over %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Over Clementine…" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Over Qt…" @@ -452,7 +447,7 @@ msgid "Absolute" msgstr "Absoluut" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Account gegevens" @@ -506,19 +501,19 @@ msgstr "Nog een radiostream toevoegen…" msgid "Add directory..." msgstr "Map toevoegen…" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Bestand toevoegen" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Bestand toevoegen voor conversie." -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Bestand(en) toevoegen voor conversie." -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Bestand toevoegen…" @@ -526,12 +521,12 @@ msgstr "Bestand toevoegen…" msgid "Add files to transcode" msgstr "Te converteren bestanden toevoegen" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Map toevoegen" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Map toevoegen…" @@ -543,7 +538,7 @@ msgstr "Nieuwe map toevoegen…" msgid "Add podcast" msgstr "Voeg podcast toe" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Voeg podcast toe..." @@ -611,10 +606,6 @@ msgstr "Aantal maal overgeslagen toevoegen" msgid "Add song title tag" msgstr "Titel-label toevoegen" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Nummer toevoegen aan cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Nummer-label toevoegen" @@ -623,18 +614,10 @@ msgstr "Nummer-label toevoegen" msgid "Add song year tag" msgstr "Jaar-label toevoegen" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Nummers toevoegen aan \"Mijn Muziek\" als de \"Mooi\" knop is aangeklikt" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Radiostream toevoegen…" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Toevoegen aan Mijn Muziek" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Aan Spotify afspeellijsten toevoegen" @@ -643,14 +626,10 @@ msgstr "Aan Spotify afspeellijsten toevoegen" msgid "Add to Spotify starred" msgstr "Aan favoriete Spotify-nummers toevoegen" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Aan een andere afspeellijst toevoegen" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Toevoegen aan bladwijzers" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Aan afspeellijst toevoegen" @@ -660,10 +639,6 @@ msgstr "Aan afspeellijst toevoegen" msgid "Add to the queue" msgstr "Aan de wachtrij toevoegen" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Voeg gebruiker/groep toe aan bladwijzers" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Wiimotedev-actie toevoegen" @@ -701,7 +676,7 @@ msgstr "Na" msgid "After copying..." msgstr "Na het kopiëren…" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -714,7 +689,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (ideaal volume voor alle nummers)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -729,10 +704,6 @@ msgstr "Albumhoes" msgid "Album info on jamendo.com..." msgstr "Albuminfo op jamendo.com…" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albums" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albums met albumhoes" @@ -745,11 +716,11 @@ msgstr "Albums zonder albumhoes" msgid "All" msgstr "Alle" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Alle bestanden (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "All Glory to the Hypnotoad!" @@ -874,7 +845,7 @@ msgid "" "the songs of your library?" msgstr "Weet u zeker dat u de waarderingen en statistieken in alle bestanden van uw muziekbibliotheek wilt opslaan?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -883,7 +854,7 @@ msgstr "Weet u zeker dat u de waarderingen en statistieken in alle bestanden van msgid "Artist" msgstr "Artiest" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Artiestinfo" @@ -954,7 +925,7 @@ msgstr "Gemiddelde afbeeldinggrootte" msgid "BBC Podcasts" msgstr "BBC Podcasts" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1011,7 +982,8 @@ msgstr "Beste" msgid "Biography" msgstr "Biografie" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitrate" @@ -1064,7 +1036,7 @@ msgstr "Bladeren…" msgid "Buffer duration" msgstr "Buffer duur" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Bufferen" @@ -1088,19 +1060,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE-sheet ondersteuning" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Cachepad:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Bezig met cachen" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Bezig met %1 cachen" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Annuleren" @@ -1109,12 +1068,6 @@ msgstr "Annuleren" msgid "Cancel download" msgstr "Download annuleren" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha is nodig.\nProbeer in te loggen bij Vk.com met je browser om dit probleem op te lossen." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Albumhoes wijzigen" @@ -1153,6 +1106,10 @@ msgid "" "songs" msgstr "Het aanpassen naar mono afspelen zal actief worden bij het afspelen van het volgende nummer" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Zoek naar nieuwe afleveringen" @@ -1161,19 +1118,15 @@ msgstr "Zoek naar nieuwe afleveringen" msgid "Check for updates" msgstr "Zoek naar updates" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Zoeken naar updates..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Kies Vk.com cachemap" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Kies een naam voor uw slimme-afspeellijst" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Automatisch kiezen" @@ -1219,13 +1172,13 @@ msgstr "Bezig met opschonen" msgid "Clear" msgstr "Wissen" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Afspeellijst wissen" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1358,24 +1311,20 @@ msgstr "Kleuren" msgid "Comma separated list of class:level, level is 0-3" msgstr "Door komma's gescheiden lijst van van klasse:niveau, het niveau is 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Opmerking" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Community Radio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Labels automatisch voltooien" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Labels automatisch voltooien…" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1406,15 +1355,11 @@ msgstr "Configureer Spotify..." msgid "Configure Subsonic..." msgstr "Subsonic configureren..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Configureer Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Globaal zoeken instellen..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Bibliotheek configureren…" @@ -1448,16 +1393,16 @@ msgid "" "http://localhost:4040/" msgstr "Verbinding geweigerd door server, controleer de URL van de server. Bijvoorbeeld: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Time-out van verbinding, controleer de URL van de server. Bijvoorbeeld: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Connetieprobleem of audio is uitgeschakeld door eigenaar" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Console" @@ -1481,20 +1426,16 @@ msgstr "Converteer audiobestanden gecomprimeerd zonder kwaliteitsverlies voor ze msgid "Convert lossless files" msgstr "Converteer bestanden gecomprimeerd zonder kwaliteitsverlies" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopieer url om te delen naar klembord" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopieer naar klembord" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Naar apparaat kopiëren…" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Naar bibliotheek kopiëren…" @@ -1516,6 +1457,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Kan GStreamer element ‘%1’ niet aanmaken - zorg ervoor dat u alle vereiste GStreamer plug-ins geïnstalleerd heeft" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Kon afspeellijst niet maken" @@ -1542,7 +1492,7 @@ msgstr "Kan uitvoerbestand %1 niet openen" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Albumhoesbeheerder" @@ -1628,11 +1578,11 @@ msgid "" "recover your database" msgstr "De database lijkt corrupt. Instructies om de database te herstellen staan op: https://github.com/clementine-player/Clementine/wiki/Database-Corruption" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Aanmaakdatum" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Wijzigingsdatum" @@ -1660,7 +1610,7 @@ msgstr "Volume verlagen" msgid "Default background image" msgstr "Standaard achtergrondafbeelding" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Standaard apparaat op %1" @@ -1683,7 +1633,7 @@ msgid "Delete downloaded data" msgstr "Verwijder gedownloadde gegevens" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Bestanden verwijderen" @@ -1691,7 +1641,7 @@ msgstr "Bestanden verwijderen" msgid "Delete from device..." msgstr "Van apparaat verwijderen…" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Van schijf verwijderen…" @@ -1716,11 +1666,15 @@ msgstr "Oorspronkelijke bestanden verwijderen" msgid "Deleting files" msgstr "Bestanden worden verwijderd" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Geselecteerde nummers uit wachtrij verwijderen" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Nummer uit wachtrij verwijderen" @@ -1749,11 +1703,11 @@ msgstr "Apparaatnaam" msgid "Device properties..." msgstr "Apparaateigenschappen…" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Apparaten" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialoog" @@ -1800,7 +1754,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Uitgeschakeld" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1821,7 +1775,7 @@ msgstr "Weergaveopties" msgid "Display the on-screen-display" msgstr "Infoschermvenster weergeven" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "De volledige database opnieuw scannen" @@ -1992,12 +1946,12 @@ msgstr "Dynamische random mix" msgid "Edit smart playlist..." msgstr "Slimme-afspeellijst bewerken…" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Label ‘%1’ bewerken…" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Label bewerken…" @@ -2010,7 +1964,7 @@ msgid "Edit track information" msgstr "Nummerinformatie bewerken" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Nummerinformatie bewerken…" @@ -2030,10 +1984,6 @@ msgstr "E-mail" msgid "Enable Wii Remote support" msgstr "Ondersteuning voor Wii Remote inschakelen" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Automatisch cachen inschakelen" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Equalizer inschakelen" @@ -2118,7 +2068,7 @@ msgstr "Geef in de App dit IP-adres op om verbinding met Clementine te maken" msgid "Entire collection" msgstr "Gehele verzameling" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Equalizer" @@ -2131,8 +2081,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Gelijkwaardig aan --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Fout" @@ -2152,6 +2102,11 @@ msgstr "Fout tijdens het kopiëren van de nummers" msgid "Error deleting songs" msgstr "Fout tijdens het verwijderen van de nummers" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Fout bij het downloaden van de Spotify plug-in" @@ -2272,7 +2227,7 @@ msgstr "Uitvagen" msgid "Fading duration" msgstr "Uitvaagduur" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "CD-station lezen mislukt" @@ -2351,27 +2306,23 @@ msgstr "Bestandsextensie" msgid "File formats" msgstr "Bestandsformaten" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Bestandsnaam" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Bestandsnaam (zonder pad)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Bestandsnaampatroon:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Bestandspaden" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Bestandsgrootte" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2381,7 +2332,7 @@ msgstr "Bestandstype" msgid "Filename" msgstr "Bestandsnaam" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Bestanden" @@ -2393,10 +2344,6 @@ msgstr "Te converteren bestanden" msgid "Find songs in your library that match the criteria you specify." msgstr "Vind nummers in uw bibliotheek die met de opgegeven criteria overeenkomen." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Vind deze artiest" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Uniek patroon uit nummer halen" @@ -2465,6 +2412,7 @@ msgid "Form" msgstr "Formulier" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formaat" @@ -2501,7 +2449,7 @@ msgstr "Maximale hoge tonen" msgid "Ge&nre" msgstr "Ge&nre" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Algemeen" @@ -2509,7 +2457,7 @@ msgstr "Algemeen" msgid "General settings" msgstr "Algemene instellingen" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2542,11 +2490,11 @@ msgstr "Geef het een naam:" msgid "Go" msgstr "Ga" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Ga naar het volgende afspeellijst tabblad" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Ga naar het vorige afspeellijst tabblad" @@ -2600,7 +2548,7 @@ msgstr "Groeperen op genre/album" msgid "Group by Genre/Artist/Album" msgstr "Groeperen op genre/artiest/album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2790,11 +2738,11 @@ msgstr "Geïnstalleerd" msgid "Integrity check" msgstr "Integriteits check" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internet bronnen" @@ -2811,6 +2759,10 @@ msgstr "Intro nummers" msgid "Invalid API key" msgstr "Ongeldige API-sleutel" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Ongeldig formaat" @@ -2867,7 +2819,7 @@ msgstr "Jamendo database" msgid "Jump to previous song right away" msgstr "Meteen naar vorige nummer springen" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Spring naar het huidige nummer" @@ -2891,7 +2843,7 @@ msgstr "In de achtergrond laten draaien als het venter gesloten wordt" msgid "Keep the original files" msgstr "De originele bestanden behouden" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Poesjes" @@ -2932,7 +2884,7 @@ msgstr "Grote zijbalk" msgid "Last played" msgstr "Laast afgespeeld" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Laast afgespeeld" @@ -2973,12 +2925,12 @@ msgstr "Nummers met laagste waardering" msgid "Left" msgstr "Links" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Duur" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Bibliotheek" @@ -2987,7 +2939,7 @@ msgstr "Bibliotheek" msgid "Library advanced grouping" msgstr "Bibliotheek geavanceerd groeperen" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Database herscan-melding" @@ -3027,7 +2979,7 @@ msgstr "Albumhoes van schijf laden…" msgid "Load playlist" msgstr "Afspeellijst laden" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Afspeellijst laden…" @@ -3063,8 +3015,7 @@ msgstr "Nummerinformatie laden" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Laden…" @@ -3073,7 +3024,6 @@ msgstr "Laden…" msgid "Loads files/URLs, replacing current playlist" msgstr "Bestanden/URLs laden, en vervangt de huidige afspeellijst" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3083,8 +3033,7 @@ msgstr "Bestanden/URLs laden, en vervangt de huidige afspeellijst" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Inloggen" @@ -3092,15 +3041,11 @@ msgstr "Inloggen" msgid "Login failed" msgstr "Inloggen mislukt" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Uitloggen" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Lange termijn voorspellingsprofiel (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Mooi" @@ -3181,7 +3126,7 @@ msgstr "Normaal profiel (MAIN)" msgid "Make it so!" msgstr "Voer uit!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Voer uit!" @@ -3227,10 +3172,6 @@ msgstr "Match op alle zoektermen (EN)" msgid "Match one or more search terms (OR)" msgstr "Match op een of meer zoektermen (OF)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Max aantal zoekresultaten" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maximale bitrate" @@ -3261,6 +3202,10 @@ msgstr "Minimale bitrate" msgid "Minimum buffer fill" msgstr "Minimale buffervulling" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Ontbrekende projectM voorinstellingen" @@ -3281,7 +3226,7 @@ msgstr "Mono afspelen" msgid "Months" msgstr "Maanden" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Stemming" @@ -3294,10 +3239,6 @@ msgstr "Stemmingsbalk stijl" msgid "Moodbars" msgstr "Stemmingsbalken" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Meer" - #: library/library.cpp:84 msgid "Most played" msgstr "Meest afgespeeld" @@ -3315,7 +3256,7 @@ msgstr "Koppelpunten" msgid "Move down" msgstr "Omlaag verplaatsen" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Naar bibliotheek verplaatsen…" @@ -3324,8 +3265,7 @@ msgstr "Naar bibliotheek verplaatsen…" msgid "Move up" msgstr "Omhoog verplaatsen" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Muziek" @@ -3334,22 +3274,10 @@ msgid "Music Library" msgstr "Muziekbibliotheek" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Dempen" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Mijn Albums" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Mijn Muziek" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Mijn aanbevelingen" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3395,7 +3323,7 @@ msgstr "Nooit afspelen" msgid "New folder" msgstr "Nieuwe map" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nieuwe afspeellijst" @@ -3424,7 +3352,7 @@ msgid "Next" msgstr "Volgende" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Volgend nummer" @@ -3462,7 +3390,7 @@ msgstr "Geen korte blokken" msgid "None" msgstr "Geen" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Geen van de geselecteerde nummers waren geschikt voor het kopiëren naar een apparaat" @@ -3511,10 +3439,6 @@ msgstr "Niet ingelogd" msgid "Not mounted - double click to mount" msgstr "Niet aangekoppeld - dubbelklik om aan te koppelen" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Niets gevonden" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Notificatietype" @@ -3596,7 +3520,7 @@ msgstr "Doorzichtigheid" msgid "Open %1 in browser" msgstr "%1 in de browser openen" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "&Audio-CD openen…" @@ -3616,7 +3540,7 @@ msgstr "Open een pad om muziek uit te importeren" msgid "Open device" msgstr "Apparaat openen" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Bestand openen..." @@ -3670,7 +3594,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Bestanden sorteren" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Bestanden sorteren..." @@ -3682,7 +3606,7 @@ msgstr "Bestanden sorteren" msgid "Original tags" msgstr "Originele labels" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3750,7 +3674,7 @@ msgstr "Party" msgid "Password" msgstr "Wachtwoord" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pauze" @@ -3763,7 +3687,7 @@ msgstr "Afspelen pauzeren" msgid "Paused" msgstr "Gepauzeerd" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3778,14 +3702,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Normale zijbalk" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Afspelen" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Aantal maal afgespeeld" @@ -3816,7 +3740,7 @@ msgstr "Speler-opties" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Afspeellijst" @@ -3833,7 +3757,7 @@ msgstr "Afspeellijst-opties" msgid "Playlist type" msgstr "Afspeellijst type" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Afspeellijsten" @@ -3874,11 +3798,11 @@ msgstr "Voorkeur" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Voorkeuren" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Voorkeuren..." @@ -3938,7 +3862,7 @@ msgid "Previous" msgstr "Vorige" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Vorig nummer" @@ -3989,16 +3913,16 @@ msgstr "Kwaliteit" msgid "Querying device..." msgstr "apparaat afzoeken..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Wachtrijbeheer" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Geselecteerde nummers in de wachtrij plaatsen" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Nummer in de wachtrij plaatsen" @@ -4010,7 +3934,7 @@ msgstr "Radio (gelijk volume voor alle nummers)" msgid "Rain" msgstr "Regen" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Regen" @@ -4047,7 +3971,7 @@ msgstr "Waardeer huidig nummer met 4 sterren" msgid "Rate the current song 5 stars" msgstr "Waardeer huidig nummer met 5 sterren" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Waardering" @@ -4114,7 +4038,7 @@ msgstr "Verwijderen" msgid "Remove action" msgstr "Actie verwijderen" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Verwijder dubbelen uit afspeellijst" @@ -4122,15 +4046,7 @@ msgstr "Verwijder dubbelen uit afspeellijst" msgid "Remove folder" msgstr "Map verwijderen" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Verwijder uit Mijn Muziek" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Verwijder uit bladwijzers" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Uit afspeellijst verwijderen" @@ -4142,7 +4058,7 @@ msgstr "Afspeellijst verwijderen" msgid "Remove playlists" msgstr "Afspeellijsten verwijderen" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Verwijder niet beschikbare nummers van de afspeellijst" @@ -4154,7 +4070,7 @@ msgstr "Afspeellijst hernoemen" msgid "Rename playlist..." msgstr "Afspeellijst hernoemen..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Nummers in deze volgorde een nieuw nummer geven…" @@ -4204,7 +4120,7 @@ msgstr "Opnieuw vullen" msgid "Require authentication code" msgstr "Autorisatiecode vereist" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Herstel" @@ -4245,7 +4161,7 @@ msgstr "Rip" msgid "Rip CD" msgstr "Rip CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Rip audio CD" @@ -4275,8 +4191,9 @@ msgstr "Apparaat veilig verwijderen" msgid "Safely remove the device after copying" msgstr "Apparaat veilig verwijderen na het kopiëren" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Samplerate" @@ -4314,7 +4231,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Afspeellijst opslaan" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Afspeellijst opslaan..." @@ -4354,7 +4271,7 @@ msgstr "Schaalbare samplerateprofiel (SSR)" msgid "Scale size" msgstr "Groote schalen" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Score" @@ -4371,12 +4288,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Zoeken" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Zoeken" @@ -4519,7 +4436,7 @@ msgstr "Server gegevens" msgid "Service offline" msgstr "Service offline" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Stel %1 in op \"%2\"..." @@ -4528,7 +4445,7 @@ msgstr "Stel %1 in op \"%2\"..." msgid "Set the volume to percent" msgstr "Zet het volume op procent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Waarde voor alle geselecteerde nummers instellen…" @@ -4595,7 +4512,7 @@ msgstr "Mooi infoschermvenster weergeven" msgid "Show above status bar" msgstr "Boven statusbalk weergeven" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Alle nummers weergeven" @@ -4615,16 +4532,12 @@ msgstr "Verdelers tonen" msgid "Show fullsize..." msgstr "Volledig weergeven..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Toon groepen in globale zoekresultaat" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "In bestandsbeheer tonen…" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Tonen in bibliotheek..." @@ -4636,27 +4549,23 @@ msgstr "In diverse artiesten weergeven" msgid "Show moodbar" msgstr "Toon stemmingsbalk" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Alleen dubbelen tonen" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Nummers zonder labels tonen" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Toon of verberg de zijbalk" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Toon nummer dat wordt afgespeeld op je pagina" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Toon zoek sugesties" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Toon zijbalk" @@ -4692,7 +4601,7 @@ msgstr "Albums willekeurig afspelen" msgid "Shuffle all" msgstr "Alles willekeurig" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Afspeellijst schudden" @@ -4728,7 +4637,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Terug in afspeellijst" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Aantal maal overgeslagen" @@ -4736,11 +4645,11 @@ msgstr "Aantal maal overgeslagen" msgid "Skip forwards in playlist" msgstr "Vooruit in afspeellijst" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Geselecteerde nummers overslaan" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Nummer overslaan" @@ -4772,7 +4681,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Nummerinformatie" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Nummerinfo" @@ -4808,7 +4717,7 @@ msgstr "Sorteren" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Bron" @@ -4883,7 +4792,7 @@ msgid "Starting..." msgstr "Starten…" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Stoppen" @@ -4899,7 +4808,7 @@ msgstr "Na ieder nummer stoppen" msgid "Stop after every track" msgstr "Na ieder nummer stoppen" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Na dit nummer stoppen" @@ -4928,6 +4837,10 @@ msgstr "Gestopt" msgid "Stream" msgstr "Radiostream" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5037,6 +4950,10 @@ msgstr "Albumhoes van het momenteel spelende nummer" msgid "The directory %1 is not valid" msgstr "De map %1 is niet geldig" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "De tweede waarde moet groter zijn dan de eerste!" @@ -5055,7 +4972,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "De proefperiode voor de Subsonic server is afgelopen. Doneer om een licentie sleutel te krijgen. Ga naar subsonic.org voor details." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5097,7 +5014,7 @@ msgid "" "continue?" msgstr "Deze bestanden zullen definitief van het apparaat verwijderd worden. Weet u zeker dat u door wilt gaan?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5181,7 +5098,7 @@ msgstr "Dit type apparaat wordt niet ondersteund: %1" msgid "Time step" msgstr "TIjdstap" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5200,11 +5117,11 @@ msgstr "Mooi infoschermvenster aan/uit" msgid "Toggle fullscreen" msgstr "Volledig scherm aan/uit" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Wachtrijstatus aan/uit" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Zet scrobbling aan/uit" @@ -5244,7 +5161,7 @@ msgstr "Totaal aantal netwerk-verzoeken" msgid "Trac&k" msgstr "Nummer" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Nummer" @@ -5253,7 +5170,7 @@ msgstr "Nummer" msgid "Tracks" msgstr "Nummers" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Muziek converteren" @@ -5290,6 +5207,10 @@ msgstr "Uitzetten" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5315,9 +5236,9 @@ msgstr "Kan %1 niet downloaden (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Onbekend" @@ -5334,11 +5255,11 @@ msgstr "Onbekende fout" msgid "Unset cover" msgstr "Albumhoes wissen" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Geselecteerde nummers niet overslaan" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Nummer niet overslaan" @@ -5351,15 +5272,11 @@ msgstr "Uitschrijven" msgid "Upcoming Concerts" msgstr "Komende concerten" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Bijwerken" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Vernieuw alle podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Aangepaste databasemappen updaten" @@ -5469,7 +5386,7 @@ msgstr "Volume normalisatie gebruiken" msgid "Used" msgstr "Gebruikt" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Gebruikersinterface" @@ -5495,7 +5412,7 @@ msgid "Variable bit rate" msgstr "Variabele bitrate" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Diverse artiesten" @@ -5508,11 +5425,15 @@ msgstr "Versie %1" msgid "View" msgstr "Weergave" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Visualisatiemodus" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualisaties" @@ -5520,10 +5441,6 @@ msgstr "Visualisaties" msgid "Visualizations Settings" msgstr "Visualisatie-instellingen" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Voice activity detection" @@ -5546,10 +5463,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Muur" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Waarschuw mij wanneer een afspeellijst tab wordt gesloten" @@ -5652,7 +5565,7 @@ msgid "" "well?" msgstr "Wilt u de andere nummers van dit album ook verplaatsen naar Diverse Artiesten?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Wilt u op dit moment een volledige herscan laten uitvoeren?" @@ -5668,7 +5581,7 @@ msgstr "Sla metadata op" msgid "Wrong username or password." msgstr "Verkeerde gebruikersnaam of wachwoord." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/oc.po b/src/translations/oc.po index 789c8e042..d24d7adc4 100644 --- a/src/translations/oc.po +++ b/src/translations/oc.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/davidsansome/clementine/language/oc/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,11 +63,6 @@ msgstr " segondas" msgid " songs" msgstr "" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -99,7 +94,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "" @@ -124,7 +119,7 @@ msgstr "" msgid "%1 songs found (showing %2)" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "" @@ -184,7 +179,7 @@ msgstr "" msgid "&Custom" msgstr "&Personalizat" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -192,7 +187,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Ajuda" @@ -217,7 +212,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Musica" @@ -225,15 +220,15 @@ msgstr "Musica" msgid "&None" msgstr "&Pas cap" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Lista de lectura" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Quitar" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Lectura en bocla" @@ -241,7 +236,7 @@ msgstr "Lectura en bocla" msgid "&Right" msgstr "" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Mòde aleatòri" @@ -249,7 +244,7 @@ msgstr "Mòde aleatòri" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Aisinas" @@ -285,7 +280,7 @@ msgstr "" msgid "1 day" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "" @@ -429,11 +424,11 @@ msgstr "" msgid "About %1" msgstr "A prepaus de « %1 »" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "A prepaus de Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "" @@ -443,7 +438,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -497,19 +492,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Seleccionar un fichièr vidèo..." @@ -517,12 +512,12 @@ msgstr "Seleccionar un fichièr vidèo..." msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Apondre un dorsièr" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "" @@ -534,7 +529,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -602,10 +597,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -614,18 +605,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Apondre un flux..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -634,14 +617,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Apondre a la lista de lecturas" @@ -651,10 +630,6 @@ msgstr "Apondre a la lista de lecturas" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -692,7 +667,7 @@ msgstr "" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -705,7 +680,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -720,10 +695,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -736,11 +707,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -865,7 +836,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -874,7 +845,7 @@ msgstr "" msgid "Artist" msgstr "Artista" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -945,7 +916,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1002,7 +973,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Debit binari" @@ -1055,7 +1027,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1079,19 +1051,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1100,12 +1059,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1144,6 +1097,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1152,19 +1109,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Causir automaticament" @@ -1210,13 +1163,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Voidar la lista de lectura" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1349,24 +1302,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Comentari" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1397,15 +1346,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1439,16 +1384,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1472,20 +1417,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1507,6 +1448,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1533,7 +1483,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Gestionari de pochetas" @@ -1619,11 +1569,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Data de modificacion" @@ -1651,7 +1601,7 @@ msgstr "Reduire lo volum" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1674,7 +1624,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1682,7 +1632,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1707,11 +1657,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1740,11 +1694,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1791,7 +1745,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1812,7 +1766,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1983,12 +1937,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2001,7 +1955,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2021,10 +1975,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2109,7 +2059,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Egalizador" @@ -2122,8 +2072,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2143,6 +2093,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2263,7 +2218,7 @@ msgstr "Fondut" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2342,27 +2297,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nom del fichièr" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Talha del fichièr" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2372,7 +2323,7 @@ msgstr "Tipe de fichièr" msgid "Filename" msgstr "Nom del fichièr" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Fichièrs" @@ -2384,10 +2335,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2456,6 +2403,7 @@ msgid "Form" msgstr "Formulari" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2492,7 +2440,7 @@ msgstr "Full Treble" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2500,7 +2448,7 @@ msgstr "" msgid "General settings" msgstr "Paramètres generals" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2533,11 +2481,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2591,7 +2539,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2781,11 +2729,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Sus Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2802,6 +2750,10 @@ msgstr "" msgid "Invalid API key" msgstr "Clau API pas valabla" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Format incorrècte" @@ -2858,7 +2810,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2882,7 +2834,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2923,7 +2875,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2964,12 +2916,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Longor" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Bibliotèca" @@ -2978,7 +2930,7 @@ msgstr "Bibliotèca" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3018,7 +2970,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3054,8 +3006,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3064,7 +3015,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3074,8 +3024,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3083,15 +3032,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "M'agrada fòrça" @@ -3172,7 +3117,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3218,10 +3163,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3252,6 +3193,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3272,7 +3217,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3285,10 +3230,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3306,7 +3247,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3315,8 +3256,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3325,22 +3265,10 @@ msgid "Music Library" msgstr "Discotèca" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Mut" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3386,7 +3314,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3415,7 +3343,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Pista seguenta" @@ -3453,7 +3381,7 @@ msgstr "" msgid "None" msgstr "Pas cap" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3502,10 +3430,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Notificacions" @@ -3587,7 +3511,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3607,7 +3531,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3661,7 +3585,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3673,7 +3597,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3741,7 +3665,7 @@ msgstr "Fèsta" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pausa" @@ -3754,7 +3678,7 @@ msgstr "Metre en pausa la lectura" msgid "Paused" msgstr "En pausa" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3769,14 +3693,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Lectura" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3807,7 +3731,7 @@ msgstr "Opcions del lector" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Lista de lectura" @@ -3824,7 +3748,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3865,11 +3789,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3929,7 +3853,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Pista precedenta" @@ -3980,16 +3904,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4001,7 +3925,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4038,7 +3962,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4105,7 +4029,7 @@ msgstr "Suprimir" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4113,15 +4037,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4133,7 +4049,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4145,7 +4061,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4195,7 +4111,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4236,7 +4152,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4266,8 +4182,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4305,7 +4222,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4345,7 +4262,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4362,12 +4279,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4510,7 +4427,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4519,7 +4436,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4586,7 +4503,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4606,16 +4523,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4627,27 +4540,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4683,7 +4592,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4719,7 +4628,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4727,11 +4636,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4763,7 +4672,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4799,7 +4708,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4874,7 +4783,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Arrestar" @@ -4890,7 +4799,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4919,6 +4828,10 @@ msgstr "Arrestat" msgid "Stream" msgstr "Flux" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5028,6 +4941,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5046,7 +4963,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5088,7 +5005,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5172,7 +5089,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5191,11 +5108,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5235,7 +5152,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Pista" @@ -5244,7 +5161,7 @@ msgstr "Pista" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5281,6 +5198,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5306,9 +5227,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Desconegut" @@ -5325,11 +5246,11 @@ msgstr "Error desconeguda" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5342,15 +5263,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5460,7 +5377,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5486,7 +5403,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5499,11 +5416,15 @@ msgstr "Version %1" msgid "View" msgstr "Afichatge" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5511,10 +5432,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5537,10 +5454,6 @@ msgstr "WAV" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5643,7 +5556,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5659,7 +5572,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/pa.po b/src/translations/pa.po index b1b34245a..68e4f15cf 100644 --- a/src/translations/pa.po +++ b/src/translations/pa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Panjabi (Punjabi) (http://www.transifex.com/davidsansome/clementine/language/pa/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,11 +63,6 @@ msgstr "" msgid " songs" msgstr "" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -99,7 +94,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "" @@ -124,7 +119,7 @@ msgstr "" msgid "%1 songs found (showing %2)" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "" @@ -184,7 +179,7 @@ msgstr "" msgid "&Custom" msgstr "" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -192,7 +187,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "" @@ -217,7 +212,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "" @@ -225,15 +220,15 @@ msgstr "" msgid "&None" msgstr "" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -241,7 +236,7 @@ msgstr "" msgid "&Right" msgstr "" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -249,7 +244,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "" @@ -285,7 +280,7 @@ msgstr "" msgid "1 day" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "" @@ -429,11 +424,11 @@ msgstr "" msgid "About %1" msgstr "" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "" @@ -443,7 +438,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -497,19 +492,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "" @@ -517,12 +512,12 @@ msgstr "" msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "" @@ -534,7 +529,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -602,10 +597,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -614,18 +605,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -634,14 +617,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -651,10 +630,6 @@ msgstr "" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -692,7 +667,7 @@ msgstr "" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -705,7 +680,7 @@ msgstr "" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -720,10 +695,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -736,11 +707,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -865,7 +836,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -874,7 +845,7 @@ msgstr "" msgid "Artist" msgstr "" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -945,7 +916,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1002,7 +973,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1055,7 +1027,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1079,19 +1051,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1100,12 +1059,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1144,6 +1097,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1152,19 +1109,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1210,13 +1163,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1349,24 +1302,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1397,15 +1346,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1439,16 +1384,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1472,20 +1417,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1507,6 +1448,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1533,7 +1483,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1619,11 +1569,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1651,7 +1601,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1674,7 +1624,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1682,7 +1632,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1707,11 +1657,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1740,11 +1694,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1791,7 +1745,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1812,7 +1766,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1983,12 +1937,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2001,7 +1955,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2021,10 +1975,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2109,7 +2059,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2122,8 +2072,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2143,6 +2093,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2263,7 +2218,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2342,27 +2297,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2372,7 +2323,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2384,10 +2335,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2456,6 +2403,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2492,7 +2440,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2500,7 +2448,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2533,11 +2481,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2591,7 +2539,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2781,11 +2729,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2802,6 +2750,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2858,7 +2810,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2882,7 +2834,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2923,7 +2875,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2964,12 +2916,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2978,7 +2930,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3018,7 +2970,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3054,8 +3006,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3064,7 +3015,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3074,8 +3024,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3083,15 +3032,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3172,7 +3117,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3218,10 +3163,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3252,6 +3193,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3272,7 +3217,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3285,10 +3230,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3306,7 +3247,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3315,8 +3256,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3325,22 +3265,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3386,7 +3314,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3415,7 +3343,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3453,7 +3381,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3502,10 +3430,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3587,7 +3511,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3607,7 +3531,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3661,7 +3585,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3673,7 +3597,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3741,7 +3665,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3754,7 +3678,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3769,14 +3693,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3807,7 +3731,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3824,7 +3748,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3865,11 +3789,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3929,7 +3853,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3980,16 +3904,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4001,7 +3925,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4038,7 +3962,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4105,7 +4029,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4113,15 +4037,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4133,7 +4049,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4145,7 +4061,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4195,7 +4111,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4236,7 +4152,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4266,8 +4182,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4305,7 +4222,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4345,7 +4262,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4362,12 +4279,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4510,7 +4427,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4519,7 +4436,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4586,7 +4503,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4606,16 +4523,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4627,27 +4540,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4683,7 +4592,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4719,7 +4628,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4727,11 +4636,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4763,7 +4672,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4799,7 +4708,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4874,7 +4783,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4890,7 +4799,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4919,6 +4828,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5028,6 +4941,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5046,7 +4963,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5088,7 +5005,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5172,7 +5089,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5191,11 +5108,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5235,7 +5152,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5244,7 +5161,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5281,6 +5198,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5306,9 +5227,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5325,11 +5246,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5342,15 +5263,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5460,7 +5377,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5486,7 +5403,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5499,11 +5416,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5511,10 +5432,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5537,10 +5454,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5643,7 +5556,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5659,7 +5572,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/pl.po b/src/translations/pl.po index 7d7db2955..17fed1942 100644 --- a/src/translations/pl.po +++ b/src/translations/pl.po @@ -23,7 +23,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Polish (http://www.transifex.com/davidsansome/clementine/language/pl/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -79,11 +79,6 @@ msgstr " sekundy" msgid " songs" msgstr " utwory" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 utworów)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -115,7 +110,7 @@ msgstr "%1 na %2" msgid "%1 playlists (%2)" msgstr "%1 list odtwarzania (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 zaznaczonych z" @@ -140,7 +135,7 @@ msgstr "znaleziono %1 utworów" msgid "%1 songs found (showing %2)" msgstr "znaleziono %1 utworów (pokazywane %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 ścieżek" @@ -200,7 +195,7 @@ msgstr "Wyśrodkowanie" msgid "&Custom" msgstr "&Własny" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Dodatki" @@ -208,7 +203,7 @@ msgstr "Dodatki" msgid "&Grouping" msgstr "&Grupowanie" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Pomoc" @@ -233,7 +228,7 @@ msgstr "&Blokuj Ocenę" msgid "&Lyrics" msgstr "&Tekst utworu" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Muzyka" @@ -241,15 +236,15 @@ msgstr "Muzyka" msgid "&None" msgstr "&Brak" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Lista odtwarzania" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Zakończ" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Tryb powtarzania" @@ -257,7 +252,7 @@ msgstr "Tryb powtarzania" msgid "&Right" msgstr "Do p&rawej" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Tryb losowy" @@ -265,7 +260,7 @@ msgstr "Tryb losowy" msgid "&Stretch columns to fit window" msgstr "&Rozciągaj kolumny, aby dopasować do okna" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Narzędzia" @@ -301,7 +296,7 @@ msgstr "0px" msgid "1 day" msgstr "1 dzień" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 ścieżka" @@ -445,11 +440,11 @@ msgstr "Przerwij" msgid "About %1" msgstr "O programie %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "O Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "O Qt..." @@ -459,7 +454,7 @@ msgid "Absolute" msgstr "Absolutna" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Szczegóły konta" @@ -513,19 +508,19 @@ msgstr "Dodaj następny strumień..." msgid "Add directory..." msgstr "Dodaj katalog..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Dodaj plik" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Dodaj plik do transkodera" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Dodaj plik(i) do transkodera" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Dodaj plik..." @@ -533,12 +528,12 @@ msgstr "Dodaj plik..." msgid "Add files to transcode" msgstr "Dodaj pliki to transkodowania" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Dodaj katalog" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Dodaj katalog..." @@ -550,7 +545,7 @@ msgstr "Dodaj nowy katalog..." msgid "Add podcast" msgstr "Dodaj podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Dodaj podcast..." @@ -618,10 +613,6 @@ msgstr "Dodaj licznik pominięć" msgid "Add song title tag" msgstr "Dodaj tag tytułu" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Dodaj utwór do cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Dodaj tag numeru utworu" @@ -630,18 +621,10 @@ msgstr "Dodaj tag numeru utworu" msgid "Add song year tag" msgstr "Dodaj tag roku" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Dodaj utwory do \"Mojej Muzyki\" przyciskiem \"Dodaj do Ulubionych\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Dodaj strumień..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Dodaj do Mojej Muzyki" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Dodaj do list odtwarzania Spotify" @@ -650,14 +633,10 @@ msgstr "Dodaj do list odtwarzania Spotify" msgid "Add to Spotify starred" msgstr "Dodaj do śledzonych w Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Dodaj do innej listy odtwarzania" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Dodaj do zakładek" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Dodaj do listy odtwarzania" @@ -667,10 +646,6 @@ msgstr "Dodaj do listy odtwarzania" msgid "Add to the queue" msgstr "Kolejkuj ścieżkę" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Dodaj użytkownika/grupę do zakładek" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Dodaj akcję wiimotedeva" @@ -708,7 +683,7 @@ msgstr "Po następującej ilości dni:" msgid "After copying..." msgstr "Po skopiowaniu..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -721,7 +696,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Według albumów (najlepsza głośność dla wszystkich ścieżek)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -736,10 +711,6 @@ msgstr "Okładka albumu" msgid "Album info on jamendo.com..." msgstr "Informacje o albumie na jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumy" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumy z okładkami" @@ -752,11 +723,11 @@ msgstr "Albumy bez okładek" msgid "All" msgstr "Wszystkie" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Wszystkie pliki (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Chwała Tobie Hypnoropucho!" @@ -881,7 +852,7 @@ msgid "" "the songs of your library?" msgstr "Czy na pewno chcesz zapisać w plikach wszystkie statystyki każdego utworu z twojej biblioteki?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -890,7 +861,7 @@ msgstr "Czy na pewno chcesz zapisać w plikach wszystkie statystyki każdego utw msgid "Artist" msgstr "Wykonawca" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "O artyście" @@ -961,7 +932,7 @@ msgstr "Przeciętny rozmiar grafiki" msgid "BBC Podcasts" msgstr "Podcasty BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "Uderzenia na minutę" @@ -1018,7 +989,8 @@ msgstr "Najlepsza" msgid "Biography" msgstr "Biografia" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitrate" @@ -1071,7 +1043,7 @@ msgstr "Przeglądaj..." msgid "Buffer duration" msgstr "Długość bufora" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Buforowanie" @@ -1095,19 +1067,6 @@ msgstr "CD-Audio" msgid "CUE sheet support" msgstr "obsługa arkuszy CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Ścieżka cache:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Buforowanie" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Buforowanie %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Anuluj" @@ -1116,12 +1075,6 @@ msgstr "Anuluj" msgid "Cancel download" msgstr "Anuluj pobieranie" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha jest wymagane.\nSpróbuj zalogować się na Vk.com w przeglądarce by naprawić ten problem." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Zmień okładkę" @@ -1160,6 +1113,10 @@ msgid "" "songs" msgstr "Zmiana trybu odtwarzania na tryb mono nastąpi dopiero od następnej odtworzonej ścieżki" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Sprawdzaj, czy są nowe audycje" @@ -1168,19 +1125,15 @@ msgstr "Sprawdzaj, czy są nowe audycje" msgid "Check for updates" msgstr "Sprawdź aktualizacje" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Sprawdź aktualizacje..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Wybierz folder buforowania Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Wprowadź nazwę dla inteligentnej listy odtwarzania" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Wybierz automatycznie" @@ -1226,13 +1179,13 @@ msgstr "Czyszczenie" msgid "Clear" msgstr "Wyczyść" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Wyczyść listę odtwarzania" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1365,24 +1318,20 @@ msgstr "Kolory" msgid "Comma separated list of class:level, level is 0-3" msgstr "Rozdzielona przecinkami lista klasa:poziom, gdzie poziom wynosi 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Komentarz" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Radio społeczności" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Automatycznie uzupełnij znaczniki" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Automatycznie uzupełnij znaczniki..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1413,15 +1362,11 @@ msgstr "Konfiguracja Spotify..." msgid "Configure Subsonic..." msgstr "Skonfiguruj Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Konfiguruj Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Skonfiguruj globalne wyszukiwanie..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Konfiguruj bibliotekę..." @@ -1455,16 +1400,16 @@ msgid "" "http://localhost:4040/" msgstr "Serwer odmówił połączenia, sprawdź URL serwera. Przykład: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Przekroczono limit czasu, sprawdź URL serwera. Przykład: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Problem z połączeniem, lub audio jest zablokowane przez właściciela" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsola" @@ -1488,20 +1433,16 @@ msgstr "Konwertuj bezstratne pliki audio przed wysłaniem ich do zdalnego urząd msgid "Convert lossless files" msgstr "Konwertuj pliki bezstratne" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopiuj współdzielony url do schowka" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopiuj do schowka" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Skopiuj na urządzenie..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Skopiuj do biblioteki..." @@ -1523,6 +1464,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Nie można utworzyć elementu \"%1\" GStreamera - upewnij się, czy są zainstalowane wszystkie wymagane wtyczki GStreamera" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Nie można utworzyć listy odtwarzania" @@ -1549,7 +1499,7 @@ msgstr "Nie można otworzyć pliku %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Menedżer okładek" @@ -1635,11 +1585,11 @@ msgid "" "recover your database" msgstr "Wykryto uszkodzenie bazy danych. Zapoznaj się z https://github.com/clementine-player/Clementine/wiki/Database-Corruption by znaleźć instrukcje jak ją naprawić." -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Data utworzenia" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Data modyfikacji" @@ -1667,7 +1617,7 @@ msgstr "Zmniejsz głośność" msgid "Default background image" msgstr "Domyślny obrazek tła" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Domyślne urządzenie na %1" @@ -1690,7 +1640,7 @@ msgid "Delete downloaded data" msgstr "Usuń pobrane dane" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Usuń pliki" @@ -1698,7 +1648,7 @@ msgstr "Usuń pliki" msgid "Delete from device..." msgstr "Usuń z urządzenia..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Usuń z dysku..." @@ -1723,11 +1673,15 @@ msgstr "Usuń oryginalne pliki" msgid "Deleting files" msgstr "Usuwanie plików" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Usuń ścieżki z kolejki odtwarzania" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Usuń ścieżkę z kolejki odtwarzania" @@ -1756,11 +1710,11 @@ msgstr "Nazwa urządzenia" msgid "Device properties..." msgstr "Ustawienia urządzenia..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Urządzenia" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Okno" @@ -1807,7 +1761,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Wyłączone" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1828,7 +1782,7 @@ msgstr "Opcje wyświetlania" msgid "Display the on-screen-display" msgstr "Pokaż menu ekranowe" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Przeskanuj całą bibliotekę od nowa" @@ -1999,12 +1953,12 @@ msgstr "Dynamiczny, losowy miks" msgid "Edit smart playlist..." msgstr "Edytuj inteligentną listę odtwarzania..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Edytuj tag \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Edytuj znacznik..." @@ -2017,7 +1971,7 @@ msgid "Edit track information" msgstr "Edytuj informacje o utworze" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Edytuj informacje o utworze..." @@ -2037,10 +1991,6 @@ msgstr "Email" msgid "Enable Wii Remote support" msgstr "Włącz obsługę urządzeń Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Włącz automatyczne buforowanie" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Włącz korektor dźwięku" @@ -2125,7 +2075,7 @@ msgstr "Wpisz ten adres IP do aplikacji w celu połączenia z Clementine." msgid "Entire collection" msgstr "Cała kolekcja" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Korektor dźwięku" @@ -2138,8 +2088,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Rownoważny --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Błąd" @@ -2159,6 +2109,11 @@ msgstr "Błąd przy kopiowaniu utworów" msgid "Error deleting songs" msgstr "Błąd przy usuwaniu utworów" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Plugin Spotify - nieudane pobieranie" @@ -2279,7 +2234,7 @@ msgstr "Przejście" msgid "Fading duration" msgstr "Czas przejścia" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Błąd odczytywania napędu CD" @@ -2358,27 +2313,23 @@ msgstr "Rozszerzenie pliku" msgid "File formats" msgstr "Formaty pliku" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nazwa pliku" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Nazwa pliku (bez ścieżki)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Wzór nazwy pliku:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Ścieżki plików" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Wielkość pliku" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2388,7 +2339,7 @@ msgstr "Typ pliku" msgid "Filename" msgstr "Nazwa pliku" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Pliki" @@ -2400,10 +2351,6 @@ msgstr "Pliki do transkodowania" msgid "Find songs in your library that match the criteria you specify." msgstr "Znajdź ścieżki w swojej bibliotece, które odpowiadają podanym kryteriom." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Znajdź tego artystę" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Tworzenie sygnatury utworu" @@ -2472,6 +2419,7 @@ msgid "Form" msgstr "Forma" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2508,7 +2456,7 @@ msgstr "Pełne soprany" msgid "Ge&nre" msgstr "Gatu&nek" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Ogólne" @@ -2516,7 +2464,7 @@ msgstr "Ogólne" msgid "General settings" msgstr "Podstawowe ustawienia" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2549,11 +2497,11 @@ msgstr "Nadaj nazwę:" msgid "Go" msgstr "Idź" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Przejdź do kolejnej karty z listą odtwarzania" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Przejdź do poprzedniej karty z listą odtwarzania" @@ -2607,7 +2555,7 @@ msgstr "Grupuj według Gatunek/Artysta" msgid "Group by Genre/Artist/Album" msgstr "Grupuj według Gatunek/Artysta/Album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2797,11 +2745,11 @@ msgstr "Zainstalowano" msgid "Integrity check" msgstr "Sprawdzanie integralności" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Usługi internetowe" @@ -2818,6 +2766,10 @@ msgstr "Początkujące utwory" msgid "Invalid API key" msgstr "Zły klucz API" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Błędny format" @@ -2874,7 +2826,7 @@ msgstr "Baza danych Jamendo" msgid "Jump to previous song right away" msgstr "Natychmiastowo przeskocz do poprzedniej piosenki" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Przeskocz do aktualnie odtwarzanej ścieżki" @@ -2898,7 +2850,7 @@ msgstr "Pozostań w tle po zamknięciu okna" msgid "Keep the original files" msgstr "Zachowaj oryginalne pliki" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kotki" @@ -2939,7 +2891,7 @@ msgstr "Duży pasek boczny" msgid "Last played" msgstr "Ostatnio odtwarzane" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Ostatnio odtwarzane" @@ -2980,12 +2932,12 @@ msgstr "Najmniej lubiane ścieżki" msgid "Left" msgstr "Lewy" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Długość" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Biblioteka" @@ -2994,7 +2946,7 @@ msgstr "Biblioteka" msgid "Library advanced grouping" msgstr "Zaawansowanie grupowanie biblioteki" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Konieczność odświeżenia biblioteki" @@ -3034,7 +2986,7 @@ msgstr "Wczytaj okładkę z dysku..." msgid "Load playlist" msgstr "Wczytaj listę odtwarzania" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Wczytaj listę odtwarzania..." @@ -3070,8 +3022,7 @@ msgstr "Wczytywanie informacji o utworze" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Wczytywanie..." @@ -3080,7 +3031,6 @@ msgstr "Wczytywanie..." msgid "Loads files/URLs, replacing current playlist" msgstr "Wczytuje pliki/adresy URL, zastępując obecną listę odtwarzania" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3090,8 +3040,7 @@ msgstr "Wczytuje pliki/adresy URL, zastępując obecną listę odtwarzania" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Zaloguj się" @@ -3099,15 +3048,11 @@ msgstr "Zaloguj się" msgid "Login failed" msgstr "Logowanie nieudane" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Wyloguj" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Profil przewidywania długoterminowego (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Dodaj do ulubionych" @@ -3188,7 +3133,7 @@ msgstr "Profil główny (MAIN)" msgid "Make it so!" msgstr "Zrób tak!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Zrób tak!" @@ -3234,10 +3179,6 @@ msgstr "Porównaj wszystkie warunki (AND/I)" msgid "Match one or more search terms (OR)" msgstr "Porównaj jeden lub więcej warunków (OR/LUB)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maksymalna ilość wyników wyszukiwania globalnego" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maksymalny bitrate" @@ -3268,6 +3209,10 @@ msgstr "Minimalny bitrate" msgid "Minimum buffer fill" msgstr "Minimalne zapełnienie bufora" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Brak ustawień projectM" @@ -3288,7 +3233,7 @@ msgstr "Odtwarzanie mono" msgid "Months" msgstr "Miesięcy" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Humor" @@ -3301,10 +3246,6 @@ msgstr "Styl paska humoru" msgid "Moodbars" msgstr "Paski humoru" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Więcej" - #: library/library.cpp:84 msgid "Most played" msgstr "Najczęściej odtwarzane" @@ -3322,7 +3263,7 @@ msgstr "Punkty montowania" msgid "Move down" msgstr "Przesuń w dół" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Przenieś do biblioteki..." @@ -3331,8 +3272,7 @@ msgstr "Przenieś do biblioteki..." msgid "Move up" msgstr "Przesuń w górę" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Muzyka" @@ -3341,22 +3281,10 @@ msgid "Music Library" msgstr "Biblioteka muzyki" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Wycisz" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Moje Albumy" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Moja Muzyka" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Moje rekomendacje" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3402,7 +3330,7 @@ msgstr "Nie odtwarzaj automatycznie" msgid "New folder" msgstr "Nowy folder" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nowa lista odtwarzania" @@ -3431,7 +3359,7 @@ msgid "Next" msgstr "Dalej" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Następny utwór" @@ -3469,7 +3397,7 @@ msgstr "Bez krótkich bloków" msgid "None" msgstr "Brak" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Żaden z zaznaczonych utworów nie był odpowiedni do skopiowania na urządzenie" @@ -3518,10 +3446,6 @@ msgstr "Niezalogowany" msgid "Not mounted - double click to mount" msgstr "Nie zamontowano - kliknij dwukrotnie, aby zamontować" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nic nie znaleziono" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Typ powiadomień" @@ -3603,7 +3527,7 @@ msgstr "Krycie" msgid "Open %1 in browser" msgstr "Otwórz %1 w przeglądarce" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Otwórz audio CD" @@ -3623,7 +3547,7 @@ msgstr "Importuj muzykę z" msgid "Open device" msgstr "Otwórz urządzenie" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Otwórz plik..." @@ -3677,7 +3601,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Uporządkuj pliki" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Uporządkuj pliki..." @@ -3689,7 +3613,7 @@ msgstr "Porządkowanie plików" msgid "Original tags" msgstr "Aktualne znaczniki" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3757,7 +3681,7 @@ msgstr "Impreza" msgid "Password" msgstr "Hasło" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pauza" @@ -3770,7 +3694,7 @@ msgstr "Wstrzymaj odtwarzanie" msgid "Paused" msgstr "Zatrzymane" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3785,14 +3709,14 @@ msgstr "Piksel" msgid "Plain sidebar" msgstr "Zwykły pasek boczny" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Odtwarzaj" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Ilość odtworzeń" @@ -3823,7 +3747,7 @@ msgstr "Opcje odtwarzacza" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Lista odtwarzania" @@ -3840,7 +3764,7 @@ msgstr "Opcje listy odtwarzania" msgid "Playlist type" msgstr "Typ listy odtwarzania" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Listy odtwarzania" @@ -3881,11 +3805,11 @@ msgstr "Ustawienie" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Ustawienia" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Ustawienia..." @@ -3945,7 +3869,7 @@ msgid "Previous" msgstr "Wstecz" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Poprzedni utwór" @@ -3996,16 +3920,16 @@ msgstr "Jakość" msgid "Querying device..." msgstr "Odpytywanie urządzenia..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Menedżer kolejki odtwarzania" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Kolejkuj wybrane ścieżki" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Kolejkuj ścieżkę" @@ -4017,7 +3941,7 @@ msgstr "Radio (równa głośność dla wszystkich ścieżek)" msgid "Rain" msgstr "Deszcz" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Deszcz" @@ -4054,7 +3978,7 @@ msgstr "Ocena utworu: 4" msgid "Rate the current song 5 stars" msgstr "Ocena utworu: 5" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Ocena" @@ -4121,7 +4045,7 @@ msgstr "Usuń" msgid "Remove action" msgstr "Usuń akcję" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Usuń duplikaty z playlisty" @@ -4129,15 +4053,7 @@ msgstr "Usuń duplikaty z playlisty" msgid "Remove folder" msgstr "Usuń katalog" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Usuń z Mojej Muzyki" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Usuń z zakładek" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Usuń z listy odtwarzania" @@ -4149,7 +4065,7 @@ msgstr "Usuń listę odtwrzania" msgid "Remove playlists" msgstr "Usuń listy odtwarzania" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Usuń niedostępne ścieżki z listy odtwarzania" @@ -4161,7 +4077,7 @@ msgstr "Zmień nazwę listy odtwarzania" msgid "Rename playlist..." msgstr "Zmień nazwę listy odtwarzania..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Ponumeruj utwory według tej kolejności..." @@ -4211,7 +4127,7 @@ msgstr "Stwórz ponownie" msgid "Require authentication code" msgstr "Wymagaj kodu uwierzytelniającego" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Resetuj" @@ -4252,7 +4168,7 @@ msgstr "Zgraj" msgid "Rip CD" msgstr "Zgraj CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Zgraj audio CD" @@ -4282,8 +4198,9 @@ msgstr "Bezpiecznie usuń urządzenie" msgid "Safely remove the device after copying" msgstr "Bezpiecznie usuń urządzenie po kopiowaniu" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Próbkowanie" @@ -4321,7 +4238,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Zapisz listę odtwarzania" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Zapisz listę odtwarzania..." @@ -4361,7 +4278,7 @@ msgstr "Profil skalowalnego próbkowania (SSR)" msgid "Scale size" msgstr "Wielkość po przeskalowaniu" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Wynik" @@ -4378,12 +4295,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Szukaj" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Szukaj" @@ -4526,7 +4443,7 @@ msgstr "Szczegóły serwera" msgid "Service offline" msgstr "Usługa niedostępna" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Ustaw %1 na \"%2\"..." @@ -4535,7 +4452,7 @@ msgstr "Ustaw %1 na \"%2\"..." msgid "Set the volume to percent" msgstr "Ustaw głośność na procent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Ustaw wartość dla wszystkich zaznaczonych utworów..." @@ -4602,7 +4519,7 @@ msgstr "Pokazuj ładne OSD (menu ekranowe)" msgid "Show above status bar" msgstr "Pokaż ponad paskiem stanu" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Pokaż wszystkie utwory" @@ -4622,16 +4539,12 @@ msgstr "Pokaż separatory" msgid "Show fullsize..." msgstr "Pokaż w pełnej wielkości..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Pokaż grup w globalnych wynikach wyszukiwania" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Pokaż w menadżerze plików..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Pokaż w bibliotece..." @@ -4643,27 +4556,23 @@ msgstr "Pokaż w różni wykonawcy" msgid "Show moodbar" msgstr "Pokaż pasek humoru" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Pokaż tylko duplikaty" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Pokaż tylko nieoznaczone" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Pokaż odtwarzaną piosenkę na twojej stronie" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Pokazuj sugestie" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4699,7 +4608,7 @@ msgstr "Losuj albumy" msgid "Shuffle all" msgstr "Losuj wszystko" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Wymieszaj listę odtwarzania" @@ -4735,7 +4644,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Przeskocz wstecz w liście odtwarzania" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Ilość przeskoczeń utworu" @@ -4743,11 +4652,11 @@ msgstr "Ilość przeskoczeń utworu" msgid "Skip forwards in playlist" msgstr "Przeskocz w przód w liście odtwarzania" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Pomiń wybrane ścieżki" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Pomiń ścieżkę" @@ -4779,7 +4688,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Informacje o utworze" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "O utworze" @@ -4815,7 +4724,7 @@ msgstr "Sortowanie" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Źródło" @@ -4890,7 +4799,7 @@ msgid "Starting..." msgstr "Uruchamianie..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Zatrzymaj" @@ -4906,7 +4815,7 @@ msgstr "Zatrzymaj po każdym utworze" msgid "Stop after every track" msgstr "Zatrzymaj po każdym utworze" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Zatrzymaj po tym utworze" @@ -4935,6 +4844,10 @@ msgstr "Zatrzymano" msgid "Stream" msgstr "Strumień" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5044,6 +4957,10 @@ msgstr "Okładka albumu odtwarzanego utworu" msgid "The directory %1 is not valid" msgstr "Katalog %1 jest nieprawidłowy" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Druga wartość musi być większa niż pierwsza!" @@ -5062,7 +4979,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Okres próbny dla serwera Subsonic wygasł. Zapłać, aby otrzymać klucz licencyjny. Szczegóły na subsonic.org." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5104,7 +5021,7 @@ msgid "" "continue?" msgstr "Te pliki zostaną usunięte z urządzenia. Na pewno chcesz kontynuować?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5188,7 +5105,7 @@ msgstr "Ten typ urządzenia nie jest obsługiwany: %1" msgid "Time step" msgstr "Krok czasu" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5207,11 +5124,11 @@ msgstr "Przełącz ładne OSD" msgid "Toggle fullscreen" msgstr "Przełącz tryb pełnoekranowy" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Przełącz stan kolejki" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Włącz scroblowanie" @@ -5251,7 +5168,7 @@ msgstr "Całkowita ilość zapytań sieciowych" msgid "Trac&k" msgstr "&Utwór" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Utwór" @@ -5260,7 +5177,7 @@ msgstr "Utwór" msgid "Tracks" msgstr "Ścieżki" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transkoduj muzykę" @@ -5297,6 +5214,10 @@ msgstr "Wyłącz" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL" @@ -5322,9 +5243,9 @@ msgstr "Nie udało się pobrać %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "nieznany" @@ -5341,11 +5262,11 @@ msgstr "Nieznany błąd" msgid "Unset cover" msgstr "Usuń okładkę" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Nie pomijaj wybranych ścieżek" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Nie pomijaj ścieżki" @@ -5358,15 +5279,11 @@ msgstr "Anuluj subskrypcję" msgid "Upcoming Concerts" msgstr "Nadchodzące koncerty" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Zaktualizuj" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Uaktualnij wszystkie podcasty" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Odśwież zmienione katalogi biblioteki" @@ -5476,7 +5393,7 @@ msgstr "Używaj wyrównywania głośności" msgid "Used" msgstr "Użyto" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Interfejs użytkownika" @@ -5502,7 +5419,7 @@ msgid "Variable bit rate" msgstr "Zmienny bitrate" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Różni wykonawcy" @@ -5515,11 +5432,15 @@ msgstr "Wersja %1" msgid "View" msgstr "Pokaż" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Tryb wizualizacji" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Wizualizacje" @@ -5527,10 +5448,6 @@ msgstr "Wizualizacje" msgid "Visualizations Settings" msgstr "Ustawienia wizualizacji" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Wykrywanie aktywności głosowej" @@ -5553,10 +5470,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Ściana" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Ostrzeż mnie kiedy zamknę zakładkę listy odtwarzania" @@ -5659,7 +5572,7 @@ msgid "" "well?" msgstr "Czy chciałbyś przenieść także inny piosenki z tego albumu do Różnych wykonawców?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Czy chcesz teraz rozpocząć odświeżanie biblioteki?" @@ -5675,7 +5588,7 @@ msgstr "Zapisz metadane" msgid "Wrong username or password." msgstr "Zły login lub hasło." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/pt.po b/src/translations/pt.po index 8de17d24f..ce3c567bb 100644 --- a/src/translations/pt.po +++ b/src/translations/pt.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 21:28+0000\n" -"Last-Translator: Sérgio Marques \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Portuguese (http://www.transifex.com/davidsansome/clementine/language/pt/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -70,11 +70,6 @@ msgstr " segundos" msgid " songs" msgstr " faixas" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 faixas)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -106,7 +101,7 @@ msgstr "%1 em %2" msgid "%1 playlists (%2)" msgstr "%1 listas de reprodução (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "selecionada(s) %1 de" @@ -131,7 +126,7 @@ msgstr "%1 faixas encontradas" msgid "%1 songs found (showing %2)" msgstr "%1 faixas encontradas (a mostrar %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 faixas" @@ -191,7 +186,7 @@ msgstr "&Centro" msgid "&Custom" msgstr "&Personalizado" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extras" @@ -199,7 +194,7 @@ msgstr "&Extras" msgid "&Grouping" msgstr "A&grupamento" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Aj&uda" @@ -224,7 +219,7 @@ msgstr "B&loquear avaliação" msgid "&Lyrics" msgstr "&Letra das músicas" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Música" @@ -232,15 +227,15 @@ msgstr "&Música" msgid "&None" msgstr "&Nenhum" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Lista de re&produção" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Sair" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Modo de &repetição" @@ -248,7 +243,7 @@ msgstr "Modo de &repetição" msgid "&Right" msgstr "Di&reita" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Modo de de&sordenação" @@ -256,7 +251,7 @@ msgstr "Modo de de&sordenação" msgid "&Stretch columns to fit window" msgstr "Ajustar coluna&s à janela" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Ferramen&tas" @@ -292,7 +287,7 @@ msgstr "0 px." msgid "1 day" msgstr "1 dia" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 faixa" @@ -436,11 +431,11 @@ msgstr "Abortar" msgid "About %1" msgstr "Sobre o %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Sobre o Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Sobre o Qt..." @@ -450,7 +445,7 @@ msgid "Absolute" msgstr "Absolutos" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Detalhes da conta" @@ -504,19 +499,19 @@ msgstr "Adicionar outra emissão..." msgid "Add directory..." msgstr "Adicionar diretório..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Adicionar ficheiro" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Adicionar ficheiro ao conversor" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Adicionar ficheiro(s) ao conversor" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Adicionar ficheiro..." @@ -524,12 +519,12 @@ msgstr "Adicionar ficheiro..." msgid "Add files to transcode" msgstr "Adicionar ficheiros a converter" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Adicionar diretório" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Adicionar diretório..." @@ -541,7 +536,7 @@ msgstr "Adicionar novo diretório..." msgid "Add podcast" msgstr "Adicionar podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Adicionar podcast..." @@ -609,10 +604,6 @@ msgstr "Adicionar reproduções ignoradas" msgid "Add song title tag" msgstr "Adicionar título" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Adicionar faixa à cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Adicionar número da faixa" @@ -621,18 +612,10 @@ msgstr "Adicionar número da faixa" msgid "Add song year tag" msgstr "Adicionar ano" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Adicionar faixas às \"Minhas músicas\" ao clicar no botão \"Gosto\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Adicionar emissão..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Adicionar às \"Minha músicas\"" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Adicionar às listas do Spotify" @@ -641,14 +624,10 @@ msgstr "Adicionar às listas do Spotify" msgid "Add to Spotify starred" msgstr "Adicionar ao Spotify com estrela" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Adicionar noutra lista de reprodução" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Adicionar aos marcadores" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Adicionar à lista de reprodução" @@ -658,10 +637,6 @@ msgstr "Adicionar à lista de reprodução" msgid "Add to the queue" msgstr "Adicionar à fila de reprodução" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Adicionar utilizador/grupo aos marcadores" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Adicionar uma ação wiimotedev" @@ -699,7 +674,7 @@ msgstr "Após " msgid "After copying..." msgstr "Depois de copiar..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -712,7 +687,7 @@ msgstr "Álbum" msgid "Album (ideal loudness for all tracks)" msgstr "Álbum (volume ideal para todas as faixas)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -727,10 +702,6 @@ msgstr "Capa do álbum" msgid "Album info on jamendo.com..." msgstr "Informações do álbum em jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Álbuns" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Álbuns com capas" @@ -743,11 +714,11 @@ msgstr "Álbuns sem capas" msgid "All" msgstr "Todos" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Todos os ficheiros (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "All Glory to the Hypnotoad!" @@ -872,7 +843,7 @@ msgid "" "the songs of your library?" msgstr "Tem a certeza que pretende gravar as estatísticas e avaliações para todas as faixas da sua coleção?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -881,7 +852,7 @@ msgstr "Tem a certeza que pretende gravar as estatísticas e avaliações para t msgid "Artist" msgstr "Artista" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Info do artista" @@ -952,7 +923,7 @@ msgstr "Tamanho médio" msgid "BBC Podcasts" msgstr "Podcasts BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1009,7 +980,8 @@ msgstr "Melhor" msgid "Biography" msgstr "Biografia" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Taxa de dados" @@ -1062,7 +1034,7 @@ msgstr "Procurar..." msgid "Buffer duration" msgstr "Duração da memória" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "A processar..." @@ -1086,19 +1058,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Suporte a ficheiros CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Caminha da cache:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Colocação em cache" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "A colocar %1 em cache" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Cancelar" @@ -1107,12 +1066,6 @@ msgstr "Cancelar" msgid "Cancel download" msgstr "Cancelar descarga" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Requer Captcha\nInicie sessão no Vk.com com o navegador web para corrigir este problema" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Alterar capa do álbum" @@ -1151,6 +1104,10 @@ msgid "" "songs" msgstr "A alteração a esta preferência de reprodução produzirá efeito nas faixas seguintes" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Procurar novos episódios" @@ -1159,19 +1116,15 @@ msgstr "Procurar novos episódios" msgid "Check for updates" msgstr "Procurar atualizações" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Procurar atualizações..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Escolher diretório de cache Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Escolha o nome da lista de reprodução inteligente" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Escolher automaticamente" @@ -1217,13 +1170,13 @@ msgstr "Eliminação" msgid "Clear" msgstr "Limpar" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Limpar lista de reprodução" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1356,24 +1309,20 @@ msgstr "Cores" msgid "Comma separated list of class:level, level is 0-3" msgstr "Lista de classes separadas por vírgula: nível entre 0 e 3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Comentário" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Rádio da comunidade" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Preencher etiquetas automaticamente" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Preencher etiquetas automaticamente..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1404,15 +1353,11 @@ msgstr "Configurar Spotify..." msgid "Configure Subsonic..." msgstr "Configurar Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Configurar Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Configurar pesquisa global..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Configurar coleção..." @@ -1446,16 +1391,16 @@ msgid "" "http://localhost:4040/" msgstr "Ligação recusada pelo servidor. Verifique o URL. Por exemplo: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Ligação expirada. Verifique o URL. Por exemplo: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Erro na ligação ou o som foi desativado pelo proprietário" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Consola" @@ -1479,20 +1424,16 @@ msgstr "Converter ficheiros áudio antes de os enviar para o serviço remoto." msgid "Convert lossless files" msgstr "Converter ficheiros sem perdas" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Copiar URL para a área de transferência" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Copiar para a área de transferência" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Copiar para o dispositivo..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Copiar para a coleção..." @@ -1514,6 +1455,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Incapaz de criar o elemento GStreamer \"%1\" - certifique-se que tem instalados todos os suplementos necessários" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Não foi possível criar a lista de reprodução" @@ -1540,7 +1490,7 @@ msgstr "Não foi possível abrir o ficheiro %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Gestor de capas" @@ -1626,11 +1576,11 @@ msgid "" "recover your database" msgstr "Base de dados danificada. Consulte a página https://github.com/clementine-player/Clementine/wiki/Database-Corruption para obter instruções sobre como recuperar a sua base de dados" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Data de criação" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Data de modificação" @@ -1658,7 +1608,7 @@ msgstr "Diminuir volume" msgid "Default background image" msgstr "Imagem de fundo padrão" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Dispositivo pré-definido em %1" @@ -1681,7 +1631,7 @@ msgid "Delete downloaded data" msgstr "Apagar dados descarregados" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Apagar ficheiros" @@ -1689,7 +1639,7 @@ msgstr "Apagar ficheiros" msgid "Delete from device..." msgstr "Apagar do dispositivo..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Apagar do disco..." @@ -1714,11 +1664,15 @@ msgstr "Apagar ficheiros originais" msgid "Deleting files" msgstr "A eliminar ficheiros" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Retirar da fila as faixas selecionadas" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Retirar esta faixa da fila" @@ -1747,11 +1701,11 @@ msgstr "Nome do dispositivo" msgid "Device properties..." msgstr "Propriedades do dispositivo..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Dispositivos" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Caixa de diálogo" @@ -1798,7 +1752,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Inativo" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1819,7 +1773,7 @@ msgstr "Opções de exibição" msgid "Display the on-screen-display" msgstr "Mostrar notificação" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Reanalisar coleção" @@ -1990,12 +1944,12 @@ msgstr "Combinação aleatória dinâmica" msgid "Edit smart playlist..." msgstr "Editar lista de reprodução inteligente..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Editar \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Editar etiqueta..." @@ -2008,7 +1962,7 @@ msgid "Edit track information" msgstr "Editar informações da faixa" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Editar informações da faixa..." @@ -2028,10 +1982,6 @@ msgstr "E-mail" msgid "Enable Wii Remote support" msgstr "Ativar suporte a Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Ativar caching automático" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Ativar equalizador" @@ -2116,7 +2066,7 @@ msgstr "Introduza este IP na aplicação para se ligar ao Clementine" msgid "Entire collection" msgstr "Toda a coleção" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Equalizador" @@ -2129,8 +2079,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Equivalente a --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Erro" @@ -2150,6 +2100,11 @@ msgstr "Erro ao copiar faixas" msgid "Error deleting songs" msgstr "Erro ao eliminar faixas" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Erro ao descarregar o suplemento Spotify" @@ -2270,7 +2225,7 @@ msgstr "Desvanecimento" msgid "Fading duration" msgstr "Duração" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Falha ao ler a unidade de CD" @@ -2349,27 +2304,23 @@ msgstr "Extensão do ficheiro" msgid "File formats" msgstr "Formatos de ficheiro" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nome do ficheiro" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Nome do ficheiro (sem caminho)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Padrão do nome de ficheiro:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Caminhos de ficheiro" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Tamanho do ficheiro" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2379,7 +2330,7 @@ msgstr "Tipo de ficheiro" msgid "Filename" msgstr "Nome do ficheiro" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Ficheiros" @@ -2391,10 +2342,6 @@ msgstr "Ficheiros a converter" msgid "Find songs in your library that match the criteria you specify." msgstr "Procurar faixas da coleção que coincidem com os critérios indicados" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Procurar este artista" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "A procurar identificadores" @@ -2463,6 +2410,7 @@ msgid "Form" msgstr "Formulário" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formato" @@ -2499,7 +2447,7 @@ msgstr "Agudos" msgid "Ge&nre" msgstr "Gé&nero" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Geral" @@ -2507,7 +2455,7 @@ msgstr "Geral" msgid "General settings" msgstr "Definições gerais" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2540,11 +2488,11 @@ msgstr "Nome:" msgid "Go" msgstr "Procurar" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Ir para o separador seguinte" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Ir para o separador anterior" @@ -2598,7 +2546,7 @@ msgstr "Agrupar por género/álbum" msgid "Group by Genre/Artist/Album" msgstr "Agrupar por género/artista/álbum" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2788,11 +2736,11 @@ msgstr "Instalado" msgid "Integrity check" msgstr "Verificação de integridade" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Serviços na Internet" @@ -2809,6 +2757,10 @@ msgstr "Metade das faixas" msgid "Invalid API key" msgstr "Chave API inválida" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Formato inválido" @@ -2865,7 +2817,7 @@ msgstr "Base de dados Jamendo" msgid "Jump to previous song right away" msgstr "Imediatamente para a faixa anterior " -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Ir para a faixa em reprodução" @@ -2889,7 +2841,7 @@ msgstr "Executar em segundo plano ao fechar a janela principal" msgid "Keep the original files" msgstr "Manter ficheiros originais" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Gatinhos" @@ -2930,7 +2882,7 @@ msgstr "Barra lateral grande" msgid "Last played" msgstr "Última reprodução" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Última reprodução" @@ -2971,12 +2923,12 @@ msgstr "Faixas favoritas (mas pouco)" msgid "Left" msgstr "Esquerda" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Duração" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Coleção" @@ -2985,7 +2937,7 @@ msgstr "Coleção" msgid "Library advanced grouping" msgstr "Agrupamento avançado da coleção" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Aviso de análise da coleção" @@ -3025,7 +2977,7 @@ msgstr "Carregar capa de álbum no disco..." msgid "Load playlist" msgstr "Carregar lista de reprodução" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Carregar lista de reprodução..." @@ -3061,8 +3013,7 @@ msgstr "A carregar informação das faixas" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "A carregar..." @@ -3071,7 +3022,6 @@ msgstr "A carregar..." msgid "Loads files/URLs, replacing current playlist" msgstr "Carregar ficheiros/URL, substituindo a lista de reprodução atual" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3081,8 +3031,7 @@ msgstr "Carregar ficheiros/URL, substituindo a lista de reprodução atual" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Iniciar sessão" @@ -3090,15 +3039,11 @@ msgstr "Iniciar sessão" msgid "Login failed" msgstr "Falha ao iniciar sessão" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Sair" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Perfil para predição (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Gosto" @@ -3179,7 +3124,7 @@ msgstr "Perfil principal (MAIN)" msgid "Make it so!" msgstr "Make it so!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Make it so!" @@ -3225,10 +3170,6 @@ msgstr "Coincidente com cada termo de pesquisa (E)" msgid "Match one or more search terms (OR)" msgstr "Coincidente com um ou mais termos de pesquisa (OU)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Resultados máximos na pesquisa global" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Taxa de dados máxima" @@ -3259,6 +3200,10 @@ msgstr "Taxa de dados mínima" msgid "Minimum buffer fill" msgstr "Valor mínimo de memória" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Pré-ajustes projectM em falta" @@ -3279,7 +3224,7 @@ msgstr "Reprodução mono" msgid "Months" msgstr "Meses" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Estado de espírito" @@ -3292,10 +3237,6 @@ msgstr "Estilo da barra" msgid "Moodbars" msgstr "Barras de estado de espírito" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Mais" - #: library/library.cpp:84 msgid "Most played" msgstr "Mais reproduzidas" @@ -3313,7 +3254,7 @@ msgstr "Pontos de montagem" msgid "Move down" msgstr "Mover para baixo" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Mover para a coleção..." @@ -3322,8 +3263,7 @@ msgstr "Mover para a coleção..." msgid "Move up" msgstr "Mover para cima" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Música" @@ -3332,22 +3272,10 @@ msgid "Music Library" msgstr "Coleção de músicas" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Sem som" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Meus álbuns" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Minhas músicas" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "As minhas recomendações" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3393,7 +3321,7 @@ msgstr "Nunca iniciar a reprodução" msgid "New folder" msgstr "Novo diretório" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nova lista de reprodução" @@ -3422,7 +3350,7 @@ msgid "Next" msgstr "Seguinte" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Faixa seguinte" @@ -3460,7 +3388,7 @@ msgstr "Sem blocos curtos" msgid "None" msgstr "Nenhum" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Nenhuma das faixas selecionadas eram adequadas à cópia para o dispositivo" @@ -3509,10 +3437,6 @@ msgstr "Sessão não iniciada" msgid "Not mounted - double click to mount" msgstr "Não montado. Clique duas vezes para montar" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nada encontrado" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Tipo de notificação" @@ -3594,7 +3518,7 @@ msgstr "Opacidade" msgid "Open %1 in browser" msgstr "Abrir %1 no navegador" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "&Abrir CD áudio..." @@ -3614,7 +3538,7 @@ msgstr "Abrir um diretório para efetuar a importação" msgid "Open device" msgstr "Abrir dispositivo..." -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Abrir ficheiro..." @@ -3668,7 +3592,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organizar ficheiros" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organizar ficheiros..." @@ -3680,7 +3604,7 @@ msgstr "Organizando ficheiros" msgid "Original tags" msgstr "Etiquetas originais" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3748,7 +3672,7 @@ msgstr "Festa" msgid "Password" msgstr "Palavra-passe" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pausa" @@ -3761,7 +3685,7 @@ msgstr "Pausa na reprodução" msgid "Paused" msgstr "Em pausa" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3776,14 +3700,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Barra lateral simples" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Reproduzir" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Número de reproduções" @@ -3814,7 +3738,7 @@ msgstr "Opções do reprodutor" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Lista de reprodução" @@ -3831,7 +3755,7 @@ msgstr "Opções da lista de reprodução" msgid "Playlist type" msgstr "Tipo de lista de reprodução" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Listas de reprodução" @@ -3872,11 +3796,11 @@ msgstr "Preferências" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Preferências" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Preferências..." @@ -3936,7 +3860,7 @@ msgid "Previous" msgstr "Anterior" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Faixa anterior" @@ -3987,16 +3911,16 @@ msgstr "Qualidade" msgid "Querying device..." msgstr "A consultar dispositivo..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Gestor da fila" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Colocar em fila as faixas selecionadas" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Colocar esta faixa na fila" @@ -4008,7 +3932,7 @@ msgstr "Faixa (volume igual para todas as faixas)" msgid "Rain" msgstr "Chuva" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Chuva" @@ -4045,7 +3969,7 @@ msgstr "Atribuir 4 estrelas à faixa atual" msgid "Rate the current song 5 stars" msgstr "Atribuir 5 estrelas à faixa atual" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Avaliação" @@ -4112,7 +4036,7 @@ msgstr "Remover" msgid "Remove action" msgstr "Remover ação" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Remover duplicados da lista de reprodução" @@ -4120,15 +4044,7 @@ msgstr "Remover duplicados da lista de reprodução" msgid "Remove folder" msgstr "Remover diretório" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Remover das Minhas músicas" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Remover dos marcadores" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Remover da lista de reprodução" @@ -4140,7 +4056,7 @@ msgstr "Remover lista de reprodução" msgid "Remove playlists" msgstr "Remover listas de reprodução" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Remover da lista de reprodução as faixas indisponíveis" @@ -4152,7 +4068,7 @@ msgstr "Mudar nome da lista de reprodução" msgid "Rename playlist..." msgstr "Mudar nome da lista de reprodução..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Renumerar faixas por esta ordem..." @@ -4202,7 +4118,7 @@ msgstr "Preencher novamente" msgid "Require authentication code" msgstr "Requer código de autenticação" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Reiniciar" @@ -4243,7 +4159,7 @@ msgstr "Extrair" msgid "Rip CD" msgstr "Extrair CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Extrair CD áudio" @@ -4273,8 +4189,9 @@ msgstr "Remover dispositivo em segurança" msgid "Safely remove the device after copying" msgstr "Depois de copiar, remover dispositivo em segurança" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Frequência" @@ -4312,7 +4229,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Guardar lista de reprodução" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Guardar lista de reprodução..." @@ -4352,7 +4269,7 @@ msgstr "Perfil de taxa de amostragem ajustável (SSR)" msgid "Scale size" msgstr "Escala" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Pontuação" @@ -4369,12 +4286,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Pesquisar" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Pesquisar" @@ -4517,7 +4434,7 @@ msgstr "Detalhes do servidor" msgid "Service offline" msgstr "Serviço desligado" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Definir %1 para \"%2\"..." @@ -4526,7 +4443,7 @@ msgstr "Definir %1 para \"%2\"..." msgid "Set the volume to percent" msgstr "Ajustar volume para por cento" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Utilizar valor para todas as faixas selecionadas..." @@ -4593,7 +4510,7 @@ msgstr "Mostrar notificação personalizada" msgid "Show above status bar" msgstr "Mostrar acima da barra de estado" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Mostrar todas as faixas" @@ -4613,16 +4530,12 @@ msgstr "Mostrar separadores" msgid "Show fullsize..." msgstr "Mostrar em ecrã completo..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Mostrar grupos nos resultados de pesquisa global" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Mostrar no gestor de ficheiros..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Mostrar na coleção..." @@ -4634,27 +4547,23 @@ msgstr "Mostrar em vários artistas" msgid "Show moodbar" msgstr "Mostrar barra de estado de espírito" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Mostrar apenas as repetidas" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Mostrar apenas faixas sem etiquetas" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Mostrar ou ocultar a barra lateral" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Mostrar faixa reproduzida na página de perfil" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Mostrar sugestões de pesquisa" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Mostrar barra lateral" @@ -4690,7 +4599,7 @@ msgstr "Desordenar álbuns" msgid "Shuffle all" msgstr "Desordenar tudo" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Desordenar lista de reprodução" @@ -4726,7 +4635,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Recuar na lista de reprodução" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Reproduções ignoradas" @@ -4734,11 +4643,11 @@ msgstr "Reproduções ignoradas" msgid "Skip forwards in playlist" msgstr "Avançar na lista de reprodução" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Ignorar faixas selecionadas" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Ignorar faixa" @@ -4770,7 +4679,7 @@ msgstr "Rock suave" msgid "Song Information" msgstr "Informações da faixa" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Info da faixa" @@ -4806,7 +4715,7 @@ msgstr "Organização" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Fonte" @@ -4881,7 +4790,7 @@ msgid "Starting..." msgstr "A iniciar..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Parar" @@ -4897,7 +4806,7 @@ msgstr "Parar após cada faixa" msgid "Stop after every track" msgstr "Parar após cada faixa" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Parar após esta faixa" @@ -4926,6 +4835,10 @@ msgstr "Parado" msgid "Stream" msgstr "Emissão" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5035,6 +4948,10 @@ msgstr "A capa de álbum da faixa em reprodução" msgid "The directory %1 is not valid" msgstr "O diretório %1 é inválido" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "O segundo valor tem que ser superior ao primeiro" @@ -5053,7 +4970,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "O período de testes do Subsonic terminou. Efetue um donativo para obter uma licença. Consulte subsonic.org para mais detalhes." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5095,7 +5012,7 @@ msgid "" "continue?" msgstr "Estes ficheiros serão removidos do dispositivo. Tem a certeza de que deseja continuar?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5179,7 +5096,7 @@ msgstr "Este tipo de dispositivo não é suportado: %1" msgid "Time step" msgstr "Valor de tempo" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5198,11 +5115,11 @@ msgstr "Alternar notificação" msgid "Toggle fullscreen" msgstr "Trocar para ecrã completo" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Trocar estado da fila" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Alternar envio" @@ -5242,7 +5159,7 @@ msgstr "Total de pedidos efetuados" msgid "Trac&k" msgstr "Fai&xa" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Faixa" @@ -5251,7 +5168,7 @@ msgstr "Faixa" msgid "Tracks" msgstr "Faixas" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Conversão de ficheiros" @@ -5288,6 +5205,10 @@ msgstr "Desligar" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL" @@ -5313,9 +5234,9 @@ msgstr "Incapaz de descarregar %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Desconhecido" @@ -5332,11 +5253,11 @@ msgstr "Erro desconhecido" msgid "Unset cover" msgstr "Sem capa" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Não ignorar faixas selecionadas" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Não ignorar faixa" @@ -5349,15 +5270,11 @@ msgstr "Cancelar subscrição" msgid "Upcoming Concerts" msgstr "Próximos eventos" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Atualizar" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Atualizar todos os podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Atualizar diretórios lterados" @@ -5467,7 +5384,7 @@ msgstr "Utilizar normalização de volume" msgid "Used" msgstr "Utilizado" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Interface de utilizador" @@ -5493,7 +5410,7 @@ msgid "Variable bit rate" msgstr "Taxa de dados variável" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Vários artistas" @@ -5506,11 +5423,15 @@ msgstr "Versão %1" msgid "View" msgstr "Ver" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Modo de visualização" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualizações" @@ -5518,10 +5439,6 @@ msgstr "Visualizações" msgid "Visualizations Settings" msgstr "Definições das visualizações" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Deteção de voz" @@ -5544,10 +5461,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Mural" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Avisar ao fechar um separador de lista de reprodução" @@ -5650,7 +5563,7 @@ msgid "" "well?" msgstr "Pretende mover as outras faixas deste álbum para Vários artistas?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Pretende executar uma nova análise?" @@ -5666,7 +5579,7 @@ msgstr "Gravar metadados" msgid "Wrong username or password." msgstr "Nome de utilizador e/ou palavra-passe inválido(a)" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/pt_BR.po b/src/translations/pt_BR.po index 7bdc8667a..da7102e74 100644 --- a/src/translations/pt_BR.po +++ b/src/translations/pt_BR.po @@ -19,8 +19,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-19 12:44+0000\n" -"Last-Translator: carlo giusepe tadei valente sasaki \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/davidsansome/clementine/language/pt_BR/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -75,11 +75,6 @@ msgstr " segundos" msgid " songs" msgstr " músicas" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 músicas)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -111,7 +106,7 @@ msgstr "%1 de %2" msgid "%1 playlists (%2)" msgstr "%1 listas de reprodução (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 selecionado(s) de" @@ -136,7 +131,7 @@ msgstr "%1 músicas encontradas" msgid "%1 songs found (showing %2)" msgstr "%1 músicas encontradas (Exibindo %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 faixas" @@ -196,7 +191,7 @@ msgstr "&Centro" msgid "&Custom" msgstr "&Personalizado" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Extras" @@ -204,7 +199,7 @@ msgstr "Extras" msgid "&Grouping" msgstr "A&grupamento" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Ajuda" @@ -229,7 +224,7 @@ msgstr "Travar ava&liação" msgid "&Lyrics" msgstr "&Letras" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Música" @@ -237,15 +232,15 @@ msgstr "Música" msgid "&None" msgstr "&Nenhum" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Lista de Reprodução" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Sair" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Mode de Repetição" @@ -253,7 +248,7 @@ msgstr "&Mode de Repetição" msgid "&Right" msgstr "&Direita" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Modo aleatório" @@ -261,7 +256,7 @@ msgstr "Modo aleatório" msgid "&Stretch columns to fit window" msgstr "&Esticar colunas para ajustar a janela" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Ferramentas" @@ -297,7 +292,7 @@ msgstr "0px" msgid "1 day" msgstr "1 dia" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 faixa" @@ -441,11 +436,11 @@ msgstr "Abortar" msgid "About %1" msgstr "Sobre %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Sobre o Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Sobre o Qt..." @@ -455,7 +450,7 @@ msgid "Absolute" msgstr "Absoluto" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Detalhes da conta" @@ -509,19 +504,19 @@ msgstr "Adicionar outro canal..." msgid "Add directory..." msgstr "Adicionar diretório..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Adicionar arquivo" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Adicionar arquivo para conversor" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Adicionar arquivo(s) para conversor" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Adicionar arquivo..." @@ -529,12 +524,12 @@ msgstr "Adicionar arquivo..." msgid "Add files to transcode" msgstr "Adicionar arquivos para converter" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Adicionar pasta" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Adicionar pasta..." @@ -546,7 +541,7 @@ msgstr "Adicionar nova pasta..." msgid "Add podcast" msgstr "Adicionar podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Adicionar podcast..." @@ -614,10 +609,6 @@ msgstr "Adicionar contador de pular música" msgid "Add song title tag" msgstr "Adicionar a tag título da música" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Adicionar música ao cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Adicionar a tag faixa da música" @@ -626,18 +617,10 @@ msgstr "Adicionar a tag faixa da música" msgid "Add song year tag" msgstr "Adicionar a tag ano da música" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Adicionar músicas às \"Minhas músicas\" quando o botão \"Curtir\" for clicado" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Adicionar transmissão..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Adicionar às Minhas músicas" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Adicionar às listas de reprodução do Spotify" @@ -646,14 +629,10 @@ msgstr "Adicionar às listas de reprodução do Spotify" msgid "Add to Spotify starred" msgstr "Adicionar ao Spotify com estrela" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Adicionar a outra lista de reprodução" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Adicionar aos favoritos" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Adicionar à lista de reprodução" @@ -663,10 +642,6 @@ msgstr "Adicionar à lista de reprodução" msgid "Add to the queue" msgstr "Adicionar à fila" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Adicionar usuário/grupo aos favoritos" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Adicionar ação de dispositivo wiimote" @@ -704,7 +679,7 @@ msgstr "Depois" msgid "After copying..." msgstr "Depois de copiar..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -717,7 +692,7 @@ msgstr "Álbum" msgid "Album (ideal loudness for all tracks)" msgstr "Álbum (volume ideal para todas as faixas)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -732,10 +707,6 @@ msgstr "Capa do Álbum" msgid "Album info on jamendo.com..." msgstr "Informação do álbum no jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Discos" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Álbuns com capas" @@ -748,11 +719,11 @@ msgstr "Álbuns sem capas" msgid "All" msgstr "Tudo" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Todos os arquivos (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Toda a Glória para o Hypnotoad!" @@ -877,7 +848,7 @@ msgid "" "the songs of your library?" msgstr "Tem certeza de que deseja escrever estatísticas de música em arquivo de músicas para todas as músicas da sua biblioteca?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -886,7 +857,7 @@ msgstr "Tem certeza de que deseja escrever estatísticas de música em arquivo d msgid "Artist" msgstr "Artista" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Sobre o Artista" @@ -957,7 +928,7 @@ msgstr "Tamanho médio de imagem" msgid "BBC Podcasts" msgstr "Podcasts BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1014,7 +985,8 @@ msgstr "Melhor" msgid "Biography" msgstr "Biografia" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Taxa de bits" @@ -1067,7 +1039,7 @@ msgstr "Procurar..." msgid "Buffer duration" msgstr "Duração do buffer" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Armazenando em buffer" @@ -1091,19 +1063,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Suporte a lista CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Localização do cache:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Caching" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Caching %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Cancelar" @@ -1112,12 +1071,6 @@ msgstr "Cancelar" msgid "Cancel download" msgstr "Cancelar o download" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "O Captcha é necessário.\nTente logar no Vk.com com seu navegador para resolver esse problema." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Alterar capa" @@ -1156,6 +1109,10 @@ msgid "" "songs" msgstr "Alterar a saída mono terá efeito para as próximas músicas a serem tocadas" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Procurar por novos episódios" @@ -1164,19 +1121,15 @@ msgstr "Procurar por novos episódios" msgid "Check for updates" msgstr "Verificar se há atualizações" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Procurar por atualizações..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Escolha o diretório do cache do Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Escolha um nome para sua lista inteligente" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Escolher automaticamente" @@ -1222,13 +1175,13 @@ msgstr "Limpando" msgid "Clear" msgstr "Limpar" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Limpar lista de reprodução" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1361,24 +1314,20 @@ msgstr "Cores" msgid "Comma separated list of class:level, level is 0-3" msgstr "Lista separada por vírgulas de classe: o nível, o nível é 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Comentário" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Rádio da comunidade" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Completar tags automaticamente" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Preencher tags automaticamente..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1409,15 +1358,11 @@ msgstr "Configurar Spotify..." msgid "Configure Subsonic..." msgstr "Configurar Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Configurar Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Configurar busca global..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Configurar biblioteca..." @@ -1451,16 +1396,16 @@ msgid "" "http://localhost:4040/" msgstr "Conexão recusada pelo servidor, verifique a URL do servidor. Exemplo: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Conexão expirou, verifique a URL do servidor. Exemplo: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Problemas com a conexão ou o áudio foi desabilitado pelo proprietário" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Painel" @@ -1484,20 +1429,16 @@ msgstr "Converter arquivos de áudio sem perda antes de enviá-los remotamente." msgid "Convert lossless files" msgstr "Converter arquivos sem perda" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Copiar url compartilhada para a área de transferência" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Copiar para a área de transferência" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Copiar para o dispositivo..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Copiar para biblioteca..." @@ -1519,6 +1460,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Incapaz de criar o elemento GStreamer \"%1\" - confira se você possui todos os plugins requeridos pelo GStreamer instalados" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Não foi possível criar a lista de reprodução" @@ -1545,7 +1495,7 @@ msgstr "Não foi possível abrir o arquivo de saída %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Gerenciador de capas" @@ -1631,11 +1581,11 @@ msgid "" "recover your database" msgstr "Banco de dados corrompido detectado. Por favor leia https://github.com/clementine-player/Clementine/wiki/Database-Corruption para instruções de como recuperar seu banco de dados" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Data de criação" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Data de modificação" @@ -1663,7 +1613,7 @@ msgstr "Diminuir volume" msgid "Default background image" msgstr "Imagem de fundo padrão" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Dispositivo padrão em %1" @@ -1686,7 +1636,7 @@ msgid "Delete downloaded data" msgstr "Apagar dados baixados" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Excluir arquivos" @@ -1694,7 +1644,7 @@ msgstr "Excluir arquivos" msgid "Delete from device..." msgstr "Apagar do dispositivo..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Apagar do disco..." @@ -1719,11 +1669,15 @@ msgstr "Apagar os arquivos originais" msgid "Deleting files" msgstr "Apagando arquivos" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Retirar faixas selecionadas da fila" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Retirar faixa da fila" @@ -1752,11 +1706,11 @@ msgstr "Nome do dispositivo" msgid "Device properties..." msgstr "Propriedades do dispositivo..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Dispositivos" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Diálogo" @@ -1803,7 +1757,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Desativado" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1824,7 +1778,7 @@ msgstr "Opções de exibição" msgid "Display the on-screen-display" msgstr "Mostrar na tela" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Reescanear por completo a biblioteca" @@ -1995,12 +1949,12 @@ msgstr "Mix aleatório dinâmico" msgid "Edit smart playlist..." msgstr "Editar lista de reprodução inteligente..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Editar tag \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Editar tag..." @@ -2013,7 +1967,7 @@ msgid "Edit track information" msgstr "Editar informações da faixa" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Editar informações da faixa..." @@ -2033,10 +1987,6 @@ msgstr "E-mail" msgid "Enable Wii Remote support" msgstr "Habilitar suporte a controle remoto do Wii" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Habilitar caching automático" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Habilitar equalizador" @@ -2121,7 +2071,7 @@ msgstr "Digite este IP no Aplicativo para conectar ao Clementine." msgid "Entire collection" msgstr "Toda a coletânia" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Equalizador" @@ -2134,8 +2084,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Equivalente ao --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Erro" @@ -2155,6 +2105,11 @@ msgstr "Erro ao copiar músicas" msgid "Error deleting songs" msgstr "Erro ao apagar músicas" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Erro ao baixar o plugin Spotify" @@ -2275,7 +2230,7 @@ msgstr "Diminuindo" msgid "Fading duration" msgstr "Duração da dimunuição" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Falha ao ler o CD" @@ -2354,27 +2309,23 @@ msgstr "Extensão de arquivo" msgid "File formats" msgstr "Formatos de arquivo" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nome de arquivo" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Nome do arquivo (sem pasta)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Padrão do nome de arquivo:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Endereços dos arquivos" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Tamanho do arquivo" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2384,7 +2335,7 @@ msgstr "Tipo de arquivo" msgid "Filename" msgstr "Nome do arquivo" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Arquivos" @@ -2396,10 +2347,6 @@ msgstr "Arquivos para converter" msgid "Find songs in your library that match the criteria you specify." msgstr "Encontrar músicas na sua biblioteca que satisfazem aos critérios que você especificar." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Encontre esse artista" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Registrando a música" @@ -2468,6 +2415,7 @@ msgid "Form" msgstr "Formulário" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formato" @@ -2504,7 +2452,7 @@ msgstr "Muito Agudo" msgid "Ge&nre" msgstr "Gê&nero" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Geral" @@ -2512,7 +2460,7 @@ msgstr "Geral" msgid "General settings" msgstr "Configurações gerais" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2545,11 +2493,11 @@ msgstr "Nome da transmissão:" msgid "Go" msgstr "Ir" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Ir até a aba do próximo playlist" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Ir até a aba lista de reprodução anterior" @@ -2603,7 +2551,7 @@ msgstr "Organizar por Gênero/Álbum" msgid "Group by Genre/Artist/Album" msgstr "Organizar por Gênero/Artista/Álbum" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2793,11 +2741,11 @@ msgstr "Instalado" msgid "Integrity check" msgstr "Verificar integridade" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Dados da Internet" @@ -2814,6 +2762,10 @@ msgstr "Introdução das faixas" msgid "Invalid API key" msgstr "Chave API inválida" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Formato inválido" @@ -2870,7 +2822,7 @@ msgstr "Banco de dados Jamendo" msgid "Jump to previous song right away" msgstr "Pular imediatamente para a faixa anterior" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Pular para a faixa em execução" @@ -2894,7 +2846,7 @@ msgstr "Continuar executando quando a janela é fechada" msgid "Keep the original files" msgstr "Manter arquivos originais" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Gatinhos" @@ -2935,7 +2887,7 @@ msgstr "Barra lateral grande" msgid "Last played" msgstr "Última reprodução" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Reproduzida por último" @@ -2976,12 +2928,12 @@ msgstr "Faixas menos preferidas" msgid "Left" msgstr "Esquerda" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Duração" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Biblioteca" @@ -2990,7 +2942,7 @@ msgstr "Biblioteca" msgid "Library advanced grouping" msgstr "Organização avançada de biblioteca" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Aviso de reescaneamento da biblioteca" @@ -3030,7 +2982,7 @@ msgstr "Carregar capa do disco..." msgid "Load playlist" msgstr "Carregar lista de reprodução" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Carregar lista de reprodução..." @@ -3066,8 +3018,7 @@ msgstr "Carregando informações da faixa" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Carregando..." @@ -3076,7 +3027,6 @@ msgstr "Carregando..." msgid "Loads files/URLs, replacing current playlist" msgstr "Carregar arquivos/sites, substiuindo a lista de reprodução atual" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3086,8 +3036,7 @@ msgstr "Carregar arquivos/sites, substiuindo a lista de reprodução atual" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Login" @@ -3095,15 +3044,11 @@ msgstr "Login" msgid "Login failed" msgstr "Falha ao conectar" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Logout" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Perfil de previsão a longo prazo (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Curtir" @@ -3184,7 +3129,7 @@ msgstr "Menu perfil (PRINCIPAL)" msgid "Make it so!" msgstr "Agora!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Faça isso!" @@ -3230,10 +3175,6 @@ msgstr "Buscar por todos os termos de pesquisa juntos (E)" msgid "Match one or more search terms (OR)" msgstr "Buscar um ou mais termos de pesquisa (OU)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Número máximo de resultados da busca global" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Taxa de bits máxima" @@ -3264,6 +3205,10 @@ msgstr "Taxa de bits mínima" msgid "Minimum buffer fill" msgstr "Preenchimento mínimo do buffer" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Pré-definições do projectM faltando" @@ -3284,7 +3229,7 @@ msgstr "Saída Mono" msgid "Months" msgstr "Meses" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Modo" @@ -3297,10 +3242,6 @@ msgstr "Estilo da moodbar" msgid "Moodbars" msgstr "Moodbars" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Mais" - #: library/library.cpp:84 msgid "Most played" msgstr "Mais tocadas" @@ -3318,7 +3259,7 @@ msgstr "Pontos de montagem" msgid "Move down" msgstr "Para baixo" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Mover para biblioteca..." @@ -3327,8 +3268,7 @@ msgstr "Mover para biblioteca..." msgid "Move up" msgstr "Para cima" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Música" @@ -3337,22 +3277,10 @@ msgid "Music Library" msgstr "Biblioteca de Músicas" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Mudo" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Meus discos" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Minha Música" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Minhas Recomendações" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3398,7 +3326,7 @@ msgstr "Nunca iniciar tocando" msgid "New folder" msgstr "Nova pasta" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nova lista de reprodução" @@ -3427,7 +3355,7 @@ msgid "Next" msgstr "Próximo" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Próxima faixa" @@ -3465,7 +3393,7 @@ msgstr "Sem blocos curtos" msgid "None" msgstr "Nenhum" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Nenhuma das músicas selecionadas estão adequadas para copiar para um dispositivo" @@ -3514,10 +3442,6 @@ msgstr "Não logado" msgid "Not mounted - double click to mount" msgstr "Não montado - clique duas vezes para montar" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nada encontrado" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Tipo de notificação" @@ -3599,7 +3523,7 @@ msgstr "Opacidade" msgid "Open %1 in browser" msgstr "Abrir %1 no browser" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Abrir CD de &áudio..." @@ -3619,7 +3543,7 @@ msgstr "Abrir uma pasta para importar músicas" msgid "Open device" msgstr "Abrir dispositivo" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Abrir arquivo..." @@ -3673,7 +3597,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organizar Arquivos" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organizar arquivos..." @@ -3685,7 +3609,7 @@ msgstr "Organizando arquivos" msgid "Original tags" msgstr "Tags originais" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3753,7 +3677,7 @@ msgstr "Festa" msgid "Password" msgstr "Senha" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pausar" @@ -3766,7 +3690,7 @@ msgstr "Pausar reprodução" msgid "Paused" msgstr "Pausado" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3781,14 +3705,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Barra lateral simples" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Reproduzir" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Número de reproduções" @@ -3819,7 +3743,7 @@ msgstr "Opções do player" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Lista de Reprodução" @@ -3836,7 +3760,7 @@ msgstr "Opções da lista de reprodução" msgid "Playlist type" msgstr "Tipo de lista de reprodução" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Listas de reprodução" @@ -3877,11 +3801,11 @@ msgstr "Preferência" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Preferências" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Preferências..." @@ -3941,7 +3865,7 @@ msgid "Previous" msgstr "Anterior" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Faixa anterior" @@ -3992,16 +3916,16 @@ msgstr "Qualidade" msgid "Querying device..." msgstr "Consultando dispositivo..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Gerenciador de Fila" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Colocar as faixas selecionadas na fila" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Colocar a faixa na fila" @@ -4013,7 +3937,7 @@ msgstr "Rádio (volume igual para todas as faixas)" msgid "Rain" msgstr "Chuva" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Chuva" @@ -4050,7 +3974,7 @@ msgstr "Classificar a música atual com 4 estrelas" msgid "Rate the current song 5 stars" msgstr "Classificar a música atual com 5 estrelas" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Avaliação" @@ -4117,7 +4041,7 @@ msgstr "Remover" msgid "Remove action" msgstr "Remover ação" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Remover duplicados da lista de reprodução" @@ -4125,15 +4049,7 @@ msgstr "Remover duplicados da lista de reprodução" msgid "Remove folder" msgstr "Remover pasta" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Remover de Minha Música" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Remover dos favoritos" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Remover da lista de reprodução" @@ -4145,7 +4061,7 @@ msgstr "Remover lista de reprodução" msgid "Remove playlists" msgstr "Remover listas de reprodução" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Remover faixas indisponíveis da lista de reprodução" @@ -4157,7 +4073,7 @@ msgstr "Renomear lista de reprodução" msgid "Rename playlist..." msgstr "Renomear lista de reprodução..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Renumerar faixas nesta ordem..." @@ -4207,7 +4123,7 @@ msgstr "Repovoar" msgid "Require authentication code" msgstr "Exigir código de autenticação" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Redefinir" @@ -4248,7 +4164,7 @@ msgstr "Converter" msgid "Rip CD" msgstr "Extrair CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Extrair CD de áudio" @@ -4278,8 +4194,9 @@ msgstr "Remover o dispositivo com segurança" msgid "Safely remove the device after copying" msgstr "Remover o dispositivo com segurança após copiar" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Taxa de amostragem" @@ -4317,7 +4234,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Salvar lista de reprodução" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Salvar lista de reprodução..." @@ -4357,7 +4274,7 @@ msgstr "Perfil evolutivo taxa de amostragem (SSR)" msgid "Scale size" msgstr "Tamanho de escala" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Pontuação" @@ -4374,12 +4291,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Pesquisar" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Pesquisar" @@ -4522,7 +4439,7 @@ msgstr "Detalhes do servidor" msgid "Service offline" msgstr "Serviço indisponível" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Mudar %1 para \"%2\"..." @@ -4531,7 +4448,7 @@ msgstr "Mudar %1 para \"%2\"..." msgid "Set the volume to percent" msgstr "Mudar volume para por cento" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Mudar o valor para todas as faixas selecionadas..." @@ -4598,7 +4515,7 @@ msgstr "Mostrar aviso estilizado na tela" msgid "Show above status bar" msgstr "Mostrar acima da barra de status" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Mostrar todas as músicas" @@ -4618,16 +4535,12 @@ msgstr "Mostrar divisores" msgid "Show fullsize..." msgstr "Exibir em tamanho real..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Exibir grupos no resultado da busca global" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Mostrar no navegador de arquivos..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Mostrar na biblioteca..." @@ -4639,27 +4552,23 @@ msgstr "Exibir em vários artistas" msgid "Show moodbar" msgstr "Exibir moodbar" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Mostrar somente os duplicados" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Mostrar somente os sem tag" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Exibir ou ocultar a barra lateral" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Exibe a música em execução em sua página" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Exibir sugestões de busca" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Exibir a barra lateral" @@ -4695,7 +4604,7 @@ msgstr "Embaralhar albuns" msgid "Shuffle all" msgstr "Embaralhar tudo" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Embaralhar lista de reprodução" @@ -4731,7 +4640,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Pular para a música anterior da lista" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Número de pulos" @@ -4739,11 +4648,11 @@ msgstr "Número de pulos" msgid "Skip forwards in playlist" msgstr "Pular para a próxima música da lista" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Pular faixas selecionadas" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Pular faixa" @@ -4775,7 +4684,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Informações da Música" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Sobre a Música" @@ -4811,7 +4720,7 @@ msgstr "Organizando" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Fonte" @@ -4886,7 +4795,7 @@ msgid "Starting..." msgstr "Iniciando..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Parar" @@ -4902,7 +4811,7 @@ msgstr "Parar depois de cada faixa" msgid "Stop after every track" msgstr "Parar depois de todas as faixas" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Parar depois desta música" @@ -4931,6 +4840,10 @@ msgstr "Parado" msgid "Stream" msgstr "Transmissão" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5040,6 +4953,10 @@ msgstr "A capa do álbum da música atual" msgid "The directory %1 is not valid" msgstr "O diretório %1 não é válido" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "O segundo valor tem que ser maior que o primeiro!" @@ -5058,7 +4975,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "O período de testes para o servidor Subsonic acabou. Por favor, doe para obter uma chave de licença. Visite subsonic.org para mais detalhes." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5100,7 +5017,7 @@ msgid "" "continue?" msgstr "Estes arquivos serão deletados do dispositivo, tem certeza que deseja continuar?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5184,7 +5101,7 @@ msgstr "Este tipo de dispositivo não é suportado: %1" msgid "Time step" msgstr "Intervalo de tempo" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5203,11 +5120,11 @@ msgstr "Ativar/desativar Pretty OSD" msgid "Toggle fullscreen" msgstr "Ativar/desativar tela cheia" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Mudar status da fila" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Ativar/desativar scrobbling" @@ -5247,7 +5164,7 @@ msgstr "Total de requisições de rede feitas" msgid "Trac&k" msgstr "&Faixa" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Faixa" @@ -5256,7 +5173,7 @@ msgstr "Faixa" msgid "Tracks" msgstr "Faixas" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Converter Música" @@ -5293,6 +5210,10 @@ msgstr "Desligar" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Site(s)" @@ -5318,9 +5239,9 @@ msgstr "Não foi possível baixar %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Desconhecido" @@ -5337,11 +5258,11 @@ msgstr "Erro desconhecido" msgid "Unset cover" msgstr "Capa não fixada" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Não pular faixas selecionadas" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Não pular faixa" @@ -5354,15 +5275,11 @@ msgstr "Desinscrever" msgid "Upcoming Concerts" msgstr "Próximos shows" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Update" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Atualizar todos os podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Atualizar pastas da biblioteca modificadas" @@ -5472,7 +5389,7 @@ msgstr "Usar normalização de volume" msgid "Used" msgstr "Usado" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Interface" @@ -5498,7 +5415,7 @@ msgid "Variable bit rate" msgstr "Taxa de bits variável" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Vários artistas" @@ -5511,11 +5428,15 @@ msgstr "Versão %1" msgid "View" msgstr "Exibir" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Modo de visualização" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualizações" @@ -5523,10 +5444,6 @@ msgstr "Visualizações" msgid "Visualizations Settings" msgstr "Configurações de visualização" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Detecção de atividade de voz" @@ -5549,10 +5466,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Muro" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Avisar-me quando fechar uma guia de lista de reprodução" @@ -5655,7 +5568,7 @@ msgid "" "well?" msgstr "Gostaria de mover as outras músicas deste álbum para Vários Artistas?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Gostaria de realizar um reescaneamento completo agora?" @@ -5671,7 +5584,7 @@ msgstr "Escrever metadados" msgid "Wrong username or password." msgstr "Nome de usuário ou senha incorreta." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/ro.po b/src/translations/ro.po index b518cdc74..90cded6fa 100644 --- a/src/translations/ro.po +++ b/src/translations/ro.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Romanian (http://www.transifex.com/davidsansome/clementine/language/ro/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -75,11 +75,6 @@ msgstr " secunde" msgid " songs" msgstr " melodii" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 melodii)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -111,7 +106,7 @@ msgstr "%1 pe %2" msgid "%1 playlists (%2)" msgstr "%1 liste de redare (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 selectat din" @@ -136,7 +131,7 @@ msgstr "%1 melodii găsite" msgid "%1 songs found (showing %2)" msgstr "%1 melodii găsite (se afișează %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 piese" @@ -196,7 +191,7 @@ msgstr "&Centrat" msgid "&Custom" msgstr "&Personalizat" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extra" @@ -204,7 +199,7 @@ msgstr "&Extra" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Ajutor" @@ -229,7 +224,7 @@ msgstr "&Blochează evaluarea" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Muzică" @@ -237,15 +232,15 @@ msgstr "&Muzică" msgid "&None" msgstr "&Nimic" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Listă de redare" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Termină" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Mod repetare" @@ -253,7 +248,7 @@ msgstr "&Mod repetare" msgid "&Right" msgstr "&Dreapta" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Mod aleator" @@ -261,7 +256,7 @@ msgstr "&Mod aleator" msgid "&Stretch columns to fit window" msgstr "&Îngustează coloanele pentru a se potrivi în fereastră" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Unelte" @@ -297,7 +292,7 @@ msgstr "0px" msgid "1 day" msgstr "1 zi" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 piesă" @@ -441,11 +436,11 @@ msgstr "Anulează" msgid "About %1" msgstr "Despre %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Despre Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Despre Qt..." @@ -455,7 +450,7 @@ msgid "Absolute" msgstr "Absolut" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Detalii cont" @@ -509,19 +504,19 @@ msgstr "Adaugă alt flux..." msgid "Add directory..." msgstr "Adăugare dosar..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Adăugare fișier" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Adaugă fișier la transcodor" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Adaugă fișier(e) la transcodor" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Adaugă fișier..." @@ -529,12 +524,12 @@ msgstr "Adaugă fișier..." msgid "Add files to transcode" msgstr "Adaugă fișiere pentru transcodat" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Adăugare dosar" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Adaugă dosar..." @@ -546,7 +541,7 @@ msgstr "Adaugă dosar nou..." msgid "Add podcast" msgstr "Adaugă podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Adaugă podcast..." @@ -614,10 +609,6 @@ msgstr "Adaugă numărul de omiteri al melodiei" msgid "Add song title tag" msgstr "Adaugă eticheta titlului melodiei" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Adaugă melodie din cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Adaugă eticheta piesei" @@ -626,18 +617,10 @@ msgstr "Adaugă eticheta piesei" msgid "Add song year tag" msgstr "Adaugă eticheta anului melodiei" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Adaugă melodiile la \"Muzica mea\" când se face clic pe butonul \"Apreciați\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Adaugă flux..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Adaugă la Muzica mea" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Adaugă la listele de redare Spotify" @@ -646,14 +629,10 @@ msgstr "Adaugă la listele de redare Spotify" msgid "Add to Spotify starred" msgstr "Adaugă la Spotify starred" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Adaugă la altă listă de redare" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Adaugă la semnele de carte" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Adaugă în lista de redare" @@ -663,10 +642,6 @@ msgstr "Adaugă în lista de redare" msgid "Add to the queue" msgstr "Adaugă la coadă" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Adaugă utilizator/grup la semne de carte" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Adaugă acțiune wiimotedev" @@ -704,7 +679,7 @@ msgstr "După" msgid "After copying..." msgstr "După copiere..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -717,7 +692,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (intensitate sunet ideală pentru toate piesele)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -732,10 +707,6 @@ msgstr "Copertă album" msgid "Album info on jamendo.com..." msgstr "Informații album pe jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albume" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albume cu coperți" @@ -748,11 +719,11 @@ msgstr "Albume fără coperți" msgid "All" msgstr "Toate" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Toate fișierele (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Glorie Hypnotoadului!" @@ -877,7 +848,7 @@ msgid "" "the songs of your library?" msgstr "Sigur doriți să scrieți statisticile melodiei în fișierul melodiei pentru toate melodiile din colecția dumneavoastră?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -886,7 +857,7 @@ msgstr "Sigur doriți să scrieți statisticile melodiei în fișierul melodiei msgid "Artist" msgstr "Artist" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Informații artist" @@ -957,7 +928,7 @@ msgstr "Dimensiune medie a imaginii" msgid "BBC Podcasts" msgstr "Podcasturi BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1014,7 +985,8 @@ msgstr "Optim" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Rată de biți" @@ -1067,7 +1039,7 @@ msgstr "Navighează..." msgid "Buffer duration" msgstr "Durată memorie tampon" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Se încarcă memoria tampon" @@ -1091,19 +1063,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Suport jurnal CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Cale cache:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Memorare în cache" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Memorare în cache a %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Anulare" @@ -1112,12 +1071,6 @@ msgstr "Anulare" msgid "Cancel download" msgstr "Anulează descărcarea" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Este necesar Captcha.\nÎncercați să vă autentificați la Vk.com din browser, pentru a repara această problemă." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Schimbă coperta" @@ -1156,6 +1109,10 @@ msgid "" "songs" msgstr "Modificările preferinței redării mono vor avea efect pentru melodiile redate ulterior" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Verifică după episoade noi" @@ -1164,19 +1121,15 @@ msgstr "Verifică după episoade noi" msgid "Check for updates" msgstr "Verifică după actualizări" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Verifică după actualizări..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Alegeți directorul cache pentru Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Alegeți un nume pentru lista de redare inteligentă" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Alege automat" @@ -1222,13 +1175,13 @@ msgstr "Curățare" msgid "Clear" msgstr "Curăță" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Curăță lista de redare" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1361,24 +1314,20 @@ msgstr "Culori" msgid "Comma separated list of class:level, level is 0-3" msgstr "Listă separată prin virgulă de clasă:nivel, nivelul este 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Comentariu" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Radio al comunității" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Completează etichetele automat" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Completează etichetele automat..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1409,15 +1358,11 @@ msgstr "Configurați Spotify..." msgid "Configure Subsonic..." msgstr "Configurați Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Configurați Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Configurați căutarea globală..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Configurați colecția..." @@ -1451,16 +1396,16 @@ msgid "" "http://localhost:4040/" msgstr "Conexiune refuzată de server, verificați adresa URL a serverului. Exemplu: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Conexiunea a expirat, verificați adresa URL a serverului. Exemplu: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Probleme cu conexiunea sau audio dezactivat de către proprietar" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Consolă" @@ -1484,20 +1429,16 @@ msgstr "Convertește fișierele audio fără pierdere, înainte de trimiterea lo msgid "Convert lossless files" msgstr "Convertește fișiere fără pierdere" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Copiază în memoria temporară url-ul partajat" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Copiază în memoria temporară" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Copiază pe dispozitiv..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Copiază în colecție..." @@ -1519,6 +1460,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Nu se poate creea elementului GStreamer \"%1\" - asigurați-vă că aveți toate modulele GStreamer necesare instalate" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Nu se poate crea lista de redare" @@ -1545,7 +1495,7 @@ msgstr "Nu s-a putut deschide fișierul de ieșire %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Administrator coperți" @@ -1631,11 +1581,11 @@ msgid "" "recover your database" msgstr "S-a detectat alterarea bazei de date. Citiți https://github.com/clementine-player/Clementine/wiki/Database-Corruption pentru instrucțiuni pentru recuperarea bazei de date." -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Data creării" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Data modificării" @@ -1663,7 +1613,7 @@ msgstr "Scade volumul" msgid "Default background image" msgstr "Imagine de fundal implicită" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Dispozitiv implicit pe %1" @@ -1686,7 +1636,7 @@ msgid "Delete downloaded data" msgstr "Șterge datele descărcate" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Șterge fișiere" @@ -1694,7 +1644,7 @@ msgstr "Șterge fișiere" msgid "Delete from device..." msgstr "Șterge de pe dispozitiv..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Șterge de pe disc..." @@ -1719,11 +1669,15 @@ msgstr "Șterge fișierele originale" msgid "Deleting files" msgstr "Se șterg fișierele" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Elimină din coadă piesele selectate" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Elimină din coadă piesa" @@ -1752,11 +1706,11 @@ msgstr "Nume dispozitiv" msgid "Device properties..." msgstr "Proprietăți dispozitiv..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Dispozitive" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialog" @@ -1803,7 +1757,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Dezactivat" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1824,7 +1778,7 @@ msgstr "Afișează opțiunile" msgid "Display the on-screen-display" msgstr "Afișează afișarea pe ecran" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Rescanează complet colecția" @@ -1995,12 +1949,12 @@ msgstr "Mixare aleatoare dinamică" msgid "Edit smart playlist..." msgstr "Editare listă de redare inteligentă..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Editare eticheta \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Editare etichetă..." @@ -2013,7 +1967,7 @@ msgid "Edit track information" msgstr "Editare informație piesă" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Editare informație piesă..." @@ -2033,10 +1987,6 @@ msgstr "E-mail" msgid "Enable Wii Remote support" msgstr "Activează suport pentru Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Activează cachingul automat" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Activează egalizatorul" @@ -2121,7 +2071,7 @@ msgstr "Introduceți acest IP în aplicație pentru conectarea la Clementine." msgid "Entire collection" msgstr "Toată colecția" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Egalizator" @@ -2134,8 +2084,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Echivalent cu --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Eroare" @@ -2155,6 +2105,11 @@ msgstr "Eroare copiere melodii" msgid "Error deleting songs" msgstr "Eroare ștergere melodii" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Eroare la descărcarea modulului Spotify" @@ -2275,7 +2230,7 @@ msgstr "Se estompează" msgid "Fading duration" msgstr "Durata estompării" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "A eșuat citirea unității CD" @@ -2354,27 +2309,23 @@ msgstr "Extensie fișier" msgid "File formats" msgstr "Formate fișier" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Nume fișier" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Nume fișier (fără cale)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Model nume fișier:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Căi fișier" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Dimensiune fișier" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2384,7 +2335,7 @@ msgstr "Tip fișier" msgid "Filename" msgstr "Nume fișier" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Fișiere" @@ -2396,10 +2347,6 @@ msgstr "Fișiere de transcodat" msgid "Find songs in your library that match the criteria you specify." msgstr "Căutați melodii în colecția dumneavoastră care se potrivesc cu criteriul specificat." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Găsește acest artist" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Amprentare melodie" @@ -2468,6 +2415,7 @@ msgid "Form" msgstr "Formular" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2504,7 +2452,7 @@ msgstr "Înalte complet" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "General" @@ -2512,7 +2460,7 @@ msgstr "General" msgid "General settings" msgstr "Setări generale" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2545,11 +2493,11 @@ msgstr "Dați-i un nume:" msgid "Go" msgstr "Mergi" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Mergi la fila listei de redare următoare" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Mergi la fila listei de redare anterioare" @@ -2603,7 +2551,7 @@ msgstr "Grupează după gen/album" msgid "Group by Genre/Artist/Album" msgstr "Grupează după gen/artist/album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2793,11 +2741,11 @@ msgstr "Instalat" msgid "Integrity check" msgstr "Verificare integritate" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Surse online" @@ -2814,6 +2762,10 @@ msgstr "Piese intro" msgid "Invalid API key" msgstr "Cheie API nevalidă" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Format invalid" @@ -2870,7 +2822,7 @@ msgstr "Baza de date Jamendo" msgid "Jump to previous song right away" msgstr "Sări imediat la melodia anterioară" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Sari la piesa în curs de redare" @@ -2894,7 +2846,7 @@ msgstr "Menține rularea în fundal atunci când fereastra este închisă" msgid "Keep the original files" msgstr "Menține fișierele originale" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Pisicuțe" @@ -2935,7 +2887,7 @@ msgstr "Bară laterală mare" msgid "Last played" msgstr "Ultimele redate" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Ultima redată" @@ -2976,12 +2928,12 @@ msgstr "Piesele cel mai puțin preferate" msgid "Left" msgstr "Stânga" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Lungime" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Colecție" @@ -2990,7 +2942,7 @@ msgstr "Colecție" msgid "Library advanced grouping" msgstr "Grupare avansată colecție" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Notă rescanare colecție" @@ -3030,7 +2982,7 @@ msgstr "Încarcă copertă de pe disc..." msgid "Load playlist" msgstr "Încarcă listă de redare" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Încarcă listă de redare..." @@ -3066,8 +3018,7 @@ msgstr "Se încarcă informațiile pieselor" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Se încarcă..." @@ -3076,7 +3027,6 @@ msgstr "Se încarcă..." msgid "Loads files/URLs, replacing current playlist" msgstr "Încarcă fișiere/URL-uri, înlocuind lista de redare curentă" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3086,8 +3036,7 @@ msgstr "Încarcă fișiere/URL-uri, înlocuind lista de redare curentă" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Autentificare" @@ -3095,15 +3044,11 @@ msgstr "Autentificare" msgid "Login failed" msgstr "Autentificare eșuată" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Deautentificare" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Profil de predicție pe termen lung (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Apreciați" @@ -3184,7 +3129,7 @@ msgstr "Profil principal (MAIN)" msgid "Make it so!" msgstr "Fă-o așa!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Fă-o așa!" @@ -3230,10 +3175,6 @@ msgstr "Potrivește toți termenii de căutare (AND)" msgid "Match one or more search terms (OR)" msgstr "Potrivește unul sau mai mulți termeni (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Număr maxim de rezultate căutare globală" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Rată de biți maximă" @@ -3264,6 +3205,10 @@ msgstr "Rată de biți minimă" msgid "Minimum buffer fill" msgstr "Umplere minimă a memoriei tampon" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Lipsesc preconfigurările proiectM" @@ -3284,7 +3229,7 @@ msgstr "Redare mono" msgid "Months" msgstr "Luni" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Dispoziție" @@ -3297,10 +3242,6 @@ msgstr "Stil bară dispoziție" msgid "Moodbars" msgstr "Bare dispoziție" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Mai mult" - #: library/library.cpp:84 msgid "Most played" msgstr "Cele mai redate" @@ -3318,7 +3259,7 @@ msgstr "Puncte de montare" msgid "Move down" msgstr "Mută în jos" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Mută în colecție..." @@ -3327,8 +3268,7 @@ msgstr "Mută în colecție..." msgid "Move up" msgstr "Mută în sus" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Muzică" @@ -3337,22 +3277,10 @@ msgid "Music Library" msgstr "Colecție de muzică" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Mut" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Albumele mele" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Muzica mea" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Recomandările mele" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3398,7 +3326,7 @@ msgstr "Nu va începe redarea niciodată" msgid "New folder" msgstr "Dosar nou" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Listă de redare nouă" @@ -3427,7 +3355,7 @@ msgid "Next" msgstr "Următorul" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Piesa următoare" @@ -3465,7 +3393,7 @@ msgstr "Fără blocuri scurte" msgid "None" msgstr "Nimic" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Niciuna dintre melodiile selectate nu este potrivită pentru copierea pe un dispozitiv" @@ -3514,10 +3442,6 @@ msgstr "Nu este autentificat" msgid "Not mounted - double click to mount" msgstr "Nu este montat - clic dublu pentru montare" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nu s-a găsit nimic" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Tip notificare" @@ -3599,7 +3523,7 @@ msgstr "Opacitate" msgid "Open %1 in browser" msgstr "Deschide %1 în browser" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Deschide CD &audio..." @@ -3619,7 +3543,7 @@ msgstr "Deschide un director pentru a se importa muzica din el" msgid "Open device" msgstr "Deschide dispozitiv" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Deschide fișier..." @@ -3673,7 +3597,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organizează fișiere" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organizează fișiere..." @@ -3685,7 +3609,7 @@ msgstr "Se organizează fișiere" msgid "Original tags" msgstr "Etichete originale" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3753,7 +3677,7 @@ msgstr "Petrecere" msgid "Password" msgstr "Parolă" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pauză" @@ -3766,7 +3690,7 @@ msgstr "Pauză redare" msgid "Paused" msgstr "În pauză" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3781,14 +3705,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Bară laterală simplă" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Redare" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Număr redări" @@ -3819,7 +3743,7 @@ msgstr "Opțiuni player" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Listă de redare" @@ -3836,7 +3760,7 @@ msgstr "Opțiuni listă de redare" msgid "Playlist type" msgstr "Tip listă de redare" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Liste de redare" @@ -3877,11 +3801,11 @@ msgstr "Preferință" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Preferințe" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Preferințe..." @@ -3941,7 +3865,7 @@ msgid "Previous" msgstr "Anterior" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Piesa precedentă" @@ -3992,16 +3916,16 @@ msgstr "Calitate" msgid "Querying device..." msgstr "Se interoghează dispozitivul..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Administrator coadă" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Adaugă în coadă piesele selectate" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Adaugă în coadă piesa" @@ -4013,7 +3937,7 @@ msgstr "Radio (egalizare loudness pentru toate piesele)" msgid "Rain" msgstr "Ploaie" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Ploaie" @@ -4050,7 +3974,7 @@ msgstr "Evaluează melodia curentă la 4 stele" msgid "Rate the current song 5 stars" msgstr "Evaluează melodia curentă la 5 stele" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Evaluare" @@ -4117,7 +4041,7 @@ msgstr "Elimină" msgid "Remove action" msgstr "Elimină acțiune" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Elimină dublurile din lista de redare" @@ -4125,15 +4049,7 @@ msgstr "Elimină dublurile din lista de redare" msgid "Remove folder" msgstr "Elimină dosar" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Elimină din Muzica mea" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Elimină din semne de carte" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Elimină din lista de redare" @@ -4145,7 +4061,7 @@ msgstr "Elimină lista de redare" msgid "Remove playlists" msgstr "Elimină listele de redare" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Elimină piesele indisponibile din lista de redare" @@ -4157,7 +4073,7 @@ msgstr "Redenumește lista de redare" msgid "Rename playlist..." msgstr "Redenumește lista de redare..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Renumerotează piesele în această ordine..." @@ -4207,7 +4123,7 @@ msgstr "Repopulează" msgid "Require authentication code" msgstr "Necesită cod de autentificare" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Resetare" @@ -4248,7 +4164,7 @@ msgstr "Extrage" msgid "Rip CD" msgstr "Extrage CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Extrage CD audio" @@ -4278,8 +4194,9 @@ msgstr "Scoate în siguranță dispozitivul" msgid "Safely remove the device after copying" msgstr "Scoate în siguranță dispozitivul după copiere" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Rată de eșantionare" @@ -4317,7 +4234,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Salvează lista de redare" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Salvează lista de redare..." @@ -4357,7 +4274,7 @@ msgstr "Profil rată de eșantionare scalabil (SSR)" msgid "Scale size" msgstr "Dimensiune scală" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Scor" @@ -4374,12 +4291,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Căutare" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Căutare" @@ -4522,7 +4439,7 @@ msgstr "Detalii server" msgid "Service offline" msgstr "Serviciu offline" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Setează %1 la „%2”..." @@ -4531,7 +4448,7 @@ msgstr "Setează %1 la „%2”..." msgid "Set the volume to percent" msgstr "Stabilește volumul la procent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Stabilește valoarea pentru toate piesele selectate..." @@ -4598,7 +4515,7 @@ msgstr "Arată un OSD simpatic" msgid "Show above status bar" msgstr "Arată deasupra barei de stare" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Arată toate melodiile" @@ -4618,16 +4535,12 @@ msgstr "Arată separatori" msgid "Show fullsize..." msgstr "Arată dimensiunea completă..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Arată grupurile în rezultatul căutării globale" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Arată în navigatorul de fișiere..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Arată în colecție..." @@ -4639,27 +4552,23 @@ msgstr "Arată în Artiști diferiți" msgid "Show moodbar" msgstr "Arată bara de dispoziție" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Arată numai duplicatele" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Arată numai pe cele neetichetate" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Arată melodia redată pe pagina dumneavoastră" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Arată sugestii de căutare" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4695,7 +4604,7 @@ msgstr "Amestecă albume" msgid "Shuffle all" msgstr "Amestecă tot" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Amestecă lista de redare" @@ -4731,7 +4640,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Sari înapoi în lista de redare" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Omite numărătoarea" @@ -4739,11 +4648,11 @@ msgstr "Omite numărătoarea" msgid "Skip forwards in playlist" msgstr "Sari înainte în lista de redare" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Omite piesele selectate" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Omite piesa" @@ -4775,7 +4684,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Informații melodie" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Informație melodie" @@ -4811,7 +4720,7 @@ msgstr "Se sortează" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Sursă" @@ -4886,7 +4795,7 @@ msgid "Starting..." msgstr "Se pornește..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Oprire" @@ -4902,7 +4811,7 @@ msgstr "Oprește după fiecare piesă" msgid "Stop after every track" msgstr "Oprește după fiecare piesă" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Oprește după această piesă" @@ -4931,6 +4840,10 @@ msgstr "Oprit" msgid "Stream" msgstr "Flux" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5040,6 +4953,10 @@ msgstr "Coperta albumului melodiei redate curent" msgid "The directory %1 is not valid" msgstr "Directorul %1 nu este valid" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "A doua valoare trebuie să fie mai mare decât prima!" @@ -5058,7 +4975,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Perioada de încercare pentru serverul Subsonic s-a terminat. Donați pentru a obține o cheie de licență. Vizitați subsonic.org pentru detalii." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5100,7 +5017,7 @@ msgid "" "continue?" msgstr "Aceste fișiere vor fi șterse de pe dispozitiv, sigur doriți să continuați?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5184,7 +5101,7 @@ msgstr "Acest tip de dispozitiv nu este suportat: %1" msgid "Time step" msgstr "Pas timp" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5203,11 +5120,11 @@ msgstr "Comută OSD simpatic" msgid "Toggle fullscreen" msgstr "Comută afișare pe tot ecranul" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Comută stare coadă" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Comută scrobbling" @@ -5247,7 +5164,7 @@ msgstr "Total cereri rețea făcute" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Piesă" @@ -5256,7 +5173,7 @@ msgstr "Piesă" msgid "Tracks" msgstr "Piese" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transcodare muzică" @@ -5293,6 +5210,10 @@ msgstr "Oprește" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(-uri)" @@ -5318,9 +5239,9 @@ msgstr "Nu se poate descărca %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Necunoscut" @@ -5337,11 +5258,11 @@ msgstr "Eroare necunoscută" msgid "Unset cover" msgstr "Deselectează coperta" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Nu omite piesele selectate" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Nu omite piesa" @@ -5354,15 +5275,11 @@ msgstr "Dezabonare" msgid "Upcoming Concerts" msgstr "Concerte viitoare" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Actualizare" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Actualizează toate podcasturile" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Actualizează dosarele modificate ale colecției" @@ -5472,7 +5389,7 @@ msgstr "Utilizează normalizarea volumului" msgid "Used" msgstr "Utilizat" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Interfață utilizator " @@ -5498,7 +5415,7 @@ msgid "Variable bit rate" msgstr "Rată de biți variabilă" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Artiști diferiți" @@ -5511,11 +5428,15 @@ msgstr "Versiunea %1" msgid "View" msgstr "Vizualizare" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Mod vizualizare" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Vizualizări" @@ -5523,10 +5444,6 @@ msgstr "Vizualizări" msgid "Visualizations Settings" msgstr "Setări vizualizare" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Detecție activitate voce" @@ -5549,10 +5466,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Zid" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Atenționează-mă când închid o filă listă de redare" @@ -5655,7 +5568,7 @@ msgid "" "well?" msgstr "Doriți să fie mutate, de asemenea, și celelalte melodii din acest album în Artiști diferiți?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Doriți să rulați o rescanare completă chiar acum?" @@ -5671,7 +5584,7 @@ msgstr "Scrie metadatele" msgid "Wrong username or password." msgstr "Nume utilizator sau parolă greșite" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/ru.po b/src/translations/ru.po index 73f8699cd..bc303edd4 100644 --- a/src/translations/ru.po +++ b/src/translations/ru.po @@ -11,14 +11,14 @@ # Andrei Stepanov, 2014-2016 # Andy Dufrane <>, 2012 # arnaudbienner , 2011 -# dr&mx , 2013 +# Максим Дронь , 2013 # Eugene Sharygin , 2014 # Just a baka , 2013 # Just a baka , 2012 # Валерий Третьяк , 2012 # SvetlanaK , 2011 # Brodyaga20 , 2012 -# Dmitry , 2013 +# Dmitry , 2013 # Alexander Vysotskiy , 2012 # Nikita Putko , 2011 # Nikolay Parukhin , 2013 @@ -35,8 +35,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 16:02+0000\n" -"Last-Translator: Andrei Stepanov\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Russian (http://www.transifex.com/davidsansome/clementine/language/ru/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -91,11 +91,6 @@ msgstr "секунд" msgid " songs" msgstr "песен" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 песен)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -127,7 +122,7 @@ msgstr "%1 на %2" msgid "%1 playlists (%2)" msgstr "%1 плейлистов (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 выбрано из" @@ -152,7 +147,7 @@ msgstr "Найдено %1 песен" msgid "%1 songs found (showing %2)" msgstr "Найдено %1 песен (показано %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 треков" @@ -212,7 +207,7 @@ msgstr "По &центру" msgid "&Custom" msgstr "&Другое" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Дополнения" @@ -220,7 +215,7 @@ msgstr "Дополнения" msgid "&Grouping" msgstr "&Группа" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Справка" @@ -245,7 +240,7 @@ msgstr "&Заблокировать рейтинг" msgid "&Lyrics" msgstr "&Тексты песен" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Музыка" @@ -253,15 +248,15 @@ msgstr "Музыка" msgid "&None" msgstr "&Нет" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Плейлист" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Выход" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Режим повтора" @@ -269,7 +264,7 @@ msgstr "&Режим повтора" msgid "&Right" msgstr "С&права" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Режим перемешивания" @@ -277,7 +272,7 @@ msgstr "&Режим перемешивания" msgid "&Stretch columns to fit window" msgstr "&Подгонять по размеру окна" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Инструменты" @@ -313,7 +308,7 @@ msgstr "0px" msgid "1 day" msgstr "1 день" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 трек" @@ -457,11 +452,11 @@ msgstr "Прервать" msgid "About %1" msgstr "О %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "О Clementine" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Информация о Qt" @@ -471,7 +466,7 @@ msgid "Absolute" msgstr "Абсолютные" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Данные учётной записи" @@ -525,19 +520,19 @@ msgstr "Добавить другой поток…" msgid "Add directory..." msgstr "Добавить каталог…" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Добавить файл" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Конвертировать файл" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Конвертировать файл(ы)" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Добавить файл…" @@ -545,12 +540,12 @@ msgstr "Добавить файл…" msgid "Add files to transcode" msgstr "Конвертировать файлы" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Добавить папку" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Добавить папку…" @@ -562,7 +557,7 @@ msgstr "Добавить новую папку" msgid "Add podcast" msgstr "Добавить подкаст" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Добавить подкаст…" @@ -630,10 +625,6 @@ msgstr "Добавить число пропусков" msgid "Add song title tag" msgstr "Добавить тег \"Название\"" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Добавить песню в кэш" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Добавить тег \"Номер дорожки\"" @@ -642,18 +633,10 @@ msgstr "Добавить тег \"Номер дорожки\"" msgid "Add song year tag" msgstr "Добавить тег \"Год\"" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Добавить песни в \"Мою музыку\", если нажата кнопка \"В любимые\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Добавить поток…" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Добавить в Мою музыку" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Добавить в плейлисты Spotify" @@ -662,14 +645,10 @@ msgstr "Добавить в плейлисты Spotify" msgid "Add to Spotify starred" msgstr "Добавить в оценённые Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Добавить в другой плейлист" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Добавить в закладки" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Добавить в плейлист" @@ -679,10 +658,6 @@ msgstr "Добавить в плейлист" msgid "Add to the queue" msgstr "Добавить в очередь" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Добавить пользователя/группу в закладки" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Добавить действие wiimotedev" @@ -720,7 +695,7 @@ msgstr "После " msgid "After copying..." msgstr "После копирования…" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -733,7 +708,7 @@ msgstr "Альбом" msgid "Album (ideal loudness for all tracks)" msgstr "Альбом (идеальная громкость всех треков)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -748,10 +723,6 @@ msgstr "Обложка альбома" msgid "Album info on jamendo.com..." msgstr "Информация об альбоме на jamendo.com…" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Альбомы" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Альбомы с обложками" @@ -764,11 +735,11 @@ msgstr "Альбомы без обложек" msgid "All" msgstr "Все" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Все файлы (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Cлава Гипножабе!" @@ -893,7 +864,7 @@ msgid "" "the songs of your library?" msgstr "Вы действительно хотите записывать статистику во все файлы композиций вашей фонотеки?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -902,7 +873,7 @@ msgstr "Вы действительно хотите записывать ста msgid "Artist" msgstr "Исполнитель" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Артист" @@ -973,7 +944,7 @@ msgstr "Средний размер изображений" msgid "BBC Podcasts" msgstr "Подкасты BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "Ударов в минуту" @@ -1030,7 +1001,8 @@ msgstr "Лучшее" msgid "Biography" msgstr "Биография" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Битрейт" @@ -1083,7 +1055,7 @@ msgstr "Обзор…" msgid "Buffer duration" msgstr "Размер буфера" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Буферизация" @@ -1107,19 +1079,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Поддержка файлов разметки CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Папка кэша:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Кэширование" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Кэширование %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Отмена" @@ -1128,12 +1087,6 @@ msgstr "Отмена" msgid "Cancel download" msgstr "Отменить загрузку" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Нужна капча.\nПопробуйте зайти в VK.com через браузер для решения этой проблемы." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Сменить обложку" @@ -1172,6 +1125,10 @@ msgid "" "songs" msgstr "Изменение настроек воспроизведения моно подействует со следующей композиции" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Проверять новые выпуски" @@ -1180,19 +1137,15 @@ msgstr "Проверять новые выпуски" msgid "Check for updates" msgstr "Проверить обновления" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Проверить обновления…" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Выберите папку для кэша VK.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Выберите название умного плейлиста" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Выбирать автоматически" @@ -1238,13 +1191,13 @@ msgstr "Очистка" msgid "Clear" msgstr "Очистить" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Очистить плейлист" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1377,24 +1330,20 @@ msgstr "Цвета" msgid "Comma separated list of class:level, level is 0-3" msgstr "Разделенный запятыми список \"класс:уровень\", где уровень от 0 до 3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Комментарий" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Радио сообщества" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Заполнить поля автоматически" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Заполнить поля автоматически" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1425,15 +1374,11 @@ msgstr "Настройка Spotify…" msgid "Configure Subsonic..." msgstr "Настроить Subsonic…" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Настроить VK.com…" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Настроить глобальный поиск…" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Настроить фонотеку…" @@ -1467,16 +1412,16 @@ msgid "" "http://localhost:4040/" msgstr "Соединение отвергнуто сервером, проверьте адрес сервера. Пример: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Превышено время ожидания при установке соединения, проверьте адрес сервера. Пример: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Ошибка подключения или аудио удалено владельцем" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Консоль" @@ -1500,20 +1445,16 @@ msgstr "Конвертировать аудиофайлы, сжатые без msgid "Convert lossless files" msgstr "Конвертировать файлы сжатые без потери качества" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Скопировать ссылку для публикации в буфер" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Скопировать в буфер" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Копировать на носитель" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Копировать в фонотеку…" @@ -1535,6 +1476,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Невозможно создать элемент GStreamer \"%1\" - убедитесь, что у вас установлены все необходимые дополнения GStreamer" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Невозможно создать плейлист" @@ -1561,7 +1511,7 @@ msgstr "Невозможно открыть выходной файл %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Менеджер обложек" @@ -1647,11 +1597,11 @@ msgid "" "recover your database" msgstr "Обнаружен сбой в базе данных. Инструкции по восстановлению можно прочитать по адресу https://github.com/clementine-player/Clementine/wiki/Database-Corruption" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Дата создания" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Дата изменения" @@ -1679,7 +1629,7 @@ msgstr "Уменьшить громкость" msgid "Default background image" msgstr "Стандартное фоновое изображение" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Стандартное для %1" @@ -1702,7 +1652,7 @@ msgid "Delete downloaded data" msgstr "Удалить загруженные данные" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Удалить файлы" @@ -1710,7 +1660,7 @@ msgstr "Удалить файлы" msgid "Delete from device..." msgstr "Удалить с носителя" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Удалить с диска…" @@ -1735,11 +1685,15 @@ msgstr "Удалить оригинальные файлы" msgid "Deleting files" msgstr "Удаление файлов" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Убрать выбранные треки из очереди" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Убрать трек из очереди" @@ -1768,11 +1722,11 @@ msgstr "Имя носителя" msgid "Device properties..." msgstr "Свойства носителя…" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Носители" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Диалог" @@ -1819,7 +1773,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Отключено" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1840,7 +1794,7 @@ msgstr "Настройки вида" msgid "Display the on-screen-display" msgstr "Показывать экранное уведомление" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Пересканировать фонотеку" @@ -2011,12 +1965,12 @@ msgstr "Случайный динамичный микс" msgid "Edit smart playlist..." msgstr "Изменить умный плейлист…" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Изменить тег \"%1\"…" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Изменить тег…" @@ -2029,7 +1983,7 @@ msgid "Edit track information" msgstr "Изменить информацию о треке" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Изменить информацию о треке" @@ -2049,10 +2003,6 @@ msgstr "Email" msgid "Enable Wii Remote support" msgstr "Включить поддержку пульта Wii" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Включить автоматическое кэширование" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Включить эквалайзер" @@ -2137,7 +2087,7 @@ msgstr "Введите этот IP-адрес в App для подключени msgid "Entire collection" msgstr "Вся коллекция" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Эквалайзер" @@ -2150,8 +2100,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Аналогично --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Ошибка" @@ -2171,6 +2121,11 @@ msgstr "Ошибка копирования композиций" msgid "Error deleting songs" msgstr "Ошибка удаления композиций" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Ошибка загрузки модуля Spotify" @@ -2291,7 +2246,7 @@ msgstr "Затухание звука" msgid "Fading duration" msgstr "Длительность затухания" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Не удалось прочесть CD-привод" @@ -2370,27 +2325,23 @@ msgstr "Расширение файла" msgid "File formats" msgstr "Форматы файлов" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Полное имя файла" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Имя файла" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Шаблон имени файла:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Пути файлов" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Размер файла" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2400,7 +2351,7 @@ msgstr "Тип файла" msgid "Filename" msgstr "Имя файла" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Файлы" @@ -2412,10 +2363,6 @@ msgstr "Файлы для конвертации" msgid "Find songs in your library that match the criteria you specify." msgstr "Найти композиции в фонотеке по указанным критериям." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Найти этого исполнителя" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Получение отпечатка песни" @@ -2484,6 +2431,7 @@ msgid "Form" msgstr "Форма" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Формат" @@ -2520,7 +2468,7 @@ msgstr "Высокие частоты" msgid "Ge&nre" msgstr "&Жанр" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Общие" @@ -2528,7 +2476,7 @@ msgstr "Общие" msgid "General settings" msgstr "Общие настройки" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2561,11 +2509,11 @@ msgstr "Название:" msgid "Go" msgstr "Перейти" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Перейти к следующему плейлисту" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Перейти к предудыщему плейлисту" @@ -2619,7 +2567,7 @@ msgstr "Группировать по жанру/альбому" msgid "Group by Genre/Artist/Album" msgstr "Группировать по жанру/исполнителю/альбому" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2809,11 +2757,11 @@ msgstr "Установлено" msgid "Integrity check" msgstr "Проверка целостности" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Интернет" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Службы интернет" @@ -2830,6 +2778,10 @@ msgstr "Вступительные треки" msgid "Invalid API key" msgstr "Неверный ключ API" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Неверный формат" @@ -2886,7 +2838,7 @@ msgstr "База данных Jamendo" msgid "Jump to previous song right away" msgstr "Немедленный переход к предыдущей песне" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Перейти к текущему треку" @@ -2910,7 +2862,7 @@ msgstr "Продолжить работу в фоновом режиме при msgid "Keep the original files" msgstr "Сохранять оригинальные файлы" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Котята" @@ -2951,7 +2903,7 @@ msgstr "Широкая боковая панель" msgid "Last played" msgstr "Последнее прослушивание" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Последнее прослушивание" @@ -2992,12 +2944,12 @@ msgstr "Нелюбимые треки" msgid "Left" msgstr "Левый канал" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Длина" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Фонотека" @@ -3006,7 +2958,7 @@ msgstr "Фонотека" msgid "Library advanced grouping" msgstr "Расширенная группировка фонотеки" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Уведомление о сканировании фонотеки" @@ -3046,7 +2998,7 @@ msgstr "Загрузить обложку с диска…" msgid "Load playlist" msgstr "Загрузить плейлист" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Загрузить плейлист…" @@ -3082,8 +3034,7 @@ msgstr "Загрузка информации о треках" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Загрузка…" @@ -3092,7 +3043,6 @@ msgstr "Загрузка…" msgid "Loads files/URLs, replacing current playlist" msgstr "Загрузка файлов или ссылок с заменой текущего плейлиста" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3102,8 +3052,7 @@ msgstr "Загрузка файлов или ссылок с заменой те #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Вход" @@ -3111,15 +3060,11 @@ msgstr "Вход" msgid "Login failed" msgstr "Ошибка входа" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Выйти" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Профиль Long term prediction (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "В любимые" @@ -3200,7 +3145,7 @@ msgstr "Основной профиль (MAIN)" msgid "Make it so!" msgstr "Да будет так!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Да будет так!" @@ -3246,10 +3191,6 @@ msgstr "Совпадает с каждым условием поиска (И)" msgid "Match one or more search terms (OR)" msgstr "Совпадает с одним или несколькими условиями (ИЛИ)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Максимум результатов глобального поиска" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Максимальный битрейт" @@ -3280,6 +3221,10 @@ msgstr "Минимальный битрейт" msgid "Minimum buffer fill" msgstr "Наим. заполнение буфера" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Предустановки projectM не найдены" @@ -3300,7 +3245,7 @@ msgstr "Режим моно" msgid "Months" msgstr "Месяцев" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Тон" @@ -3313,10 +3258,6 @@ msgstr "Стиль индикатора тона" msgid "Moodbars" msgstr "Индикатор тона" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Ещё" - #: library/library.cpp:84 msgid "Most played" msgstr "Наиболее прослушиваемые" @@ -3334,7 +3275,7 @@ msgstr "Точки монтирования" msgid "Move down" msgstr "Переместить вниз" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Переместить в фонотеку…" @@ -3343,8 +3284,7 @@ msgstr "Переместить в фонотеку…" msgid "Move up" msgstr "Переместить вверх" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Музыка" @@ -3353,22 +3293,10 @@ msgid "Music Library" msgstr "Фонотека" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Приглушить звук" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Мои альбомы" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Моя музыка" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Мои рекомендации" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3414,7 +3342,7 @@ msgstr "Никогда не начинать воспроизведение" msgid "New folder" msgstr "Новая папка" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Новый плейлист" @@ -3443,7 +3371,7 @@ msgid "Next" msgstr "Дальше" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Следующий трек" @@ -3481,7 +3409,7 @@ msgstr "Без коротких блоков" msgid "None" msgstr "Ничего" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Ни одна из выбранных песен не будет скопирована на устройство" @@ -3530,10 +3458,6 @@ msgstr "Вход не выполнен " msgid "Not mounted - double click to mount" msgstr "Не подключено - щелкните дважды для подключения" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Ничего не найдено" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Тип уведомления" @@ -3615,7 +3539,7 @@ msgstr "Непрозрачность" msgid "Open %1 in browser" msgstr "Открыть «%1» в браузере" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Открыть аудио-&диск…" @@ -3635,7 +3559,7 @@ msgstr "Открыть папку для импортирования музык msgid "Open device" msgstr "Открыть устройство" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Открыть файл…" @@ -3689,7 +3613,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Упорядочить файлы" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Упорядочить файлы…" @@ -3701,7 +3625,7 @@ msgstr "Упорядочивание файлов" msgid "Original tags" msgstr "Исходные теги" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3769,7 +3693,7 @@ msgstr "Вечеринка" msgid "Password" msgstr "Пароль" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Пауза" @@ -3782,7 +3706,7 @@ msgstr "Приостановить воспроизведение" msgid "Paused" msgstr "Приостановлен" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3797,14 +3721,14 @@ msgstr "Пиксель" msgid "Plain sidebar" msgstr "Нормальная боковая панель" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Воспроизвести" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Количество проигрываний" @@ -3835,7 +3759,7 @@ msgstr "Настройки проигрывателя" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Плейлист" @@ -3852,7 +3776,7 @@ msgstr "Настройки плейлиста" msgid "Playlist type" msgstr "Тип плейлиста" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Списки" @@ -3893,11 +3817,11 @@ msgstr "Настройки" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Настройки" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Настройки…" @@ -3957,7 +3881,7 @@ msgid "Previous" msgstr "Предыдущий" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Предыдущий трек" @@ -4008,16 +3932,16 @@ msgstr "Качество" msgid "Querying device..." msgstr "Опрашиваем устройство…" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Управление очередью" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Выбранные треки в очередь" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Трек в очередь" @@ -4029,7 +3953,7 @@ msgstr "Радио (одинаковая громкость для всех тр msgid "Rain" msgstr "Дождь" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Дождь" @@ -4066,7 +3990,7 @@ msgstr "Оценка текущей песни 4 звезды" msgid "Rate the current song 5 stars" msgstr "Оценка текущей песни 5 звёзд" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Рейтинг" @@ -4133,7 +4057,7 @@ msgstr "Удалить" msgid "Remove action" msgstr "Удалить действие" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Удалить повторы из плейлиста" @@ -4141,15 +4065,7 @@ msgstr "Удалить повторы из плейлиста" msgid "Remove folder" msgstr "Удалить папку" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Удалить из Моей музыки" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Удалить из закладок" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Удалить из плейлиста" @@ -4161,7 +4077,7 @@ msgstr "Удалить плейлист" msgid "Remove playlists" msgstr "Удалить плейлисты" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Удалить недоступные треки" @@ -4173,7 +4089,7 @@ msgstr "Переименовать плейлист" msgid "Rename playlist..." msgstr "Переименовать плейлист…" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Перенумеровать треки в данном порядке…" @@ -4223,7 +4139,7 @@ msgstr "Перезаполнить" msgid "Require authentication code" msgstr "Требовать код аутентификации" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Сброс" @@ -4264,7 +4180,7 @@ msgstr "Конвертировать" msgid "Rip CD" msgstr "Конвертировать CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Конвертировать аудио-диск" @@ -4294,8 +4210,9 @@ msgstr "Безопасно извлечь устройство" msgid "Safely remove the device after copying" msgstr "Безопасно извлечь устройство после копирования" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Частота" @@ -4333,7 +4250,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Сохранить плейлист" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Сохранить плейлист…" @@ -4373,7 +4290,7 @@ msgstr "Профиль Scalable sampling rate (SSR)" msgid "Scale size" msgstr "Размер масштабирования" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Счет" @@ -4390,12 +4307,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Поиск" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Поиск" @@ -4538,7 +4455,7 @@ msgstr "Информация о сервере" msgid "Service offline" msgstr "Служба недоступна" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Установить %1 в \"%2\"…" @@ -4547,7 +4464,7 @@ msgstr "Установить %1 в \"%2\"…" msgid "Set the volume to percent" msgstr "Установить громкость в процентов" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Установить значение для всех выделенных треков…" @@ -4614,7 +4531,7 @@ msgstr "Показывать OSD" msgid "Show above status bar" msgstr "Показать над строкой состояния" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Показать все композиции" @@ -4634,16 +4551,12 @@ msgstr "Показывать разделители" msgid "Show fullsize..." msgstr "Показать в полный размер…" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Показывать группы в результатах глобального поиска" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Показать в диспетчере файлов" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Показать в фонотеке…" @@ -4655,27 +4568,23 @@ msgstr "Показать в \"Различных исполнителях\"" msgid "Show moodbar" msgstr "Показывать индикатор тона" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Показывать только повторяющиеся" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Показывать только без тегов" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Показать или скрыть боковую панель" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Показывать играющую музыку на вашей странице" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Показать поисковые подсказки" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Показать боковую панель" @@ -4711,7 +4620,7 @@ msgstr "Перемешать альбомы" msgid "Shuffle all" msgstr "Перемешать все" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Перемешать плейлист" @@ -4747,7 +4656,7 @@ msgstr "Ска" msgid "Skip backwards in playlist" msgstr "Переместить назад в плейлисте" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Пропустить подсчёт" @@ -4755,11 +4664,11 @@ msgstr "Пропустить подсчёт" msgid "Skip forwards in playlist" msgstr "Переместить вперед в плейлисте" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Пропустить выбранные треки" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Пропустить трек" @@ -4791,7 +4700,7 @@ msgstr "Софт-рок" msgid "Song Information" msgstr "Тексты песен" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Песня" @@ -4827,7 +4736,7 @@ msgstr "Сортировка" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Источник" @@ -4902,7 +4811,7 @@ msgid "Starting..." msgstr "Запуск…" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Остановить" @@ -4918,7 +4827,7 @@ msgstr "Останавливать после каждого трека" msgid "Stop after every track" msgstr "Останавливать после каждого трека" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Остановить после этого трека" @@ -4947,6 +4856,10 @@ msgstr "Остановлено" msgid "Stream" msgstr "Поток" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5056,6 +4969,10 @@ msgstr "Обложка альбома текущей композиции" msgid "The directory %1 is not valid" msgstr "Каталог %1 неправильный" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Второе значение должно быть выше первого!" @@ -5074,7 +4991,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Пробный период для сервера Subsonic закончен. Пожалуйста, поддержите разработчика, чтобы получить лицензионный ключ. Посетите subsonic.org для подробной информации." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5116,7 +5033,7 @@ msgid "" "continue?" msgstr "Эти файлы будут удалены с устройства. Вы действительно хотите продолжить?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5200,7 +5117,7 @@ msgstr "Не поддерживаемый тип устройства: %1" msgid "Time step" msgstr "Шаг времени" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5219,11 +5136,11 @@ msgstr "Включить OSD" msgid "Toggle fullscreen" msgstr "Развернуть на весь экран" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Переключить состояние очереди" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Вкл/выкл скробблинг" @@ -5263,7 +5180,7 @@ msgstr "Всего выполнено сетевых запросов" msgid "Trac&k" msgstr "&Трек" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Трек" @@ -5272,7 +5189,7 @@ msgstr "Трек" msgid "Tracks" msgstr "Треки" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Конвертер музыки" @@ -5309,6 +5226,10 @@ msgstr "Выключить" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Ссылки" @@ -5334,9 +5255,9 @@ msgstr "Невозможно загрузить %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Неизвестный" @@ -5353,11 +5274,11 @@ msgstr "Неизвестная ошибка" msgid "Unset cover" msgstr "Удалить обложку" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Не пропускать выбранные треки" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Не пропускать трек" @@ -5370,15 +5291,11 @@ msgstr "Отписаться" msgid "Upcoming Concerts" msgstr "Предстоящие концерты" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Обновить" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Обновить все подкасты" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Сканировать обновлённые папки" @@ -5488,7 +5405,7 @@ msgstr "Использовать нормализацию громкости" msgid "Used" msgstr "Использовано" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Интерфейс" @@ -5514,7 +5431,7 @@ msgid "Variable bit rate" msgstr "Переменный битрейт" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Различные исполнители" @@ -5527,11 +5444,15 @@ msgstr "Версия %1" msgid "View" msgstr "Просмотр" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Режим визуализации" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Визуализации" @@ -5539,10 +5460,6 @@ msgstr "Визуализации" msgid "Visualizations Settings" msgstr "Настройки визуализации" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "ВКонтакте" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Определение голоса" @@ -5565,10 +5482,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Стена" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Оповещать при закрытии вкладки плейлиста" @@ -5671,7 +5584,7 @@ msgid "" "well?" msgstr "Хотите ли вы переместить и другие песни из этого альбома в \"Различные исполнители?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Желаете запустить повторное сканирование?" @@ -5687,7 +5600,7 @@ msgstr "Записывать мета-данные" msgid "Wrong username or password." msgstr "Неверное имя или пароль." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/si_LK.po b/src/translations/si_LK.po index 50119e317..2d33c1f4b 100644 --- a/src/translations/si_LK.po +++ b/src/translations/si_LK.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/davidsansome/clementine/language/si_LK/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -62,11 +62,6 @@ msgstr "" msgid " songs" msgstr "" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -98,7 +93,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "" @@ -123,7 +118,7 @@ msgstr "" msgid "%1 songs found (showing %2)" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "" @@ -183,7 +178,7 @@ msgstr "" msgid "&Custom" msgstr "" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -191,7 +186,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "" @@ -216,7 +211,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "" @@ -224,15 +219,15 @@ msgstr "" msgid "&None" msgstr "" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -240,7 +235,7 @@ msgstr "" msgid "&Right" msgstr "" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -248,7 +243,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "" @@ -284,7 +279,7 @@ msgstr "" msgid "1 day" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "" @@ -428,11 +423,11 @@ msgstr "" msgid "About %1" msgstr "" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "" @@ -442,7 +437,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -496,19 +491,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "" @@ -516,12 +511,12 @@ msgstr "" msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "" @@ -533,7 +528,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -601,10 +596,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -613,18 +604,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -633,14 +616,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -650,10 +629,6 @@ msgstr "" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -691,7 +666,7 @@ msgstr "" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -704,7 +679,7 @@ msgstr "" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -719,10 +694,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -735,11 +706,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -864,7 +835,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -873,7 +844,7 @@ msgstr "" msgid "Artist" msgstr "" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -944,7 +915,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1001,7 +972,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1054,7 +1026,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1078,19 +1050,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1099,12 +1058,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1143,6 +1096,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1151,19 +1108,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1209,13 +1162,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1348,24 +1301,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1396,15 +1345,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1438,16 +1383,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1471,20 +1416,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1506,6 +1447,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1532,7 +1482,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1618,11 +1568,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1650,7 +1600,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1673,7 +1623,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1681,7 +1631,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1706,11 +1656,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1739,11 +1693,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1790,7 +1744,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1811,7 +1765,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1982,12 +1936,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2000,7 +1954,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2020,10 +1974,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2108,7 +2058,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2121,8 +2071,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2142,6 +2092,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2262,7 +2217,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2341,27 +2296,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2371,7 +2322,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2383,10 +2334,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2455,6 +2402,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2491,7 +2439,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2499,7 +2447,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2532,11 +2480,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2590,7 +2538,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2780,11 +2728,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2801,6 +2749,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2857,7 +2809,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2881,7 +2833,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2922,7 +2874,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2963,12 +2915,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2977,7 +2929,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3017,7 +2969,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3053,8 +3005,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3063,7 +3014,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3073,8 +3023,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3082,15 +3031,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3171,7 +3116,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3217,10 +3162,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3251,6 +3192,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3271,7 +3216,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3284,10 +3229,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3305,7 +3246,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3314,8 +3255,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3324,22 +3264,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3385,7 +3313,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3414,7 +3342,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3452,7 +3380,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3501,10 +3429,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3586,7 +3510,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3606,7 +3530,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3660,7 +3584,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3672,7 +3596,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3740,7 +3664,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3753,7 +3677,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3768,14 +3692,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3806,7 +3730,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3823,7 +3747,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3864,11 +3788,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3928,7 +3852,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3979,16 +3903,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4000,7 +3924,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4037,7 +3961,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4104,7 +4028,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4112,15 +4036,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4132,7 +4048,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4144,7 +4060,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4194,7 +4110,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4235,7 +4151,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4265,8 +4181,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4304,7 +4221,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4344,7 +4261,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4361,12 +4278,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4509,7 +4426,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4518,7 +4435,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4585,7 +4502,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4605,16 +4522,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4626,27 +4539,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4682,7 +4591,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4718,7 +4627,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4726,11 +4635,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4762,7 +4671,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4798,7 +4707,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4873,7 +4782,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4889,7 +4798,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4918,6 +4827,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5027,6 +4940,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5045,7 +4962,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5087,7 +5004,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5171,7 +5088,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5190,11 +5107,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5234,7 +5151,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5243,7 +5160,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5280,6 +5197,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5305,9 +5226,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5324,11 +5245,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5341,15 +5262,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5459,7 +5376,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5485,7 +5402,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5498,11 +5415,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5510,10 +5431,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5536,10 +5453,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5642,7 +5555,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5658,7 +5571,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/sk.po b/src/translations/sk.po index bc1ac7143..bd7804020 100644 --- a/src/translations/sk.po +++ b/src/translations/sk.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 21:31+0000\n" -"Last-Translator: Ján Ďanovský \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Slovak (http://www.transifex.com/davidsansome/clementine/language/sk/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -68,11 +68,6 @@ msgstr " sekúnd" msgid " songs" msgstr " piesne" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 piesne)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -104,7 +99,7 @@ msgstr "%1 na %2" msgid "%1 playlists (%2)" msgstr "%1 playlistov (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 vybratých z" @@ -129,7 +124,7 @@ msgstr "nájdených %1 piesní" msgid "%1 songs found (showing %2)" msgstr "nájdených %1 piesní (zobrazuje sa %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 skladieb" @@ -189,7 +184,7 @@ msgstr "Na &stred" msgid "&Custom" msgstr "&Vlastná" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Bonusy" @@ -197,7 +192,7 @@ msgstr "Bonusy" msgid "&Grouping" msgstr "&Zoskupenie" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Nápoveda" @@ -222,7 +217,7 @@ msgstr "&Uzamknúť hodnotenie" msgid "&Lyrics" msgstr "&Texty piesní" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Hudba" @@ -230,15 +225,15 @@ msgstr "Hudba" msgid "&None" msgstr "&Nijaká" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Playlist" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Zavrieť" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Režim opakovania" @@ -246,7 +241,7 @@ msgstr "Režim opakovania" msgid "&Right" msgstr "Vp&ravo" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Režim zamiešavania" @@ -254,7 +249,7 @@ msgstr "Režim zamiešavania" msgid "&Stretch columns to fit window" msgstr "Roztiahnuť &stĺpce na prispôsobenie oknu" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "Nástroje" @@ -290,7 +285,7 @@ msgstr "0px" msgid "1 day" msgstr "1 deň" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 skladba" @@ -434,11 +429,11 @@ msgstr "Zrušiť" msgid "About %1" msgstr "O %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "O Clemetine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "O Qt.." @@ -448,7 +443,7 @@ msgid "Absolute" msgstr "absolútne" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Detaily účtu" @@ -502,19 +497,19 @@ msgstr "Pridať ďalší stream..." msgid "Add directory..." msgstr "Pridať priečinok..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Pridať súbor" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Pridať súbor na prekódovanie" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Pridať súbor(y) na prekódovanie" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Pridať súbor..." @@ -522,12 +517,12 @@ msgstr "Pridať súbor..." msgid "Add files to transcode" msgstr "Pridať súbory na transkódovanie" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Pridať priečinok" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Pridať priečinok..." @@ -539,7 +534,7 @@ msgstr "Pridať nový priečinok..." msgid "Add podcast" msgstr "Pridať podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Pridať podcast..." @@ -607,10 +602,6 @@ msgstr "Pridať počet preskočení piesne" msgid "Add song title tag" msgstr "Pridať tag názvu piesne" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Pridať pieseň do vyrovnávacej pamäte" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Pridať tag čísla skladby" @@ -619,18 +610,10 @@ msgstr "Pridať tag čísla skladby" msgid "Add song year tag" msgstr "Pridať tag roka piesne" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Pridať piesne do \"Moja hudba\", pri kliknutí na tlačítko Obľúbiť" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Pridať stream..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Pridať do Moja hudba" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Pridať do Spotify playlistov" @@ -639,14 +622,10 @@ msgstr "Pridať do Spotify playlistov" msgid "Add to Spotify starred" msgstr "Pridať do S hviezdičkou na Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Pridať do iného playlistu" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Pridať do záložiek" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Pridať do playlistu" @@ -656,10 +635,6 @@ msgstr "Pridať do playlistu" msgid "Add to the queue" msgstr "ju pridá do poradia" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Pridať používateľa/skupinu do záložiek" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Pridať wiimotedev činnosť" @@ -697,7 +672,7 @@ msgstr "Po " msgid "After copying..." msgstr "Po kopírovaní..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -710,7 +685,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (ideálna hlasitosť pre všetky skladby)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -725,10 +700,6 @@ msgstr "Obal albumu" msgid "Album info on jamendo.com..." msgstr "Informácie o albume na jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumy" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumy s obalmi" @@ -741,11 +712,11 @@ msgstr "Albumy bez obalov" msgid "All" msgstr "Všetko" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Všetky súbory (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "All Glory to the Hypnotoad!" @@ -870,7 +841,7 @@ msgid "" "the songs of your library?" msgstr "Ste si istý, že chcete ukladať štatistiky piesní do súboru piesne pri všetkých piesňach vo vašej zbierke?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -879,7 +850,7 @@ msgstr "Ste si istý, že chcete ukladať štatistiky piesní do súboru piesne msgid "Artist" msgstr "Interprét" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Interprét" @@ -950,7 +921,7 @@ msgstr "Priemerná veľkosť obrázku" msgid "BBC Podcasts" msgstr "Podcasty BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1007,7 +978,8 @@ msgstr "Najlepšia" msgid "Biography" msgstr "Životopis" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bit rate" @@ -1060,7 +1032,7 @@ msgstr "Prehľadávať..." msgid "Buffer duration" msgstr "Dĺžka vyrovnávacej pamäte" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Ukladá sa do vyrovnávacej pamäte" @@ -1084,19 +1056,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "podpora CUE zoznamu" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Cesta k vyrovnávacej pamäti:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Ukladá sa do vyrovnávacej pamäte" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "%1 sa ukladá do vyrovnávacej pamäte" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Zrušiť" @@ -1105,12 +1064,6 @@ msgstr "Zrušiť" msgid "Cancel download" msgstr "Zrušiť sťahovanie" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Vyžaduje sa Captcha.\nSkúste sa prihlásiť na Vk.com vo vašom prehliadači, aby ste opravili tento problém." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Zmeniť obal albumu" @@ -1149,6 +1102,10 @@ msgid "" "songs" msgstr "Zmena nastavenia mono prehrávania bude účinná pre nasledujúce prehrávané piesne." +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Skontrolovať, či sú nové časti" @@ -1157,19 +1114,15 @@ msgstr "Skontrolovať, či sú nové časti" msgid "Check for updates" msgstr "Skontrolovať aktualizácie" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Skontrolovať aktualizácie..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Vyberte priečinok vyrovnávacej pamäte na Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Vyberte názov pre váš inteligentný playlist" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Vybrať automaticky" @@ -1215,13 +1168,13 @@ msgstr "Upratovanie" msgid "Clear" msgstr "Vyprázdniť" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Vyprázdniť playlist" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1354,24 +1307,20 @@ msgstr "Farby" msgid "Comma separated list of class:level, level is 0-3" msgstr "Čiarkou oddelený zoznam class:level, level je 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Komentár" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Komunitné rádio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Vyplniť tagy automaticky" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Vyplniť tagy automaticky..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1402,15 +1351,11 @@ msgstr "Nastaviť Spotify..." msgid "Configure Subsonic..." msgstr "Nastaviť Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Nastaviť Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Nastaviť globálne vyhľadávanie..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Nastaviť zbierku..." @@ -1444,16 +1389,16 @@ msgid "" "http://localhost:4040/" msgstr "Spojenie odmietnuté serverom, skontrolujte URL adresu serveru. Príklad: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Čas na spojenie vypršal, skontrolujte URL adresu serveru. Príklad: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Problémy s pripojením, alebo je zvuk zakázaný vlastníkom" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konzola" @@ -1477,20 +1422,16 @@ msgstr "Konvertovať bezstratové zvukové súbory pred ich odoslaním do vzdial msgid "Convert lossless files" msgstr "Konvertovať bezstratové súbory" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopírovať zdieľanú URL adresu do schránky" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopírovať do schránky" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Skopírovať na zariadenie..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Skopírovať do zbierky..." @@ -1512,6 +1453,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Nedal sa vytvoriť GStreamer element \"%1\" - uistite sa, že máte nainštalované všetky potrebné pluginy GStreamera." +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Nepodarilo sa vytvoriť playlist" @@ -1538,7 +1488,7 @@ msgstr "Nedá sa otvoriť výstupný súbor %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Správca obalov" @@ -1624,11 +1574,11 @@ msgid "" "recover your database" msgstr "Bolo zistené porušenie databázy. Prosím, prečítajte si https://github.com/clementine-player/Clementine/wiki/Database-Corruption pre inštrukcie, ako zotaviť vašu databázu" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Dátum vytvorenia" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Dátum zmeny" @@ -1656,7 +1606,7 @@ msgstr "Znížiť hlasitosť" msgid "Default background image" msgstr "Štandardný obrázok na pozadí" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Východzie zariadenie na %1" @@ -1679,7 +1629,7 @@ msgid "Delete downloaded data" msgstr "Vymazať stiahnuté dáta" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Vymazať súbory" @@ -1687,7 +1637,7 @@ msgstr "Vymazať súbory" msgid "Delete from device..." msgstr "Vymazať zo zariadenia..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Vymazať z disku..." @@ -1712,11 +1662,15 @@ msgstr "Vymazať pôvodné súbory" msgid "Deleting files" msgstr "Odstraňujú sa súbory" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Vybrať z radu vybrané skladby" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Vybrať z radu skladbu" @@ -1745,11 +1699,11 @@ msgstr "Názov zariadenia" msgid "Device properties..." msgstr "Vlastnosti zariadenia..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Zariadenia" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialóg" @@ -1796,7 +1750,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Zakázané" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1817,7 +1771,7 @@ msgstr "Možnosti zobrazovania" msgid "Display the on-screen-display" msgstr "Zobrazovať OSD" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Vykonať preskenovanie celej zbierky" @@ -1988,12 +1942,12 @@ msgstr "Dynamicky náhodná zmes" msgid "Edit smart playlist..." msgstr "Upraviť inteligentný playlist..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Upraviť tag \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Upraviť tag..." @@ -2006,7 +1960,7 @@ msgid "Edit track information" msgstr "Upravť informácie o skladbe" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Upravť informácie o skladbe..." @@ -2026,10 +1980,6 @@ msgstr "Email" msgid "Enable Wii Remote support" msgstr "Povoliť podporu Wii diaľkového" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Povoliť automatické ukladanie do vyrovnávacej pamäte" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Povoliť ekvalizér" @@ -2114,7 +2064,7 @@ msgstr "Zadajte túto IP adresu v programe na spojenie s Clementine." msgid "Entire collection" msgstr "Celá zbierka" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekvalizér" @@ -2127,8 +2077,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Ekvivalent k --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Chyba" @@ -2148,6 +2098,11 @@ msgstr "Chyba pri kopírovaní piesní" msgid "Error deleting songs" msgstr "Chyba pri vymazávaní piesní" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Chyba pri sťahovaní Spotify pluginu." @@ -2268,7 +2223,7 @@ msgstr "Zoslabovanie" msgid "Fading duration" msgstr "Trvanie zoslabovania" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Zlyhalo čítanie CD v mechanike" @@ -2347,27 +2302,23 @@ msgstr "Prípona súboru" msgid "File formats" msgstr "Formáty súborov" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Názov súboru" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Názov súboru (bez cesty)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Vzor pre názov súboru:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Cesty k súborom" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Veľkosť súboru" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2377,7 +2328,7 @@ msgstr "Typ súboru" msgid "Filename" msgstr "Názov súboru" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Súbory" @@ -2389,10 +2340,6 @@ msgstr "Súbory na transkódovanie" msgid "Find songs in your library that match the criteria you specify." msgstr "Nájsť piesne vo vašej zbierke ktoré spĺňajú kritériá ktoré ste zadali." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Nájsť tohto interpréta" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Robí sa odtlačok piesne" @@ -2461,6 +2408,7 @@ msgid "Form" msgstr "Formulár" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Formát" @@ -2497,7 +2445,7 @@ msgstr "Plné výšky" msgid "Ge&nre" msgstr "Žá&ner" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Všeobecné" @@ -2505,7 +2453,7 @@ msgstr "Všeobecné" msgid "General settings" msgstr "Všeobecné nastavenia" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2538,11 +2486,11 @@ msgstr "Pomenujte:" msgid "Go" msgstr "Prejsť" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Prejsť na kartu ďalšieho playlistu" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Prejsť na kartu predchádzajúceho playlistu" @@ -2596,7 +2544,7 @@ msgstr "Zoradiť podľa žáner/album" msgid "Group by Genre/Artist/Album" msgstr "Zoradiť podľa žáner/interprét/album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2786,11 +2734,11 @@ msgstr "Nainštalované" msgid "Integrity check" msgstr "Kontrola integrity" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internetoví poskytovatelia" @@ -2807,6 +2755,10 @@ msgstr "Úvodné skladby" msgid "Invalid API key" msgstr "Neplatný API kľúč" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Neplatný formát" @@ -2863,7 +2815,7 @@ msgstr "Jamendo databáza" msgid "Jump to previous song right away" msgstr "Okamžitý prechod na predchádzajúcu pieseň" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Prejsť na práve prehrávanú skladbu" @@ -2887,7 +2839,7 @@ msgstr "Nechať bežať na pozadí, keď sa zavrie hlavné okno" msgid "Keep the original files" msgstr "Zachovať pôvodné súbory" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Mačiatka" @@ -2928,7 +2880,7 @@ msgstr "Veľký bočný panel" msgid "Last played" msgstr "Naposledy prehrávané" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Naposledy prehrávané" @@ -2969,12 +2921,12 @@ msgstr "Najmenej obľúbené skladby" msgid "Left" msgstr "Ľavý" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Dĺžka" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Zbierka" @@ -2983,7 +2935,7 @@ msgstr "Zbierka" msgid "Library advanced grouping" msgstr "Pokročilé zoraďovanie zbierky" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Poznámka k preskenovaniu zbierky" @@ -3023,7 +2975,7 @@ msgstr "Načítať obal z disku..." msgid "Load playlist" msgstr "Načítať playlist" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Načítať playlist..." @@ -3059,8 +3011,7 @@ msgstr "Načítavajú sa informácie o skladbe" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Načítava sa..." @@ -3069,7 +3020,6 @@ msgstr "Načítava sa..." msgid "Loads files/URLs, replacing current playlist" msgstr "Načítať súbory/URL adresy, nahradiť nimi aktuálny playlist" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3079,8 +3029,7 @@ msgstr "Načítať súbory/URL adresy, nahradiť nimi aktuálny playlist" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Prihlásiť sa" @@ -3088,15 +3037,11 @@ msgstr "Prihlásiť sa" msgid "Login failed" msgstr "Prihlásenie zlyhalo" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Odhlásiť" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Profil dlhodobej predpovede (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Obľúbené" @@ -3177,7 +3122,7 @@ msgstr "Hlavný profil (MAIN)" msgid "Make it so!" msgstr "Make it so!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Make it so!" @@ -3223,10 +3168,6 @@ msgstr "Spĺňať všetky výrazy hľadania (AND)" msgid "Match one or more search terms (OR)" msgstr "Splniť jeden alebo viac výrazov (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Maximum výsledkov globálneho vyhľadávania" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maximálny dátový tok" @@ -3257,6 +3198,10 @@ msgstr "Minimálny dátový tok" msgid "Minimum buffer fill" msgstr "Nejmenšie naplnenie vyrovnávacej pamäte" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Chýbajú projectM predvoľby" @@ -3277,7 +3222,7 @@ msgstr "Mono prehrávanie" msgid "Months" msgstr "Mesiace" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Nálada" @@ -3290,10 +3235,6 @@ msgstr "Štýl panelu nálady" msgid "Moodbars" msgstr "Panel nálady" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Viac" - #: library/library.cpp:84 msgid "Most played" msgstr "Najviac hrané" @@ -3311,7 +3252,7 @@ msgstr "Body pripojenia" msgid "Move down" msgstr "Posunúť nižšie" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Presunúť do zbierky..." @@ -3320,8 +3261,7 @@ msgstr "Presunúť do zbierky..." msgid "Move up" msgstr "Posunúť vyššie" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Hudba" @@ -3330,22 +3270,10 @@ msgid "Music Library" msgstr "Hudobná zbierka" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Stlmiť" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Moje albumy" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Moja hudba" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Moje odporúčania" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3391,7 +3319,7 @@ msgstr "Nezačne sa prehrávať" msgid "New folder" msgstr "Nový playlist" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nový playlist" @@ -3420,7 +3348,7 @@ msgid "Next" msgstr "Ďalšia" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Nasledujúca skladba" @@ -3458,7 +3386,7 @@ msgstr "Žiadne krátke bloky" msgid "None" msgstr "Nijako" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Žiadna z vybratých piesní nieje vhodná na kopírovanie do zariadenia" @@ -3507,10 +3435,6 @@ msgstr "Neprihlásený" msgid "Not mounted - double click to mount" msgstr "Nepripojené - pripojíte dvojklikom" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nič sa nenašlo" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Typ upozornení" @@ -3592,7 +3516,7 @@ msgstr "Nepriehľadnosť" msgid "Open %1 in browser" msgstr "Otvoriť %1 v prehliadači" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Otvoriť &zvukové CD..." @@ -3612,7 +3536,7 @@ msgstr "Otvoriť priečinok na importovanie hudby z neho" msgid "Open device" msgstr "Otvoriť zariadenie" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Otvoriť súbor ..." @@ -3666,7 +3590,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organizovať súbory" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Spravovať súbory..." @@ -3678,7 +3602,7 @@ msgstr "Spravovanie súborov" msgid "Original tags" msgstr "Pôvodné tagy" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3746,7 +3670,7 @@ msgstr "Party" msgid "Password" msgstr "Heslo" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pozastaviť" @@ -3759,7 +3683,7 @@ msgstr "Pozastaviť prehrávanie" msgid "Paused" msgstr "Pozastavené" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3774,14 +3698,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Obyčajný bočný panel" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Hrať" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Počet prehraní" @@ -3812,7 +3736,7 @@ msgstr "Možnosti prehrávača" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Playlist" @@ -3829,7 +3753,7 @@ msgstr "Možnosti playlistu" msgid "Playlist type" msgstr "Typ playlistu" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Playlisty" @@ -3870,11 +3794,11 @@ msgstr "Nastavenie" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Nastavenia" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Nastavenia..." @@ -3934,7 +3858,7 @@ msgid "Previous" msgstr "Predchádzajúca" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Predchádzajúca skladba" @@ -3985,16 +3909,16 @@ msgstr "Kvalita" msgid "Querying device..." msgstr "Zaraďuje sa zariadenie..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Správca poradia" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Zaradiť vybrané skladby" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Zaradiť skladbu" @@ -4006,7 +3930,7 @@ msgstr "Rádio (rovnaká hlasitosť pre všetky skladby)" msgid "Rain" msgstr "Dážď" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Dážď" @@ -4043,7 +3967,7 @@ msgstr "Ohodnotiť aktuálnu pieseň 4 hviezdičkami" msgid "Rate the current song 5 stars" msgstr "Ohodnotiť aktuálnu pieseň 5 hviezdičkami" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Hodnotenie" @@ -4110,7 +4034,7 @@ msgstr "Odstrániť" msgid "Remove action" msgstr "Odstrániť činnosť" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Odstrániť duplikáty z playlistu" @@ -4118,15 +4042,7 @@ msgstr "Odstrániť duplikáty z playlistu" msgid "Remove folder" msgstr "Odstrániť priečinok" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Odstrániť z Mojej hudby" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Odstrániť zo záložiek" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Odstrániť z playlistu" @@ -4138,7 +4054,7 @@ msgstr "Odstrániť playlist" msgid "Remove playlists" msgstr "Odstrániť playlisty" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Odstrániť nedostupné skladby z playlistu" @@ -4150,7 +4066,7 @@ msgstr "Premenovať playlist" msgid "Rename playlist..." msgstr "Premenovať playlist..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Prečíslovať skladby v tomto poradí..." @@ -4200,7 +4116,7 @@ msgstr "Znovu naplniť" msgid "Require authentication code" msgstr "Vyžadovať overovací kód" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Zresetovať" @@ -4241,7 +4157,7 @@ msgstr "Ripovať" msgid "Rip CD" msgstr "Ripovať CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Ripovať zvukové CD" @@ -4271,8 +4187,9 @@ msgstr "Bezpečne odpojiť zariadenie" msgid "Safely remove the device after copying" msgstr "Bezpečne odpojiť zariadenie po skončení kopírovania" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Rýchlosť vzorkovania" @@ -4310,7 +4227,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Uložiť playlist" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Uložiť playlist..." @@ -4350,7 +4267,7 @@ msgstr "Profil so škálovateľnou vzorkovacou frekvenciou" msgid "Scale size" msgstr "Veľkosť škály" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Skóre" @@ -4367,12 +4284,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Hľadať" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Hľadať" @@ -4515,7 +4432,7 @@ msgstr "Podrobnosti servera" msgid "Service offline" msgstr "Služba je offline" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Nastaviť %1 do \"%2\"..." @@ -4524,7 +4441,7 @@ msgstr "Nastaviť %1 do \"%2\"..." msgid "Set the volume to percent" msgstr "Nastaviť hlasitosť na percent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Nastaviť hodnotu pre všetky vybraté skladby..." @@ -4591,7 +4508,7 @@ msgstr "Zobrazovať krásne OSD" msgid "Show above status bar" msgstr "Zobraziť nad stavovým riadkom" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Zobraziť všetky piesne" @@ -4611,16 +4528,12 @@ msgstr "Zobraziť oddeľovače" msgid "Show fullsize..." msgstr "Zobraziť celú veľkosť..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Zobraziť skupiny vo výsledkoch globálneho vyhľadávania" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Zobraziť v prehliadači súborov..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Zobraziť v zbierke..." @@ -4632,27 +4545,23 @@ msgstr "Zobrazovať v rôznych interprétoch" msgid "Show moodbar" msgstr "Zobraziť panel nálady" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Zobraziť iba duplikáty" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Zobraziť iba neotagované" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Zobraziť alebo skryť bočný panel" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Zobraziť prehrávanú pieseň na vašej stránke" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Zobrazovať návrhy vyhľadávania" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Zobraziť bočný panel" @@ -4688,7 +4597,7 @@ msgstr "Zamiešať albumy" msgid "Shuffle all" msgstr "Zamiešať všetko" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Zamiešať playlist" @@ -4724,7 +4633,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Preskočiť dozadu v playliste" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Počet preskočení" @@ -4732,11 +4641,11 @@ msgstr "Počet preskočení" msgid "Skip forwards in playlist" msgstr "Preskočiť dopredu v playliste" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Preskočiť vybrané skladby" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Preskočiť skladbu" @@ -4768,7 +4677,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Informácie o piesni" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Pieseň" @@ -4804,7 +4713,7 @@ msgstr "Triedenie" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Zdroj" @@ -4879,7 +4788,7 @@ msgid "Starting..." msgstr "Začína sa ..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Zastaviť" @@ -4895,7 +4804,7 @@ msgstr "Zastaviť po každej skladbe" msgid "Stop after every track" msgstr "Zastaviť po každej skladbe" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Zastaviť po tejto skladbe" @@ -4924,6 +4833,10 @@ msgstr "Zastavené" msgid "Stream" msgstr "Stream" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5033,6 +4946,10 @@ msgstr "Obal albumu práve prehrávanej piesne" msgid "The directory %1 is not valid" msgstr "Priečinok %1 nieje platný" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Druhá hodnota musí byť väčšia ako prvá!" @@ -5051,7 +4968,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Skúšobná verzia Subsonic servera uplynula. Prosím prispejte, aby ste získali licenčný kľúč. Navštívte subsonic.org pre detaily." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5093,7 +5010,7 @@ msgid "" "continue?" msgstr "Tieto súbory budú vymazané zo zariadenia, ste si istý, že chcete pokračovať?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5177,7 +5094,7 @@ msgstr "Tento typ zariadení nieje podporovaný: %1" msgid "Time step" msgstr "Časový krok" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5196,11 +5113,11 @@ msgstr "Prepnúť Krásne OSD" msgid "Toggle fullscreen" msgstr "Prepnúť na celú obrazovku" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Prepínať stav radu" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Prepnúť skroblovanie" @@ -5240,7 +5157,7 @@ msgstr "Spolu urobených požiadavok cez sieť" msgid "Trac&k" msgstr "Č&." -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Č." @@ -5249,7 +5166,7 @@ msgstr "Č." msgid "Tracks" msgstr "Skladby" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Transkódovať hudbu" @@ -5286,6 +5203,10 @@ msgstr "Vypnúť" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL adresa(y)" @@ -5311,9 +5232,9 @@ msgstr "Nedá sa stiahnuť %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "neznámy" @@ -5330,11 +5251,11 @@ msgstr "Neznáma chyba" msgid "Unset cover" msgstr "Nenastavený obal" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Nepreskočiť vybraté skladby" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Nepreskočiť skladbu" @@ -5347,15 +5268,11 @@ msgstr "Zrušiť predplatné" msgid "Upcoming Concerts" msgstr "Pripravované koncerty" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Aktualizovať" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Aktualizovať všetky podcasty" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Aktualizovať zmenené priečinky v zbierke" @@ -5465,7 +5382,7 @@ msgstr "Použiť normalizáciu hlasitosti" msgid "Used" msgstr "Použitých" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Používateľské rozhranie" @@ -5491,7 +5408,7 @@ msgid "Variable bit rate" msgstr "Premenlivý dátový tok" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Rôzni interpréti" @@ -5504,11 +5421,15 @@ msgstr "Verzia %1" msgid "View" msgstr "Zobraziť" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Režim vizualizácií" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Vizualizácie" @@ -5516,10 +5437,6 @@ msgstr "Vizualizácie" msgid "Visualizations Settings" msgstr "Nastavenia vizualizácií" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Detekcia hlasovej činnosti" @@ -5542,10 +5459,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Stena" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Varovať ma pri zatvorení karty s playlistom" @@ -5648,7 +5561,7 @@ msgid "" "well?" msgstr "Chceli by ste presunúť tiež ostatné piesne v tomto albume do rôznych interprétov?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Chcete teraz spustiť úplné preskenovanie?" @@ -5664,7 +5577,7 @@ msgstr "Zapísať metadáta" msgid "Wrong username or password." msgstr "Nesprávne meno používateľa alebo heslo." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/sl.po b/src/translations/sl.po index 811a5388b..32129a0e5 100644 --- a/src/translations/sl.po +++ b/src/translations/sl.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Slovenian (http://www.transifex.com/davidsansome/clementine/language/sl/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -69,11 +69,6 @@ msgstr " sekund" msgid " songs" msgstr " skladb" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 skladb)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -105,7 +100,7 @@ msgstr "%1 na %2" msgid "%1 playlists (%2)" msgstr "%1 seznamov predvajanja (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "izbran %1 od" @@ -130,7 +125,7 @@ msgstr "najdenih %1 skladb" msgid "%1 songs found (showing %2)" msgstr "najdenih %1 skladb (prikazanih %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 skladb" @@ -190,7 +185,7 @@ msgstr "U&sredini" msgid "&Custom" msgstr "Po &meri" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Dodatki" @@ -198,7 +193,7 @@ msgstr "Dodatki" msgid "&Grouping" msgstr "&Združevanje" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Pomoč" @@ -223,7 +218,7 @@ msgstr "Zak&leni oceno" msgid "&Lyrics" msgstr "Besedi&la" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Glasba" @@ -231,15 +226,15 @@ msgstr "&Glasba" msgid "&None" msgstr "&Brez" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Seznam &predvajanja" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Končaj" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Način p&onavljanja" @@ -247,7 +242,7 @@ msgstr "Način p&onavljanja" msgid "&Right" msgstr "&Desno" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Pre&mešani način" @@ -255,7 +250,7 @@ msgstr "Pre&mešani način" msgid "&Stretch columns to fit window" msgstr "Raztegni &stolpce, da se prilegajo oknu" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Orodja" @@ -291,7 +286,7 @@ msgstr "0 px" msgid "1 day" msgstr "1 dan" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 skladba" @@ -435,11 +430,11 @@ msgstr "Prekini" msgid "About %1" msgstr "O %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "O Clementine ..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "O Qt ..." @@ -449,7 +444,7 @@ msgid "Absolute" msgstr "Absolutne" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Podrobnosti računa" @@ -503,19 +498,19 @@ msgstr "Dodaj še en pretok ..." msgid "Add directory..." msgstr "Dodaj mapo ..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Dodaj datoteko" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Dodaj datoteko v prekodirnik" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Dodaj datoteko(-e) v prekodirnik" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Dodaj datoteko ..." @@ -523,12 +518,12 @@ msgstr "Dodaj datoteko ..." msgid "Add files to transcode" msgstr "Dodajte datoteke za prekodiranje" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Dodaj mapo" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Dodaj mapo ..." @@ -540,7 +535,7 @@ msgstr "Dodaj novo mapo ..." msgid "Add podcast" msgstr "Dodaj podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Dodaj podcast ..." @@ -608,10 +603,6 @@ msgstr "Dodaj oznako: število preskokov" msgid "Add song title tag" msgstr "Dodaj oznako: naslov" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Dodaj skladbo v predpomnilnik" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Dodaj oznako: številka skladbe" @@ -620,18 +611,10 @@ msgstr "Dodaj oznako: številka skladbe" msgid "Add song year tag" msgstr "Dodaj oznako: leto" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Dodaj skladbe med \"Moja glasba\", ko kliknem na gumb \"Priljubljena\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Dodaj pretok ..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Dodaj v Mojo glasbo" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Dodaj na sezname predvajanja Spotify" @@ -640,14 +623,10 @@ msgstr "Dodaj na sezname predvajanja Spotify" msgid "Add to Spotify starred" msgstr "Dodaj med priljubljene v Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Dodaj na drug seznam predvajanja" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Dodaj med zaznamke" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Dodaj na seznam predvajanja" @@ -657,10 +636,6 @@ msgstr "Dodaj na seznam predvajanja" msgid "Add to the queue" msgstr "Dodaj v vrsto" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Dodaj uporabnika/skupino v zaznamke" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Dodaj dejanje wiimotedev" @@ -698,7 +673,7 @@ msgstr "Po " msgid "After copying..." msgstr "Po kopiranju ..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -711,7 +686,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (najboljša glasnost za vse skladbe)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -726,10 +701,6 @@ msgstr "Ovitek albuma" msgid "Album info on jamendo.com..." msgstr "Podrobnosti albuma na jamendo.com ..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumi" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumi z ovitkom" @@ -742,11 +713,11 @@ msgstr "Albumi brez ovitka" msgid "All" msgstr "Vse" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Vse datoteke (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "All Glory to the Hypnotoad!" @@ -871,7 +842,7 @@ msgid "" "the songs of your library?" msgstr "Ali ste prepričani, da želite zapisati statistike skladbe v datoteko skladbe za vse skladbe v vaši knjižnici?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -880,7 +851,7 @@ msgstr "Ali ste prepričani, da želite zapisati statistike skladbe v datoteko s msgid "Artist" msgstr "Izvajalec" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "O izvajalcu" @@ -951,7 +922,7 @@ msgstr "Povprečna velikost slike" msgid "BBC Podcasts" msgstr "BBC-jevi podcasti" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "udarcev/min" @@ -1008,7 +979,8 @@ msgstr "Najboljše" msgid "Biography" msgstr "Biografija" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitna hitrost" @@ -1061,7 +1033,7 @@ msgstr "Prebrskaj ..." msgid "Buffer duration" msgstr "Trajanje medpomnilnika" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Medpomnjenje" @@ -1085,19 +1057,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Podpora predlogam CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Pot do predpomnilnika:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Predpomnjenje" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Predpomnjenje %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Prekliči" @@ -1106,12 +1065,6 @@ msgstr "Prekliči" msgid "Cancel download" msgstr "Prekliči prejem" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Zahtevan je Captcha.\nDa rešite to težavo, se poskusite v Vk.prijaviti z vašim brskalnikom." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Spremeni ovitek albuma" @@ -1150,6 +1103,10 @@ msgid "" "songs" msgstr "Sprememba nastavitve predvajanja mono, bo dejavna za naslednje skladbe, ki bodo predvajane" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Preveri za novimi epizodami" @@ -1158,19 +1115,15 @@ msgstr "Preveri za novimi epizodami" msgid "Check for updates" msgstr "Preveri za posodobitvami" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Preveri za posodobitvami ..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Izberi mapo s predpomnilnikom za Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Izberite ime za vaš pametni seznam predvajanja" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Izberi samodejno" @@ -1216,13 +1169,13 @@ msgstr "Čiščenje" msgid "Clear" msgstr "Počisti" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Počisti seznam predvajanja" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1355,24 +1308,20 @@ msgstr "Barve" msgid "Comma separated list of class:level, level is 0-3" msgstr "Z vejicami ločen seznam razred:raven, raven je 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Opomba" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Radio skupnosti" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Samodejno dopolni oznake" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Samodejno dopolni oznake ..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1403,15 +1352,11 @@ msgstr "Nastavi Spotify ..." msgid "Configure Subsonic..." msgstr "Nastavite Subsonic ..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Nastavi Vk.com ..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Nastavi splošno iskanje" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Nastavi knjižnico ..." @@ -1445,16 +1390,16 @@ msgid "" "http://localhost:4040/" msgstr "Strežnik je zavrnil povezavo, preverite njegov naslov URL. Primer: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Povezava je časovno pretekla, preverite naslov URL strežnika. Primer: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Težava s povezavo ali pa je lastnik onemogočil zvok" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konzola" @@ -1478,20 +1423,16 @@ msgstr "Pretvori zvočne datoteke brez izgub pred pošiljanjem." msgid "Convert lossless files" msgstr "Pretvori datoteke brez izgub" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopiraj naslov URL za deljenje v odložišče" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopiraj v odložišče" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopiraj na napravo ..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopiraj v knjižnico ..." @@ -1513,6 +1454,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Ni bilo mogoče ustvariti GStreamer-jevega elementa \"%1\" - prepričajte se, da imate nameščene vse zahtevane vstavke GStreamer" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Ni bilo mogoče ustvariti seznama predvajanja" @@ -1539,7 +1489,7 @@ msgstr "Izhodne datoteke %1 ni bilo mogoče odpreti" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Upravljalnik ovitkov" @@ -1625,11 +1575,11 @@ msgid "" "recover your database" msgstr "Zaznana je bila okvara podatkovne zbirke. Za navodila obnovitve podatkovne zbirke si oglejte: https://github.com/clementine-player/Clementine/wiki/Database-Corruption" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Datum ustvarjenja" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Datum spremembe" @@ -1657,7 +1607,7 @@ msgstr "Zmanjšaj glasnost" msgid "Default background image" msgstr "Privzeta slika ozadja" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Privzeta naprava na %1" @@ -1680,7 +1630,7 @@ msgid "Delete downloaded data" msgstr "Izbriši prejete podatke" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Izbriši datoteke" @@ -1688,7 +1638,7 @@ msgstr "Izbriši datoteke" msgid "Delete from device..." msgstr "Izbriši iz naprave ..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Izbriši iz diska ..." @@ -1713,11 +1663,15 @@ msgstr "Izbriši izvorne datoteke" msgid "Deleting files" msgstr "Brisanje datotek" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Odstrani izbrane skladbe iz vrste" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Odstrani skladbo iz vrste" @@ -1746,11 +1700,11 @@ msgstr "Ime naprave" msgid "Device properties..." msgstr "Lastnosti naprave ..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Naprave" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Pogovorno okno" @@ -1797,7 +1751,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Onemogočeno" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1818,7 +1772,7 @@ msgstr "Možnosti prikaza" msgid "Display the on-screen-display" msgstr "Pokaži prikaz na zaslonu" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Ponovno preišči celotno knjižnico" @@ -1989,12 +1943,12 @@ msgstr "Dinamični naključni miks" msgid "Edit smart playlist..." msgstr "Uredi pametni seznam predvajanja ..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Uredi oznako \"%1\" ..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Uredi oznako ..." @@ -2007,7 +1961,7 @@ msgid "Edit track information" msgstr "Uredi podrobnosti o skladbi" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Uredi podrobnosti o skladbi ..." @@ -2027,10 +1981,6 @@ msgstr "E-pošta" msgid "Enable Wii Remote support" msgstr "Omogoči podporo Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Omogoči samodejno predpomnjenje" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Omogoči uravnalnik" @@ -2115,7 +2065,7 @@ msgstr "Vnesite ta IP v App, da se povežete s Clementine." msgid "Entire collection" msgstr "Celotna zbirka" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Uravnalnik" @@ -2128,8 +2078,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Enakovredno --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Napaka" @@ -2149,6 +2099,11 @@ msgstr "Napaka med kopiranjem skladb" msgid "Error deleting songs" msgstr "Napaka med brisanjem skladb" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Napaka med prejemanjem vstavka Spotify" @@ -2269,7 +2224,7 @@ msgstr "Pojemanje" msgid "Fading duration" msgstr "Trajanje pojemanja" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Napaka med branjem iz pogona CD" @@ -2348,27 +2303,23 @@ msgstr "Pripona datoteke" msgid "File formats" msgstr "Vrste datotek" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Ime datoteke" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Ime datoteke (brez poti)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Vzorec imena datoteke:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Poti do datotek" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Velikost datoteke" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2378,7 +2329,7 @@ msgstr "Vrsta datoteke" msgid "Filename" msgstr "Ime datoteke" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Datoteke" @@ -2390,10 +2341,6 @@ msgstr "Datoteke za prekodiranje" msgid "Find songs in your library that match the criteria you specify." msgstr "Najdite skladbe v knjižnici, ki se ujemajo z merili, ki jih določite." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Najdi tega izvajalca" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Jemanje prstnega odtisa skladbe" @@ -2462,6 +2409,7 @@ msgid "Form" msgstr "Obrazec" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Vrsta" @@ -2498,7 +2446,7 @@ msgstr "Polni visoki toni" msgid "Ge&nre" msgstr "Z&vrst" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Splošno" @@ -2506,7 +2454,7 @@ msgstr "Splošno" msgid "General settings" msgstr "Splošne nastavitve" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2539,11 +2487,11 @@ msgstr "Vnesite ime:" msgid "Go" msgstr "Pojdi" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Pojdi na naslednji zavihek seznama predvajanja" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Pojdi na predhodni zavihek seznama predvajanja" @@ -2597,7 +2545,7 @@ msgstr "Združi po zvrsti/albumu" msgid "Group by Genre/Artist/Album" msgstr "Združi po zvrsti/izvajalcu/albumu" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2787,11 +2735,11 @@ msgstr "Nameščeno" msgid "Integrity check" msgstr "Preverjanje celovitosti" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Ponudniki interneta" @@ -2808,6 +2756,10 @@ msgstr "Skladbe začetka" msgid "Invalid API key" msgstr "Neveljaven ključ API" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Neveljavna vrsta" @@ -2864,7 +2816,7 @@ msgstr "Podatkovna zbirka Jamendo" msgid "Jump to previous song right away" msgstr "takoj skočilo na predhodno skladbo" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Skoči na trenutno predvajano skladbo" @@ -2888,7 +2840,7 @@ msgstr "Ostani zagnan v ozadju dokler se ne zapre okno" msgid "Keep the original files" msgstr "Ohrani izvorne datoteke" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Mucke" @@ -2929,7 +2881,7 @@ msgstr "Velika stranska vrstica" msgid "Last played" msgstr "Zadnjič predvajano" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Zadnjič predvajano" @@ -2970,12 +2922,12 @@ msgstr "Najmanj priljubljene skladbe" msgid "Left" msgstr "Levo" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Dolžina" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Knjižnica" @@ -2984,7 +2936,7 @@ msgstr "Knjižnica" msgid "Library advanced grouping" msgstr "Napredno združevanje v knjižnici" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Obvestilo ponovnega preiskovanja knjižnice" @@ -3024,7 +2976,7 @@ msgstr "Naloži ovitek iz diska ..." msgid "Load playlist" msgstr "Naloži seznam predvajanja" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Naloži seznam predvajanja ..." @@ -3060,8 +3012,7 @@ msgstr "Nalaganje podrobnosti o skladbah" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Nalaganje ..." @@ -3070,7 +3021,6 @@ msgstr "Nalaganje ..." msgid "Loads files/URLs, replacing current playlist" msgstr "Naloži datoteke/naslove URL in zamenjaj trenutni seznam predvajanja" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3080,8 +3030,7 @@ msgstr "Naloži datoteke/naslove URL in zamenjaj trenutni seznam predvajanja" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Prijava" @@ -3089,15 +3038,11 @@ msgstr "Prijava" msgid "Login failed" msgstr "Prijava je spodletela" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Odjava" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Profil daljnosežnega predvidevanja (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Priljubljena" @@ -3178,7 +3123,7 @@ msgstr "Glavni profil (MAIN)" msgid "Make it so!" msgstr "Make it so!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Make it so!" @@ -3224,10 +3169,6 @@ msgstr "Ujemanje s vsakim pogojem iskanja (IN)" msgid "Match one or more search terms (OR)" msgstr "Ujemanje enega ali več pogojev iskanja (ALI)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Največ rezultatov splošnega iskanja" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Največja bitna hitrost" @@ -3258,6 +3199,10 @@ msgstr "Najmanjša bitna hitrost" msgid "Minimum buffer fill" msgstr "Najmanjša zapolnitev medpomnilnika" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Manjkajoče predloge nastavitev projectM" @@ -3278,7 +3223,7 @@ msgstr "Predvajanje v načinu mono" msgid "Months" msgstr "Meseci" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Razpoloženje" @@ -3291,10 +3236,6 @@ msgstr "Slog vrstice razpoloženja" msgid "Moodbars" msgstr "Vrstice razpoloženja" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Več" - #: library/library.cpp:84 msgid "Most played" msgstr "Najbolj predvajano" @@ -3312,7 +3253,7 @@ msgstr "Priklopne točke" msgid "Move down" msgstr "Premakni dol" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Premakni v knjižnico ..." @@ -3321,8 +3262,7 @@ msgstr "Premakni v knjižnico ..." msgid "Move up" msgstr "Premakni gor" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Glasba" @@ -3331,22 +3271,10 @@ msgid "Music Library" msgstr "Glasbena knjižnica" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Utišaj" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Moji albumi" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Moja glasba" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Moja priporočila" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3392,7 +3320,7 @@ msgstr "Nikoli ne začni s predvajanjem" msgid "New folder" msgstr "Nova mapa" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nov seznam predvajanja" @@ -3421,7 +3349,7 @@ msgid "Next" msgstr "Naslednji" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Naslednja skladba" @@ -3459,7 +3387,7 @@ msgstr "Brez kratkih blokov" msgid "None" msgstr "Brez" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Nobena izmed izbranih skladb ni bila primerna za kopiranje na napravo" @@ -3508,10 +3436,6 @@ msgstr "Niste prijavljeni" msgid "Not mounted - double click to mount" msgstr "Ni priklopljeno - dvokliknite za priklop" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Nič ni bilo najdeno" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Vrsta obvestila" @@ -3593,7 +3517,7 @@ msgstr "Motnost" msgid "Open %1 in browser" msgstr "Odpri %1 v brskalniku" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Odpri &zvočni CD ..." @@ -3613,7 +3537,7 @@ msgstr "Odpri mapo, iz katere bo uvožena glasba" msgid "Open device" msgstr "Odpri napravo" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Odpri datoteko ..." @@ -3667,7 +3591,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organiziraj datoteke" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organiziraj datoteke ..." @@ -3679,7 +3603,7 @@ msgstr "Organiziranje datotek" msgid "Original tags" msgstr "Izvorne oznake" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3747,7 +3671,7 @@ msgstr "Zabava" msgid "Password" msgstr "Geslo" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Naredi premor" @@ -3760,7 +3684,7 @@ msgstr "Naredi premor predvajanja" msgid "Paused" msgstr "V premoru" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3775,14 +3699,14 @@ msgstr "Slikovna točka" msgid "Plain sidebar" msgstr "Navadna stranska vrstica" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Predvajaj" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Število predvajanj" @@ -3813,7 +3737,7 @@ msgstr "Možnosti predvajalnika" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Seznam predvajanja" @@ -3830,7 +3754,7 @@ msgstr "Možnosti seznama predvajanja" msgid "Playlist type" msgstr "Vrsta seznama predvajanja" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Seznami predvajanja" @@ -3871,11 +3795,11 @@ msgstr "Možnost" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Možnosti" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Možnosti ..." @@ -3935,7 +3859,7 @@ msgid "Previous" msgstr "Predhodni" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Predhodna skladba" @@ -3986,16 +3910,16 @@ msgstr "Kakovost" msgid "Querying device..." msgstr "Poizvedovanje po napravi ..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Upravljalnik vrste" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Postavi izbrane skladbe v vrsto" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Postavi skladbo v vrsto" @@ -4007,7 +3931,7 @@ msgstr "Radio (enaka glasnost za vse skladbe)" msgid "Rain" msgstr "Dež" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Dež" @@ -4044,7 +3968,7 @@ msgstr "Oceni trenutno skladbo: 4 zvezdice" msgid "Rate the current song 5 stars" msgstr "Oceni trenutno skladbo: 5 zvezdic" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Ocena" @@ -4111,7 +4035,7 @@ msgstr "Odstrani" msgid "Remove action" msgstr "Odstrani dejanje" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Odstrani podvojene iz seznama predvajanja" @@ -4119,15 +4043,7 @@ msgstr "Odstrani podvojene iz seznama predvajanja" msgid "Remove folder" msgstr "Odstrani mapo" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Odstrani iz Moje glasbe" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Odstrani iz zaznamkov" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Odstrani iz seznama predvajanja" @@ -4139,7 +4055,7 @@ msgstr "Odstrani seznam predvajanja" msgid "Remove playlists" msgstr "Odstrani sezname predvajanja" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Iz seznama predvajanja odstrani skladbe, ki niso na voljo" @@ -4151,7 +4067,7 @@ msgstr "Preimenuj seznam predvajanja" msgid "Rename playlist..." msgstr "Preimenuj seznam predvajanja ..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Znova oštevilči skladbe v naslednjem vrstnem redu ..." @@ -4201,7 +4117,7 @@ msgstr "Znova napolni" msgid "Require authentication code" msgstr "Zahtevaj overitveno kodo" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Ponastavi" @@ -4242,7 +4158,7 @@ msgstr "Zajemi" msgid "Rip CD" msgstr "Zajemi CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Zajemi zvočni CD" @@ -4272,8 +4188,9 @@ msgstr "Varno odstrani napravo" msgid "Safely remove the device after copying" msgstr "Varno odstrani napravo po kopiranju" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Hitrost vzorčenja" @@ -4311,7 +4228,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Shrani seznam predvajanja" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Shrani seznam predvajanja ..." @@ -4351,7 +4268,7 @@ msgstr "Profil prilagodljive vzorčne hitrosti (SSR)" msgid "Scale size" msgstr "Umeri velikost" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Rezultat" @@ -4368,12 +4285,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Poišči" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Išči" @@ -4516,7 +4433,7 @@ msgstr "Podrobnosti strežnika" msgid "Service offline" msgstr "Storitev je nepovezana" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Nastavi %1 na \"%2\" ..." @@ -4525,7 +4442,7 @@ msgstr "Nastavi %1 na \"%2\" ..." msgid "Set the volume to percent" msgstr "Nastavi glasnost na odstotkov" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Nastavi vrednost za vse izbrane skladbe ..." @@ -4592,7 +4509,7 @@ msgstr "Pokaži lep prikaz na zaslonu" msgid "Show above status bar" msgstr "Pokaži nad vrstico stanja" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Pokaži vse skladbe" @@ -4612,16 +4529,12 @@ msgstr "Pokaži razdelilnike" msgid "Show fullsize..." msgstr "Pokaži v polni velikosti ..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Pokaži skupine v rezultatih splošnega iskanja" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Pokaži v brskalniku datotek ..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Pokaži v knjižnici ..." @@ -4633,27 +4546,23 @@ msgstr "Pokaži med \"Različni izvajalci\"" msgid "Show moodbar" msgstr "Pokaži vrstico razpoloženja" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Pokaži samo podvojene" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Pokaži samo tiste brez oznak" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Preklopi stransko vrstico" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Pokaži skladbo, ki se predvaja, na moji strani" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Prikaži iskalne predloge" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Pokaži stransko vrstico" @@ -4689,7 +4598,7 @@ msgstr "Premešaj albume" msgid "Shuffle all" msgstr "Premešaj vse" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Premešaj seznam predvajanja" @@ -4725,7 +4634,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Skoči nazaj po seznamu predvajanja" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Število preskočenih" @@ -4733,11 +4642,11 @@ msgstr "Število preskočenih" msgid "Skip forwards in playlist" msgstr "Skoči naprej po seznamu predvajanja" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Preskoči izbrane skladbe" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Preskoči skladbo" @@ -4769,7 +4678,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Podrobnosti o skladbi" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "O skladbi" @@ -4805,7 +4714,7 @@ msgstr "Razvrščanje" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Vir" @@ -4880,7 +4789,7 @@ msgid "Starting..." msgstr "Začenjanje ..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Zaustavi" @@ -4896,7 +4805,7 @@ msgstr "Zaustavi po vsaki skladbi" msgid "Stop after every track" msgstr "Zaustavi po vsaki skladbi" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Zaustavi po tej skladbi" @@ -4925,6 +4834,10 @@ msgstr "Zaustavljeno" msgid "Stream" msgstr "Pretok" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5034,6 +4947,10 @@ msgstr "Ovitek albuma skladbe, ki se trenutno predvaja" msgid "The directory %1 is not valid" msgstr "Mapa %1 ni veljavna" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Druga vrednost mora biti višja od prve!" @@ -5052,7 +4969,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Preizkusno obdobje za strežnik Subsonic je končano. Da pridobite licenčni ključ, morate donirati. Za podrobnosti si oglejte subsonic.org." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5094,7 +5011,7 @@ msgid "" "continue?" msgstr "Te datoteke bodo izbrisane iz naprave. Ali ste prepričani, da želite nadaljevati?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5178,7 +5095,7 @@ msgstr "Ta vrsta naprave ni podprta: %1" msgid "Time step" msgstr "Časovni korak" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5197,11 +5114,11 @@ msgstr "Preklopi lep prikaz na zaslonu" msgid "Toggle fullscreen" msgstr "Preklopi celozaslonski način" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Preklopi stanje vrste" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Preklopi med pošiljanjem podatkov o predvajanih skladbah" @@ -5241,7 +5158,7 @@ msgstr "Skupno število omrežnih zahtev" msgid "Trac&k" msgstr "S&kladba" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Skladba" @@ -5250,7 +5167,7 @@ msgstr "Skladba" msgid "Tracks" msgstr "Skladbe" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Prekodiraj glasbo" @@ -5287,6 +5204,10 @@ msgstr "Izklopi" msgid "URI" msgstr "Naslov URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Naslovi URL" @@ -5312,9 +5233,9 @@ msgstr "Ni bilo mogoče prejeti %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Neznano" @@ -5331,11 +5252,11 @@ msgstr "Neznana napaka" msgid "Unset cover" msgstr "Odstrani ovitek" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Ne preskoči izbranih skladb" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Ne preskoči skladbe" @@ -5348,15 +5269,11 @@ msgstr "Ukini naročnino" msgid "Upcoming Concerts" msgstr "Prihajajoči koncerti" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Posodobi" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Posodobi vse podcaste" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Posodobi spremenjene mape v knjižnici" @@ -5466,7 +5383,7 @@ msgstr "Uporabi izenačevanje glasnosti" msgid "Used" msgstr "Uporabljeno" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Uporabniški vmesnik" @@ -5492,7 +5409,7 @@ msgid "Variable bit rate" msgstr "Spremenljiva bitna hitrost" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Različni izvajalci" @@ -5505,11 +5422,15 @@ msgstr "Različica %1" msgid "View" msgstr "Pogled" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Način predočenja" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Predočenja" @@ -5517,10 +5438,6 @@ msgstr "Predočenja" msgid "Visualizations Settings" msgstr "Nastavitve predočenja" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Zaznava dejavnosti glasu" @@ -5543,10 +5460,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Zid" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Opozori med pred zapiranjem zavihkov seznamov predvajanja" @@ -5649,7 +5562,7 @@ msgid "" "well?" msgstr "Ali bi želeli tudi druge skladbe v tem albumu premakniti med kategorijo Različni izvajalci?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Ali želite opraviti ponovno preiskovanje celotne knjižnice?" @@ -5665,7 +5578,7 @@ msgstr "Zapiši metapodatke" msgid "Wrong username or password." msgstr "Napačno uporabniško ime ali geslo." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/sr.po b/src/translations/sr.po index c2fde0d35..b37064811 100644 --- a/src/translations/sr.po +++ b/src/translations/sr.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-19 22:08+0000\n" -"Last-Translator: Mladen Pejaković \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Serbian (http://www.transifex.com/davidsansome/clementine/language/sr/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -66,11 +66,6 @@ msgstr " секунди" msgid " songs" msgstr " песама" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 песама)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -102,7 +97,7 @@ msgstr "%1 на %2" msgid "%1 playlists (%2)" msgstr "%1 листи нумера (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 изабрано од" @@ -127,7 +122,7 @@ msgstr "%1 песама пронађено" msgid "%1 songs found (showing %2)" msgstr "%1 песама пронађено (приказујем %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 нумера" @@ -187,7 +182,7 @@ msgstr "&центрирај" msgid "&Custom" msgstr "&Посебна" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Додаци" @@ -195,7 +190,7 @@ msgstr "&Додаци" msgid "&Grouping" msgstr "&Груписање" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Помоћ" @@ -220,7 +215,7 @@ msgstr "&Закључај оцену" msgid "&Lyrics" msgstr "&Стихови" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Музика" @@ -228,15 +223,15 @@ msgstr "&Музика" msgid "&None" msgstr "&Ниједна" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Листа нумера" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Напусти" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Режим понављања" @@ -244,7 +239,7 @@ msgstr "&Режим понављања" msgid "&Right" msgstr "&десно" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Насумични режим" @@ -252,7 +247,7 @@ msgstr "&Насумични режим" msgid "&Stretch columns to fit window" msgstr "&Уклопи колоне у прозор" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Алатке" @@ -288,7 +283,7 @@ msgstr "0px" msgid "1 day" msgstr "1 дан" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 нумера" @@ -432,11 +427,11 @@ msgstr "Прекини" msgid "About %1" msgstr "О %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "О Клементини..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Више о Куту..." @@ -446,7 +441,7 @@ msgid "Absolute" msgstr "Апсолутне" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Детаљи о налогу" @@ -500,19 +495,19 @@ msgstr "Додај други ток..." msgid "Add directory..." msgstr "Додај фасциклу..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Додавање фајла" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Додај фајл у прекодер" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Додај фајло(ове) у прекодер" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Додај фајл..." @@ -520,12 +515,12 @@ msgstr "Додај фајл..." msgid "Add files to transcode" msgstr "Додавање фајлова за прекодирање" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Додавање фасцикле" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Додај фасциклу..." @@ -537,7 +532,7 @@ msgstr "Додај нову фасциклу..." msgid "Add podcast" msgstr "Додавање подкаста" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Додај подкаст..." @@ -605,10 +600,6 @@ msgstr "Уметни број прескока песме" msgid "Add song title tag" msgstr "Уметни наслов песме" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Додај песму у кеш" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Уметни нумеру песме" @@ -617,18 +608,10 @@ msgstr "Уметни нумеру песме" msgid "Add song year tag" msgstr "Уметни годину песме" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Додај песму у „Моју музику“ кад кликнем на дугме „Волим“" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Додај ток..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Додај у Моју музику" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Додај у Спотифај листе нумера" @@ -637,14 +620,10 @@ msgstr "Додај у Спотифај листе нумера" msgid "Add to Spotify starred" msgstr "Додај на Спотифај оцењено" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Додај у другу листу" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Додај у обележиваче" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Додај у листу нумера" @@ -654,10 +633,6 @@ msgstr "Додај у листу нумера" msgid "Add to the queue" msgstr "стави у ред" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Додај корисника/групу у обележиваче" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Додај wiimotedev радњу" @@ -695,7 +670,7 @@ msgstr "након " msgid "After copying..." msgstr "Након копирања:" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -708,7 +683,7 @@ msgstr "албум" msgid "Album (ideal loudness for all tracks)" msgstr "албум (идеална јачина за све песме)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -723,10 +698,6 @@ msgstr "Омот албума" msgid "Album info on jamendo.com..." msgstr "Подаци албума са Џаменда..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Албуми" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Албуми са омотима" @@ -739,11 +710,11 @@ msgstr "Албуми без омота" msgid "All" msgstr "Све" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Сви фајлови (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Слава Хипножапцу!" @@ -868,7 +839,7 @@ msgid "" "the songs of your library?" msgstr "Желите ли заиста да упишете статистику песме у фајл песме за све песме из ваше библиотеке?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -877,7 +848,7 @@ msgstr "Желите ли заиста да упишете статистику msgid "Artist" msgstr "извођач" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Подаци о извођачу" @@ -948,7 +919,7 @@ msgstr "Просечна величина слике" msgid "BBC Podcasts" msgstr "ББЦ-ијеви подкасти" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "темпо" @@ -1005,7 +976,8 @@ msgstr "најбољи" msgid "Biography" msgstr "Биографија" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "битски проток" @@ -1058,7 +1030,7 @@ msgstr "Прегледај..." msgid "Buffer duration" msgstr "Величина бафера" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Баферујем" @@ -1082,19 +1054,6 @@ msgstr "ЦДДА" msgid "CUE sheet support" msgstr "Подршка за ЦУЕ лист" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Путања кеша:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Кеширање" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Кеширам %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Одустани" @@ -1103,12 +1062,6 @@ msgstr "Одустани" msgid "Cancel download" msgstr "Прекини преузимање" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Потребан је кепча кôд.\nДа бисте поправили проблем покушајте да се пријавите на Vk.com у вашем прегледачу." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Промени слику омота" @@ -1147,6 +1100,10 @@ msgid "" "songs" msgstr "Измена ће бити активна за наступајуће песме" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Тражи нове епизоде" @@ -1155,19 +1112,15 @@ msgstr "Тражи нове епизоде" msgid "Check for updates" msgstr "Потражи надоградње" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Потражи надоградње..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Избор фасцикле кеша за Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Изаберите име за вашу паметну листу" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Изабери аутоматски" @@ -1213,13 +1166,13 @@ msgstr "Чишћење" msgid "Clear" msgstr "Очисти" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Очисти листу нумера" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Клементина" @@ -1352,24 +1305,20 @@ msgstr "Боје" msgid "Comma separated list of class:level, level is 0-3" msgstr "Зарез раздваја листу од класа: ниво, ниво је 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "коментар" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Друштвени радио" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Попуни ознаке аутоматски" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Попуни ознаке аутоматски..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1400,15 +1349,11 @@ msgstr "Подеси Спотифај..." msgid "Configure Subsonic..." msgstr "Подеси Субсоник..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Подеси vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Подеси општу претрагу..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Подеси библиотеку..." @@ -1442,16 +1387,16 @@ msgid "" "http://localhost:4040/" msgstr "Сервер је одбио везу, проверите УРЛ. Пример: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Прековреме истекло, проверите УРЛ сервера. Пример: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Проблем са повезивањем или је власник онемогућио звук" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Конзола" @@ -1475,20 +1420,16 @@ msgstr "Претвори безгубитне аудио фајлове пре msgid "Convert lossless files" msgstr "Претвори безгубитне фајлове" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Копирај УРЛ дељења на клипборд" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Копирај на клипборд" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Копирај на уређај...." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Копирај у библиотеку..." @@ -1510,6 +1451,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Не могу да направим Гстример елемент „%1“ - проверите да ли су инсталирани сви потребни Гстример прикључци" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Не могу да направим листу нумера" @@ -1536,7 +1486,7 @@ msgstr "Не могу да отворим излазни фајл %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Менаџер омота" @@ -1622,11 +1572,11 @@ msgid "" "recover your database" msgstr "Откривено оштећење базе података. Погледајте https://github.com/clementine-player/Clementine/wiki/Database-Corruption за упутства како да повратите вашу базу података" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "направљен" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "измењен" @@ -1654,7 +1604,7 @@ msgstr "Смањи јачину звука" msgid "Default background image" msgstr "Подразумевана" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Подразумевани уређај на %1" @@ -1677,7 +1627,7 @@ msgid "Delete downloaded data" msgstr "Обриши преузете податке" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Брисање фајлова" @@ -1685,7 +1635,7 @@ msgstr "Брисање фајлова" msgid "Delete from device..." msgstr "Обриши са уређаја..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Обриши са диска..." @@ -1710,11 +1660,15 @@ msgstr "обриши оригиналне фајлове" msgid "Deleting files" msgstr "Бришем фајлове" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Избаци изабране нумере из реда" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Избаци нумеру из реда" @@ -1743,11 +1697,11 @@ msgstr "Име уређаја" msgid "Device properties..." msgstr "Својства уређаја..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Уређаји" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Дијалог" @@ -1794,7 +1748,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Онемогућен" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1815,7 +1769,7 @@ msgstr "Опције приказа" msgid "Display the on-screen-display" msgstr "Прикажи екрански преглед" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Поново скенирај библиотеку" @@ -1986,12 +1940,12 @@ msgstr "Динамички насумични микс" msgid "Edit smart playlist..." msgstr "Уреди паметну листу..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Уреди ознаку „%1“..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Уреди ознаку..." @@ -2004,7 +1958,7 @@ msgid "Edit track information" msgstr "Уређивање података нумере" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Уреди податке нумере..." @@ -2024,10 +1978,6 @@ msgstr "Е-адреса" msgid "Enable Wii Remote support" msgstr "Омогући подршку за Wii даљински" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Аутоматско кеширање" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Укључи еквилајзер" @@ -2112,7 +2062,7 @@ msgstr "Унесите овај ИП у апликацију да бисте ј msgid "Entire collection" msgstr "читаву колекцију" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Еквилајзер" @@ -2125,8 +2075,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Исто као и --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Грешка" @@ -2146,6 +2096,11 @@ msgstr "Грешка копирања песама" msgid "Error deleting songs" msgstr "Грешка брисања песама" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Грешка преузимања Спотифај прикључка" @@ -2266,7 +2221,7 @@ msgstr "Утапање" msgid "Fading duration" msgstr "Трајање претапања" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Неуспех читања ЦД уређаја" @@ -2345,27 +2300,23 @@ msgstr "наставак фајла" msgid "File formats" msgstr "Формати фајлова" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "име фајла" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "име фајла (без путање)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Шаблон имена фајла:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Путање фајлова" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "величина фајла" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2375,7 +2326,7 @@ msgstr "тип фајла" msgid "Filename" msgstr "име фајла" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Фајлови" @@ -2387,10 +2338,6 @@ msgstr "Фајлови за прекодирање" msgid "Find songs in your library that match the criteria you specify." msgstr "Пронађите песме у библиотеци које одговарају одређеном критеријуму." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Пронађи овог извођача" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Идентификујем песму" @@ -2459,6 +2406,7 @@ msgid "Form" msgstr "Образац" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Формат" @@ -2495,7 +2443,7 @@ msgstr "пуни сопран" msgid "Ge&nre" msgstr "&Жанр" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Опште" @@ -2503,7 +2451,7 @@ msgstr "Опште" msgid "General settings" msgstr "Опште поставке" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2536,11 +2484,11 @@ msgstr "Дајте јој име:" msgid "Go" msgstr "Иди" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Иди на следећи језичак листе" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Иди на претходни језичак листе" @@ -2594,7 +2542,7 @@ msgstr "жанр/албум" msgid "Group by Genre/Artist/Album" msgstr "жанр/извођач/албум" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2784,11 +2732,11 @@ msgstr "инсталиран" msgid "Integrity check" msgstr "Провера интегритета" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Интернет" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Интернет сервиси" @@ -2805,6 +2753,10 @@ msgstr "Уводне нумере" msgid "Invalid API key" msgstr "Неважећи АПИ кључ" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Неисправан формат" @@ -2861,7 +2813,7 @@ msgstr "Џамендова база података" msgid "Jump to previous song right away" msgstr "пушта претходну песму одмах" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Скочи на текућу нумеру" @@ -2885,7 +2837,7 @@ msgstr "Настави рад у позадини кад се прозор за msgid "Keep the original files" msgstr "задржи оригиналне фајлове" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Мачићи" @@ -2926,7 +2878,7 @@ msgstr "Широка трака" msgid "Last played" msgstr "Последњи пут пуштано" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "последњи пут пуштена" @@ -2967,12 +2919,12 @@ msgstr "Најмање омиљене нумере" msgid "Left" msgstr "Лево" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "дужина" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Библиотека" @@ -2981,7 +2933,7 @@ msgstr "Библиотека" msgid "Library advanced grouping" msgstr "Напредно груписање библиотеке" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Обавештење о поновном скенирању библиотеке" @@ -3021,7 +2973,7 @@ msgstr "Учитај омот са диска..." msgid "Load playlist" msgstr "Учитавање листе нумера" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Учитај листу нумера..." @@ -3057,8 +3009,7 @@ msgstr "Учитавам податке о нумерама" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Учитавам..." @@ -3067,7 +3018,6 @@ msgstr "Учитавам..." msgid "Loads files/URLs, replacing current playlist" msgstr "Учитава датотеке/УРЛ-ове, замењујући текућу листу" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3077,8 +3027,7 @@ msgstr "Учитава датотеке/УРЛ-ове, замењујући те #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Пријава" @@ -3086,15 +3035,11 @@ msgstr "Пријава" msgid "Login failed" msgstr "Пријава није успела" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Одјава" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "дугорочно предвиђање (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Волим" @@ -3175,7 +3120,7 @@ msgstr "главни профил (MAIN)" msgid "Make it so!" msgstr "Ентерпрајз!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Ентерпрајз!" @@ -3221,10 +3166,6 @@ msgstr "Упореди сваки тражени појам (AND)" msgid "Match one or more search terms (OR)" msgstr "Упореди један или више тражених појмова (ОR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Највише резултата опште претраге" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Највећи битски проток" @@ -3255,6 +3196,10 @@ msgstr "Најмањи битски проток" msgid "Minimum buffer fill" msgstr "Најмањи испун бафера" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Недостају препоставке за пројектМ" @@ -3275,7 +3220,7 @@ msgstr "Моно репродукција" msgid "Months" msgstr "месеци" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "расположење" @@ -3288,10 +3233,6 @@ msgstr "Стил расположења" msgid "Moodbars" msgstr "Расположења" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Још" - #: library/library.cpp:84 msgid "Most played" msgstr "Најчешће пуштано" @@ -3309,7 +3250,7 @@ msgstr "Тачке монтирања" msgid "Move down" msgstr "Помери доле" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Премести у библиотеку" @@ -3318,8 +3259,7 @@ msgstr "Премести у библиотеку" msgid "Move up" msgstr "Помери горе" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Музика" @@ -3328,22 +3268,10 @@ msgid "Music Library" msgstr "Музичка библиотека" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Утишај" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Моји албуми" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Моја музика" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Моје препоруке" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3389,7 +3317,7 @@ msgstr "неће почети пуштање" msgid "New folder" msgstr "Нова фасцикла" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Нова листа нумера" @@ -3418,7 +3346,7 @@ msgid "Next" msgstr "Следећа" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Следећа нумера" @@ -3456,7 +3384,7 @@ msgstr "без кратких блокова" msgid "None" msgstr "ништа" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Ниједна од изабраних песама није погодна за копирање на уређај" @@ -3505,10 +3433,6 @@ msgstr "Нисте пријављени" msgid "Not mounted - double click to mount" msgstr "Није монтиран — кликните двапут да монтирате" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Ништа није нађено" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Врста обавештења" @@ -3590,7 +3514,7 @@ msgstr "Прозирност" msgid "Open %1 in browser" msgstr "Отвори %1 у прегледачу" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Отвори &аудио ЦД..." @@ -3610,7 +3534,7 @@ msgstr "Отварање фасцикле за увоз музике" msgid "Open device" msgstr "Отвори уређај" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Отвори фајл..." @@ -3664,7 +3588,7 @@ msgstr "Опус" msgid "Organise Files" msgstr "Организовање фајлова" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Организуј фајлове..." @@ -3676,7 +3600,7 @@ msgstr "Организујем фајлове" msgid "Original tags" msgstr "Почетне ознаке" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3744,7 +3668,7 @@ msgstr "журка" msgid "Password" msgstr "Лозинка" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Паузирај" @@ -3757,7 +3681,7 @@ msgstr "Паузирај пуштање" msgid "Paused" msgstr "Паузирано" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3772,14 +3696,14 @@ msgstr "пиксела" msgid "Plain sidebar" msgstr "Обична трака" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Пусти" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "број пуштања" @@ -3810,7 +3734,7 @@ msgstr "Опције плејера" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Листа нумера" @@ -3827,7 +3751,7 @@ msgstr "Опције листе нумера" msgid "Playlist type" msgstr "Тип листе" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Листе нумера" @@ -3868,11 +3792,11 @@ msgstr "Поставка" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Поставке" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Подешавање..." @@ -3932,7 +3856,7 @@ msgid "Previous" msgstr "Претходна" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Претходна нумера" @@ -3983,16 +3907,16 @@ msgstr "Квалитет" msgid "Querying device..." msgstr "Испитујем уређај..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Менаџер редоследа" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Стави у ред изабране нумере" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Стави нумеру у ред" @@ -4004,7 +3928,7 @@ msgstr "радио (једнака јачина за све песме)" msgid "Rain" msgstr "Киша" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Киша" @@ -4041,7 +3965,7 @@ msgstr "Оцени текућу песму са 4 звезде" msgid "Rate the current song 5 stars" msgstr "Оцени текућу песму са 5 звезда" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "оцена" @@ -4108,7 +4032,7 @@ msgstr "Уклони" msgid "Remove action" msgstr "Уклони радњу" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Уклони дупликате са листе" @@ -4116,15 +4040,7 @@ msgstr "Уклони дупликате са листе" msgid "Remove folder" msgstr "Уклони фасциклу" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Уклони из Моје музике" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Уклони из обележивача" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Уклони са листе нумера" @@ -4136,7 +4052,7 @@ msgstr "Уклањање листе нумера" msgid "Remove playlists" msgstr "Уклони листе нумера" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Уклони недоступне нумере са листе нумера" @@ -4148,7 +4064,7 @@ msgstr "Преименовање листе нумера" msgid "Rename playlist..." msgstr "Преименуј листу нумера..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Нумериши овим редом..." @@ -4198,7 +4114,7 @@ msgstr "Попуни поново" msgid "Require authentication code" msgstr "Захтевај аутентификацијски кôд" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Ресетуј" @@ -4239,7 +4155,7 @@ msgstr "чупај" msgid "Rip CD" msgstr "Чупање ЦД-а" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Чупај аудио ЦД" @@ -4269,8 +4185,9 @@ msgstr "Безбедно извади уређај" msgid "Safely remove the device after copying" msgstr "Безбедно извади уређај после копирања" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "узорковање" @@ -4308,7 +4225,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Упис листе нумера" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Сачувај листу нумера..." @@ -4348,7 +4265,7 @@ msgstr "скалабилно узорковање (SSR)" msgid "Scale size" msgstr "Промени величину" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "скор" @@ -4365,12 +4282,12 @@ msgid "Seafile" msgstr "Сифајл" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Тражи" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Претрага" @@ -4513,7 +4430,7 @@ msgstr "Детаљи сервера" msgid "Service offline" msgstr "Сервис ван мреже" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Промени %1 у „%2“..." @@ -4522,7 +4439,7 @@ msgstr "Промени %1 у „%2“..." msgid "Set the volume to percent" msgstr "Постави јачину звука на <вредност> процената" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Подеси вредност за све изабране нумере..." @@ -4589,7 +4506,7 @@ msgstr "Лепи ОСД" msgid "Show above status bar" msgstr "Прикажи изнад траке стања" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Прикажи све песме" @@ -4609,16 +4526,12 @@ msgstr "Прикажи раздвајаче" msgid "Show fullsize..." msgstr "Пуна величина..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Прикажи групе у резултату опште претраге" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Прикажи у менаџеру фајлова" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Прикажи у библиотеци..." @@ -4630,27 +4543,23 @@ msgstr "Приказуј у разним извођачима" msgid "Show moodbar" msgstr "Прикажи расположење" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Прикажи само дупликате" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Прикажи само неозначене" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Приказ или скривање бочне траке" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Прикажи текућу песму на мојој страници" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "прикажи предлоге претраге" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Прикажи бочну траку" @@ -4686,7 +4595,7 @@ msgstr "Насумично албуми" msgid "Shuffle all" msgstr "Насумично све" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Претумбај листу" @@ -4722,7 +4631,7 @@ msgstr "ска" msgid "Skip backwards in playlist" msgstr "Прескочи уназад у листи нумера" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "број прескакања" @@ -4730,11 +4639,11 @@ msgstr "број прескакања" msgid "Skip forwards in playlist" msgstr "Прескочи унапред у листи нумера" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Прескочи изабране нумере" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Прескочи нумеру" @@ -4766,7 +4675,7 @@ msgstr "лагани рок" msgid "Song Information" msgstr "Подаци о песми" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Подаци о песми" @@ -4802,7 +4711,7 @@ msgstr "Ређање" msgid "SoundCloud" msgstr "Саундклауд" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "извор" @@ -4877,7 +4786,7 @@ msgid "Starting..." msgstr "Почињем..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Заустави" @@ -4893,7 +4802,7 @@ msgstr "Заустави после сваке нумере" msgid "Stop after every track" msgstr "Заустављање после сваке нумере" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Заустави после ове нумере" @@ -4922,6 +4831,10 @@ msgstr "Заустављено" msgid "Stream" msgstr "Ток" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5031,6 +4944,10 @@ msgstr "Омот албума текуће песме" msgid "The directory %1 is not valid" msgstr "Директоријум „%1“ није исправан" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Друга вредност мора бити већа од прве!" @@ -5049,7 +4966,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Пробни период за Субсоников сервер је истекао. Донирајте да бисте добили лиценцни кључ. Посетите subsonic.org за више детаља." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5091,7 +5008,7 @@ msgid "" "continue?" msgstr "Ови фајлови ће бити обрисани са уређаја, желите ли заиста да наставите?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5175,7 +5092,7 @@ msgstr "Овај тип уређаја није подржан: %1" msgid "Time step" msgstr "Временски корак" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5194,11 +5111,11 @@ msgstr "Лепи ОСД" msgid "Toggle fullscreen" msgstr "Цео екран" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Мењај стање редоследа" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Мењај скробловање" @@ -5238,7 +5155,7 @@ msgstr "Укупно направљених мрежних захтева" msgid "Trac&k" msgstr "&Нумера" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "нумера" @@ -5247,7 +5164,7 @@ msgstr "нумера" msgid "Tracks" msgstr "Нумере" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Прекодирање музике" @@ -5284,6 +5201,10 @@ msgstr "Искључи" msgid "URI" msgstr "УРИ" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Адресе" @@ -5309,9 +5230,9 @@ msgstr "Не могу да преузмем %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Непознато" @@ -5328,11 +5249,11 @@ msgstr "Непозната грешка" msgid "Unset cover" msgstr "Уклони омот" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Уклони прескакање нумера" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Уклони прескакање" @@ -5345,15 +5266,11 @@ msgstr "Уклони претплату" msgid "Upcoming Concerts" msgstr "Предстојећи концерти" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Ажурирај" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Ажурирај све подкасте" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Ажурирај измењене фасцикле библиотеке" @@ -5463,7 +5380,7 @@ msgstr "Нормализација јачине звука" msgid "Used" msgstr "Искоришћено" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Корисничко сучеље" @@ -5489,7 +5406,7 @@ msgid "Variable bit rate" msgstr "Промењив битски проток" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Разни извођачи" @@ -5502,11 +5419,15 @@ msgstr "Издање %1" msgid "View" msgstr "Приказ" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Режим визуелизација" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Визуелизације" @@ -5514,10 +5435,6 @@ msgstr "Визуелизације" msgid "Visualizations Settings" msgstr "Подешавање визуелизација" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Откривање гласовне активности" @@ -5540,10 +5457,6 @@ msgstr "ВАВ" msgid "WMA" msgstr "ВМА" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Зид" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Упозори ме приликом затварања језичка листе нумера" @@ -5646,7 +5559,7 @@ msgid "" "well?" msgstr "Желите ли да померите и остале песме из овог албума у разне извођаче такође?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Желите ли сада да покренете потпуно скенирање?" @@ -5662,7 +5575,7 @@ msgstr "Уписуј метаподатке" msgid "Wrong username or password." msgstr "Погрешно корисничко име или лозинка." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/sr@latin.po b/src/translations/sr@latin.po index b99921b77..9ba94a8e7 100644 --- a/src/translations/sr@latin.po +++ b/src/translations/sr@latin.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-19 22:07+0000\n" -"Last-Translator: Mladen Pejaković \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Serbian (Latin) (http://www.transifex.com/davidsansome/clementine/language/sr@latin/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -66,11 +66,6 @@ msgstr " sekundi" msgid " songs" msgstr " pesama" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 pesama)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -102,7 +97,7 @@ msgstr "%1 na %2" msgid "%1 playlists (%2)" msgstr "%1 listi numera (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 izabrano od" @@ -127,7 +122,7 @@ msgstr "%1 pesama pronađeno" msgid "%1 songs found (showing %2)" msgstr "%1 pesama pronađeno (prikazujem %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 numera" @@ -187,7 +182,7 @@ msgstr "¢riraj" msgid "&Custom" msgstr "&Posebna" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Dodaci" @@ -195,7 +190,7 @@ msgstr "&Dodaci" msgid "&Grouping" msgstr "&Grupisanje" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Pomoć" @@ -220,7 +215,7 @@ msgstr "&Zaključaj ocenu" msgid "&Lyrics" msgstr "&Stihovi" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Muzika" @@ -228,15 +223,15 @@ msgstr "&Muzika" msgid "&None" msgstr "&Nijedna" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Lista numera" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Napusti" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Režim ponavljanja" @@ -244,7 +239,7 @@ msgstr "&Režim ponavljanja" msgid "&Right" msgstr "&desno" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Nasumični režim" @@ -252,7 +247,7 @@ msgstr "&Nasumični režim" msgid "&Stretch columns to fit window" msgstr "&Uklopi kolone u prozor" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Alatke" @@ -288,7 +283,7 @@ msgstr "0px" msgid "1 day" msgstr "1 dan" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 numera" @@ -432,11 +427,11 @@ msgstr "Prekini" msgid "About %1" msgstr "O %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "O Klementini..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Više o Kutu..." @@ -446,7 +441,7 @@ msgid "Absolute" msgstr "Apsolutne" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Detalji o nalogu" @@ -500,19 +495,19 @@ msgstr "Dodaj drugi tok..." msgid "Add directory..." msgstr "Dodaj fasciklu..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Dodavanje fajla" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Dodaj fajl u prekoder" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Dodaj fajlo(ove) u prekoder" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Dodaj fajl..." @@ -520,12 +515,12 @@ msgstr "Dodaj fajl..." msgid "Add files to transcode" msgstr "Dodavanje fajlova za prekodiranje" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Dodavanje fascikle" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Dodaj fasciklu..." @@ -537,7 +532,7 @@ msgstr "Dodaj novu fasciklu..." msgid "Add podcast" msgstr "Dodavanje podkasta" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Dodaj podkast..." @@ -605,10 +600,6 @@ msgstr "Umetni broj preskoka pesme" msgid "Add song title tag" msgstr "Umetni naslov pesme" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Dodaj pesmu u keš" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Umetni numeru pesme" @@ -617,18 +608,10 @@ msgstr "Umetni numeru pesme" msgid "Add song year tag" msgstr "Umetni godinu pesme" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Dodaj pesmu u „Moju muziku“ kad kliknem na dugme „Volim“" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Dodaj tok..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Dodaj u Moju muziku" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Dodaj u Spotifaj liste numera" @@ -637,14 +620,10 @@ msgstr "Dodaj u Spotifaj liste numera" msgid "Add to Spotify starred" msgstr "Dodaj na Spotifaj ocenjeno" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Dodaj u drugu listu" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Dodaj u obeleživače" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Dodaj u listu numera" @@ -654,10 +633,6 @@ msgstr "Dodaj u listu numera" msgid "Add to the queue" msgstr "stavi u red" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Dodaj korisnika/grupu u obeleživače" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Dodaj wiimotedev radnju" @@ -695,7 +670,7 @@ msgstr "nakon " msgid "After copying..." msgstr "Nakon kopiranja:" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -708,7 +683,7 @@ msgstr "album" msgid "Album (ideal loudness for all tracks)" msgstr "album (idealna jačina za sve pesme)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -723,10 +698,6 @@ msgstr "Omot albuma" msgid "Album info on jamendo.com..." msgstr "Podaci albuma sa Džamenda..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albumi" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Albumi sa omotima" @@ -739,11 +710,11 @@ msgstr "Albumi bez omota" msgid "All" msgstr "Sve" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Svi fajlovi (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Slava Hipnožapcu!" @@ -868,7 +839,7 @@ msgid "" "the songs of your library?" msgstr "Želite li zaista da upišete statistiku pesme u fajl pesme za sve pesme iz vaše biblioteke?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -877,7 +848,7 @@ msgstr "Želite li zaista da upišete statistiku pesme u fajl pesme za sve pesme msgid "Artist" msgstr "izvođač" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Podaci o izvođaču" @@ -948,7 +919,7 @@ msgstr "Prosečna veličina slike" msgid "BBC Podcasts" msgstr "BBC-ijevi podkasti" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "tempo" @@ -1005,7 +976,8 @@ msgstr "najbolji" msgid "Biography" msgstr "Biografija" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "bitski protok" @@ -1058,7 +1030,7 @@ msgstr "Pregledaj..." msgid "Buffer duration" msgstr "Veličina bafera" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Baferujem" @@ -1082,19 +1054,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Podrška za CUE list" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Putanja keša:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Keširanje" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Keširam %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Odustani" @@ -1103,12 +1062,6 @@ msgstr "Odustani" msgid "Cancel download" msgstr "Prekini preuzimanje" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Potreban je kepča kôd.\nDa biste popravili problem pokušajte da se prijavite na Vk.com u vašem pregledaču." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Promeni sliku omota" @@ -1147,6 +1100,10 @@ msgid "" "songs" msgstr "Izmena će biti aktivna za nastupajuće pesme" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Traži nove epizode" @@ -1155,19 +1112,15 @@ msgstr "Traži nove epizode" msgid "Check for updates" msgstr "Potraži nadogradnje" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Potraži nadogradnje..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Izbor fascikle keša za Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Izaberite ime za vašu pametnu listu" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Izaberi automatski" @@ -1213,13 +1166,13 @@ msgstr "Čišćenje" msgid "Clear" msgstr "Očisti" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Očisti listu numera" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Klementina" @@ -1352,24 +1305,20 @@ msgstr "Boje" msgid "Comma separated list of class:level, level is 0-3" msgstr "Zarez razdvaja listu od klasa: nivo, nivo je 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "komentar" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Društveni radio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Popuni oznake automatski" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Popuni oznake automatski..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1400,15 +1349,11 @@ msgstr "Podesi Spotifaj..." msgid "Configure Subsonic..." msgstr "Podesi Subsonik..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Podesi Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Podesi opštu pretragu..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Podesi biblioteku..." @@ -1442,16 +1387,16 @@ msgid "" "http://localhost:4040/" msgstr "Server je odbio vezu, proverite URL. Primer: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Prekovreme isteklo, proverite URL servera. Primer: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Problem sa povezivanjem ili je vlasnik onemogućio zvuk" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konzola" @@ -1475,20 +1420,16 @@ msgstr "Pretvori bezgubitne audio fajlove pre slanja na daljinski." msgid "Convert lossless files" msgstr "Pretvori bezgubitne fajlove" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopiraj URL deljenja na klipbord" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopiraj na klipbord" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopiraj na uređaj...." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopiraj u biblioteku..." @@ -1510,6 +1451,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Ne mogu da napravim Gstrimer element „%1“ - proverite da li su instalirani svi potrebni Gstrimer priključci" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Ne mogu da napravim listu numera" @@ -1536,7 +1486,7 @@ msgstr "Ne mogu da otvorim izlazni fajl %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Menadžer omota" @@ -1622,11 +1572,11 @@ msgid "" "recover your database" msgstr "Otkriveno oštećenje baze podataka. Pogledajte https://github.com/clementine-player/Clementine/wiki/Database-Corruption za uputstva kako da povratite vašu bazu podataka" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "napravljen" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "izmenjen" @@ -1654,7 +1604,7 @@ msgstr "Smanji jačinu zvuka" msgid "Default background image" msgstr "Podrazumevana" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Podrazumevani uređaj na %1" @@ -1677,7 +1627,7 @@ msgid "Delete downloaded data" msgstr "Obriši preuzete podatke" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Brisanje fajlova" @@ -1685,7 +1635,7 @@ msgstr "Brisanje fajlova" msgid "Delete from device..." msgstr "Obriši sa uređaja..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Obriši sa diska..." @@ -1710,11 +1660,15 @@ msgstr "obriši originalne fajlove" msgid "Deleting files" msgstr "Brišem fajlove" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Izbaci izabrane numere iz reda" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Izbaci numeru iz reda" @@ -1743,11 +1697,11 @@ msgstr "Ime uređaja" msgid "Device properties..." msgstr "Svojstva uređaja..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Uređaji" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dijalog" @@ -1794,7 +1748,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Onemogućen" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1815,7 +1769,7 @@ msgstr "Opcije prikaza" msgid "Display the on-screen-display" msgstr "Prikaži ekranski pregled" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Ponovo skeniraj biblioteku" @@ -1986,12 +1940,12 @@ msgstr "Dinamički nasumični miks" msgid "Edit smart playlist..." msgstr "Uredi pametnu listu..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Uredi oznaku „%1“..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Uredi oznaku..." @@ -2004,7 +1958,7 @@ msgid "Edit track information" msgstr "Uređivanje podataka numere" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Uredi podatke numere..." @@ -2024,10 +1978,6 @@ msgstr "E-adresa" msgid "Enable Wii Remote support" msgstr "Omogući podršku za Wii daljinski" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Automatsko keširanje" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Uključi ekvilajzer" @@ -2112,7 +2062,7 @@ msgstr "Unesite ovaj IP u aplikaciju da biste je povezali sa Klementinom." msgid "Entire collection" msgstr "čitavu kolekciju" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekvilajzer" @@ -2125,8 +2075,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Isto kao i --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Greška" @@ -2146,6 +2096,11 @@ msgstr "Greška kopiranja pesama" msgid "Error deleting songs" msgstr "Greška brisanja pesama" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Greška preuzimanja Spotifaj priključka" @@ -2266,7 +2221,7 @@ msgstr "Utapanje" msgid "Fading duration" msgstr "Trajanje pretapanja" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Neuspeh čitanja CD uređaja" @@ -2345,27 +2300,23 @@ msgstr "nastavak fajla" msgid "File formats" msgstr "Formati fajlova" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "ime fajla" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "ime fajla (bez putanje)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Šablon imena fajla:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Putanje fajlova" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "veličina fajla" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2375,7 +2326,7 @@ msgstr "tip fajla" msgid "Filename" msgstr "ime fajla" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Fajlovi" @@ -2387,10 +2338,6 @@ msgstr "Fajlovi za prekodiranje" msgid "Find songs in your library that match the criteria you specify." msgstr "Pronađite pesme u biblioteci koje odgovaraju određenom kriterijumu." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Pronađi ovog izvođača" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Identifikujem pesmu" @@ -2459,6 +2406,7 @@ msgid "Form" msgstr "Obrazac" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2495,7 +2443,7 @@ msgstr "puni sopran" msgid "Ge&nre" msgstr "&Žanr" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Opšte" @@ -2503,7 +2451,7 @@ msgstr "Opšte" msgid "General settings" msgstr "Opšte postavke" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2536,11 +2484,11 @@ msgstr "Dajte joj ime:" msgid "Go" msgstr "Idi" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Idi na sledeći jezičak liste" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Idi na prethodni jezičak liste" @@ -2594,7 +2542,7 @@ msgstr "žanr/album" msgid "Group by Genre/Artist/Album" msgstr "žanr/izvođač/album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2784,11 +2732,11 @@ msgstr "instaliran" msgid "Integrity check" msgstr "Provera integriteta" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internet servisi" @@ -2805,6 +2753,10 @@ msgstr "Uvodne numere" msgid "Invalid API key" msgstr "Nevažeći API ključ" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Neispravan format" @@ -2861,7 +2813,7 @@ msgstr "Džamendova baza podataka" msgid "Jump to previous song right away" msgstr "pušta prethodnu pesmu odmah" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Skoči na tekuću numeru" @@ -2885,7 +2837,7 @@ msgstr "Nastavi rad u pozadini kad se prozor zatvori" msgid "Keep the original files" msgstr "zadrži originalne fajlove" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Mačići" @@ -2926,7 +2878,7 @@ msgstr "Široka traka" msgid "Last played" msgstr "Poslednji put puštano" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "poslednji put puštena" @@ -2967,12 +2919,12 @@ msgstr "Najmanje omiljene numere" msgid "Left" msgstr "Levo" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "dužina" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Biblioteka" @@ -2981,7 +2933,7 @@ msgstr "Biblioteka" msgid "Library advanced grouping" msgstr "Napredno grupisanje biblioteke" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Obaveštenje o ponovnom skeniranju biblioteke" @@ -3021,7 +2973,7 @@ msgstr "Učitaj omot sa diska..." msgid "Load playlist" msgstr "Učitavanje liste numera" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Učitaj listu numera..." @@ -3057,8 +3009,7 @@ msgstr "Učitavam podatke o numerama" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Učitavam..." @@ -3067,7 +3018,6 @@ msgstr "Učitavam..." msgid "Loads files/URLs, replacing current playlist" msgstr "Učitava datoteke/URL-ove, zamenjujući tekuću listu" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3077,8 +3027,7 @@ msgstr "Učitava datoteke/URL-ove, zamenjujući tekuću listu" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Prijava" @@ -3086,15 +3035,11 @@ msgstr "Prijava" msgid "Login failed" msgstr "Prijava nije uspela" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Odjava" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "dugoročno predviđanje (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Volim" @@ -3175,7 +3120,7 @@ msgstr "glavni profil (MAIN)" msgid "Make it so!" msgstr "Enterprajz!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Enterprajz!" @@ -3221,10 +3166,6 @@ msgstr "Uporedi svaki traženi pojam (AND)" msgid "Match one or more search terms (OR)" msgstr "Uporedi jedan ili više traženih pojmova (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Najviše rezultata opšte pretrage" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Najveći bitski protok" @@ -3255,6 +3196,10 @@ msgstr "Najmanji bitski protok" msgid "Minimum buffer fill" msgstr "Najmanji ispun bafera" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Nedostaju prepostavke za projektM" @@ -3275,7 +3220,7 @@ msgstr "Mono reprodukcija" msgid "Months" msgstr "meseci" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "raspoloženje" @@ -3288,10 +3233,6 @@ msgstr "Stil raspoloženja" msgid "Moodbars" msgstr "Raspoloženja" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Još" - #: library/library.cpp:84 msgid "Most played" msgstr "Najčešće puštano" @@ -3309,7 +3250,7 @@ msgstr "Tačke montiranja" msgid "Move down" msgstr "Pomeri dole" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Premesti u biblioteku" @@ -3318,8 +3259,7 @@ msgstr "Premesti u biblioteku" msgid "Move up" msgstr "Pomeri gore" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Muzika" @@ -3328,22 +3268,10 @@ msgid "Music Library" msgstr "Muzička biblioteka" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Utišaj" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Moji albumi" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Moja muzika" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Moje preporuke" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3389,7 +3317,7 @@ msgstr "neće početi puštanje" msgid "New folder" msgstr "Nova fascikla" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Nova lista numera" @@ -3418,7 +3346,7 @@ msgid "Next" msgstr "Sledeća" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Sledeća numera" @@ -3456,7 +3384,7 @@ msgstr "bez kratkih blokova" msgid "None" msgstr "ništa" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Nijedna od izabranih pesama nije pogodna za kopiranje na uređaj" @@ -3505,10 +3433,6 @@ msgstr "Niste prijavljeni" msgid "Not mounted - double click to mount" msgstr "Nije montiran — kliknite dvaput da montirate" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Ništa nije nađeno" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Vrsta obaveštenja" @@ -3590,7 +3514,7 @@ msgstr "Prozirnost" msgid "Open %1 in browser" msgstr "Otvori %1 u pregledaču" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Otvori &audio CD..." @@ -3610,7 +3534,7 @@ msgstr "Otvaranje fascikle za uvoz muzike" msgid "Open device" msgstr "Otvori uređaj" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Otvori fajl..." @@ -3664,7 +3588,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organizovanje fajlova" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organizuj fajlove..." @@ -3676,7 +3600,7 @@ msgstr "Organizujem fajlove" msgid "Original tags" msgstr "Početne oznake" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3744,7 +3668,7 @@ msgstr "žurka" msgid "Password" msgstr "Lozinka" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Pauziraj" @@ -3757,7 +3681,7 @@ msgstr "Pauziraj puštanje" msgid "Paused" msgstr "Pauzirano" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3772,14 +3696,14 @@ msgstr "piksela" msgid "Plain sidebar" msgstr "Obična traka" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Pusti" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "broj puštanja" @@ -3810,7 +3734,7 @@ msgstr "Opcije plejera" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Lista numera" @@ -3827,7 +3751,7 @@ msgstr "Opcije liste numera" msgid "Playlist type" msgstr "Tip liste" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Liste numera" @@ -3868,11 +3792,11 @@ msgstr "Postavka" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Postavke" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Podešavanje..." @@ -3932,7 +3856,7 @@ msgid "Previous" msgstr "Prethodna" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Prethodna numera" @@ -3983,16 +3907,16 @@ msgstr "Kvalitet" msgid "Querying device..." msgstr "Ispitujem uređaj..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Menadžer redosleda" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Stavi u red izabrane numere" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Stavi numeru u red" @@ -4004,7 +3928,7 @@ msgstr "radio (jednaka jačina za sve pesme)" msgid "Rain" msgstr "Kiša" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Kiša" @@ -4041,7 +3965,7 @@ msgstr "Oceni tekuću pesmu sa 4 zvezde" msgid "Rate the current song 5 stars" msgstr "Oceni tekuću pesmu sa 5 zvezda" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "ocena" @@ -4108,7 +4032,7 @@ msgstr "Ukloni" msgid "Remove action" msgstr "Ukloni radnju" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Ukloni duplikate sa liste" @@ -4116,15 +4040,7 @@ msgstr "Ukloni duplikate sa liste" msgid "Remove folder" msgstr "Ukloni fasciklu" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Ukloni iz Moje muzike" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Ukloni iz obeleživača" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Ukloni sa liste numera" @@ -4136,7 +4052,7 @@ msgstr "Uklanjanje liste numera" msgid "Remove playlists" msgstr "Ukloni liste numera" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Ukloni nedostupne numere sa liste numera" @@ -4148,7 +4064,7 @@ msgstr "Preimenovanje liste numera" msgid "Rename playlist..." msgstr "Preimenuj listu numera..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Numeriši ovim redom..." @@ -4198,7 +4114,7 @@ msgstr "Popuni ponovo" msgid "Require authentication code" msgstr "Zahtevaj autentifikacijski kôd" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Resetuj" @@ -4239,7 +4155,7 @@ msgstr "čupaj" msgid "Rip CD" msgstr "Čupanje CD-a" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Čupaj audio CD" @@ -4269,8 +4185,9 @@ msgstr "Bezbedno izvadi uređaj" msgid "Safely remove the device after copying" msgstr "Bezbedno izvadi uređaj posle kopiranja" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "uzorkovanje" @@ -4308,7 +4225,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Upis liste numera" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Sačuvaj listu numera..." @@ -4348,7 +4265,7 @@ msgstr "skalabilno uzorkovanje (SSR)" msgid "Scale size" msgstr "Promeni veličinu" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "skor" @@ -4365,12 +4282,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Traži" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Pretraga" @@ -4513,7 +4430,7 @@ msgstr "Detalji servera" msgid "Service offline" msgstr "Servis van mreže" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Promeni %1 u „%2“..." @@ -4522,7 +4439,7 @@ msgstr "Promeni %1 u „%2“..." msgid "Set the volume to percent" msgstr "Postavi jačinu zvuka na procenata" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Podesi vrednost za sve izabrane numere..." @@ -4589,7 +4506,7 @@ msgstr "Lepi OSD" msgid "Show above status bar" msgstr "Prikaži iznad trake stanja" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Prikaži sve pesme" @@ -4609,16 +4526,12 @@ msgstr "Prikaži razdvajače" msgid "Show fullsize..." msgstr "Puna veličina..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Prikaži grupe u rezultatu opšte pretrage" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Prikaži u menadžeru fajlova" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Prikaži u biblioteci..." @@ -4630,27 +4543,23 @@ msgstr "Prikazuj u raznim izvođačima" msgid "Show moodbar" msgstr "Prikaži raspoloženje" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Prikaži samo duplikate" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Prikaži samo neoznačene" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Prikaz ili skrivanje bočne trake" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Prikaži tekuću pesmu na mojoj stranici" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "prikaži predloge pretrage" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Prikaži bočnu traku" @@ -4686,7 +4595,7 @@ msgstr "Nasumično albumi" msgid "Shuffle all" msgstr "Nasumično sve" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Pretumbaj listu" @@ -4722,7 +4631,7 @@ msgstr "ska" msgid "Skip backwards in playlist" msgstr "Preskoči unazad u listi numera" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "broj preskakanja" @@ -4730,11 +4639,11 @@ msgstr "broj preskakanja" msgid "Skip forwards in playlist" msgstr "Preskoči unapred u listi numera" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Preskoči izabrane numere" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Preskoči numeru" @@ -4766,7 +4675,7 @@ msgstr "lagani rok" msgid "Song Information" msgstr "Podaci o pesmi" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Podaci o pesmi" @@ -4802,7 +4711,7 @@ msgstr "Ređanje" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "izvor" @@ -4877,7 +4786,7 @@ msgid "Starting..." msgstr "Počinjem..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Zaustavi" @@ -4893,7 +4802,7 @@ msgstr "Zaustavi posle svake numere" msgid "Stop after every track" msgstr "Zaustavljanje posle svake numere" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Zaustavi posle ove numere" @@ -4922,6 +4831,10 @@ msgstr "Zaustavljeno" msgid "Stream" msgstr "Tok" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5031,6 +4944,10 @@ msgstr "Omot albuma tekuće pesme" msgid "The directory %1 is not valid" msgstr "Direktorijum „%1“ nije ispravan" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Druga vrednost mora biti veća od prve!" @@ -5049,7 +4966,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Probni period za Subsonikov server je istekao. Donirajte da biste dobili licencni ključ. Posetite subsonic.org za više detalja." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5091,7 +5008,7 @@ msgid "" "continue?" msgstr "Ovi fajlovi će biti obrisani sa uređaja, želite li zaista da nastavite?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5175,7 +5092,7 @@ msgstr "Ovaj tip uređaja nije podržan: %1" msgid "Time step" msgstr "Vremenski korak" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5194,11 +5111,11 @@ msgstr "Lepi OSD" msgid "Toggle fullscreen" msgstr "Ceo ekran" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Menjaj stanje redosleda" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Menjaj skroblovanje" @@ -5238,7 +5155,7 @@ msgstr "Ukupno napravljenih mrežnih zahteva" msgid "Trac&k" msgstr "&Numera" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "numera" @@ -5247,7 +5164,7 @@ msgstr "numera" msgid "Tracks" msgstr "Numere" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Prekodiranje muzike" @@ -5284,6 +5201,10 @@ msgstr "Isključi" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Adrese" @@ -5309,9 +5230,9 @@ msgstr "Ne mogu da preuzmem %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Nepoznato" @@ -5328,11 +5249,11 @@ msgstr "Nepoznata greška" msgid "Unset cover" msgstr "Ukloni omot" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Ukloni preskakanje numera" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Ukloni preskakanje" @@ -5345,15 +5266,11 @@ msgstr "Ukloni pretplatu" msgid "Upcoming Concerts" msgstr "Predstojeći koncerti" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Ažuriraj" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Ažuriraj sve podkaste" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Ažuriraj izmenjene fascikle biblioteke" @@ -5463,7 +5380,7 @@ msgstr "Normalizacija jačine zvuka" msgid "Used" msgstr "Iskorišćeno" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Korisničko sučelje" @@ -5489,7 +5406,7 @@ msgid "Variable bit rate" msgstr "Promenjiv bitski protok" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Razni izvođači" @@ -5502,11 +5419,15 @@ msgstr "Izdanje %1" msgid "View" msgstr "Prikaz" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Režim vizuelizacija" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Vizuelizacije" @@ -5514,10 +5435,6 @@ msgstr "Vizuelizacije" msgid "Visualizations Settings" msgstr "Podešavanje vizuelizacija" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Otkrivanje glasovne aktivnosti" @@ -5540,10 +5457,6 @@ msgstr "VAV" msgid "WMA" msgstr "VMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Zid" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Upozori me prilikom zatvaranja jezička liste numera" @@ -5646,7 +5559,7 @@ msgid "" "well?" msgstr "Želite li da pomerite i ostale pesme iz ovog albuma u razne izvođače takođe?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Želite li sada da pokrenete potpuno skeniranje?" @@ -5662,7 +5575,7 @@ msgstr "Upisuj metapodatke" msgid "Wrong username or password." msgstr "Pogrešno korisničko ime ili lozinka." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/sv.po b/src/translations/sv.po index ddcc92306..8d7d6dd1b 100644 --- a/src/translations/sv.po +++ b/src/translations/sv.po @@ -29,8 +29,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-10-07 12:09+0000\n" -"Last-Translator: Staffan Vilcans\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Swedish (http://www.transifex.com/davidsansome/clementine/language/sv/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -85,11 +85,6 @@ msgstr " sekunder" msgid " songs" msgstr " låtar" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 låtar)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -121,7 +116,7 @@ msgstr "%1 på %2" msgid "%1 playlists (%2)" msgstr "%1 spellistor (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 vald(a) av" @@ -146,7 +141,7 @@ msgstr "%1 låtar hittades" msgid "%1 songs found (showing %2)" msgstr "%1 låtar hittades (visar %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 spår" @@ -206,7 +201,7 @@ msgstr "&Centrera" msgid "&Custom" msgstr "A&npassad" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extrafunktioner" @@ -214,7 +209,7 @@ msgstr "&Extrafunktioner" msgid "&Grouping" msgstr "&Gruppering" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Hjälp" @@ -239,7 +234,7 @@ msgstr "&Lås betyg" msgid "&Lyrics" msgstr "&Sångtexter" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musik" @@ -247,15 +242,15 @@ msgstr "&Musik" msgid "&None" msgstr "I&nga" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Spellista" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "A&vsluta" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Upprepningsläge" @@ -263,7 +258,7 @@ msgstr "&Upprepningsläge" msgid "&Right" msgstr "&Höger" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Blandningsläge" @@ -271,7 +266,7 @@ msgstr "&Blandningsläge" msgid "&Stretch columns to fit window" msgstr "&Justera kolumner så de passar fönstret" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Verktyg" @@ -307,7 +302,7 @@ msgstr "0px" msgid "1 day" msgstr "1 dag" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 spår" @@ -451,11 +446,11 @@ msgstr "Avbryt" msgid "About %1" msgstr "Om %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Om Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Om Qt..." @@ -465,7 +460,7 @@ msgid "Absolute" msgstr "Absolut" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Kontoinformation" @@ -519,19 +514,19 @@ msgstr "Lägg till en annan ström..." msgid "Add directory..." msgstr "Lägg till katalog..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Lägg till fil" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Lägg till fil till transkodaren" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Lägg till fil(er) till transkodaren" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Lägg till fil..." @@ -539,12 +534,12 @@ msgstr "Lägg till fil..." msgid "Add files to transcode" msgstr "Lägg till filer för omkodning" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Lägg till mapp" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Lägg till mapp..." @@ -556,7 +551,7 @@ msgstr "Lägg till ny mapp..." msgid "Add podcast" msgstr "Lägg till podsändning" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Lägg till podsändning..." @@ -624,10 +619,6 @@ msgstr "Lägg till antal överhoppningar" msgid "Add song title tag" msgstr "Lägg till etikett för låtens titel" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Lägg till en låt till cache" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Lägg till etikett för spårnummer" @@ -636,18 +627,10 @@ msgstr "Lägg till etikett för spårnummer" msgid "Add song year tag" msgstr "Lägg till etikett för år" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Lägg till låtar i \"Min musik\" när \"Älskar\" knappen klickas" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Lägg till ström..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Lägg till i Min Musik" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Lägg till i Spotifys spellistor" @@ -656,14 +639,10 @@ msgstr "Lägg till i Spotifys spellistor" msgid "Add to Spotify starred" msgstr "Lägg till under Spotifys stjärnmärkta" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Lägg till i en annan spellista" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Lägg till i bokmärken" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Lägg till i spellistan" @@ -673,10 +652,6 @@ msgstr "Lägg till i spellistan" msgid "Add to the queue" msgstr "Lägg till i spelkön" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Lägg till användare/grupp till bokmärken" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Lägg till Wiimotedev-åtgärd" @@ -714,7 +689,7 @@ msgstr "Efter " msgid "After copying..." msgstr "Efter kopiering..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -727,7 +702,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (lämplig ljudstyrka för alla spår)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -742,10 +717,6 @@ msgstr "Almbumomslag" msgid "Album info on jamendo.com..." msgstr "Album information från jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Album" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Album med omslag" @@ -758,11 +729,11 @@ msgstr "Album utan omslag" msgid "All" msgstr "Alla" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Alla filer (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Ärad vare Hypnotoad!" @@ -887,7 +858,7 @@ msgid "" "the songs of your library?" msgstr "Är du säker på att du vill skriva låtstatistik till låtfilerna på alla låtar i ditt musikbibliotek?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -896,7 +867,7 @@ msgstr "Är du säker på att du vill skriva låtstatistik till låtfilerna på msgid "Artist" msgstr "Artist" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Artistinfo" @@ -967,7 +938,7 @@ msgstr "Genomsnittlig bildstorlek" msgid "BBC Podcasts" msgstr "BBC podsändningar" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1024,7 +995,8 @@ msgstr "Bästa" msgid "Biography" msgstr "Biografi" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bithastighet" @@ -1077,7 +1049,7 @@ msgstr "Bläddra..." msgid "Buffer duration" msgstr "Längd på buffer" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Buffrar" @@ -1101,19 +1073,6 @@ msgstr "CD-ljud" msgid "CUE sheet support" msgstr "Stöd för CUE-filer" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Cache sökväg:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Cachar" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Cachar %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Avbryt" @@ -1122,12 +1081,6 @@ msgstr "Avbryt" msgid "Cancel download" msgstr "Avbryt nedladdning" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Captcha krävs.\nFörsök logga in på Vk.com med din webbläsare för att fixa det här problemet." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Ändra omslag" @@ -1166,6 +1119,10 @@ msgid "" "songs" msgstr "Byte från/till Monoljud börjar gälla från nästa låt" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Kolla efter nya avsnitt" @@ -1174,19 +1131,15 @@ msgstr "Kolla efter nya avsnitt" msgid "Check for updates" msgstr "Sök efter uppdateringar" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Leta efter uppdateringar..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Välj Vk.com cache-katalog" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Välj ett namn för din smara spellista" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Välj automatiskt" @@ -1232,13 +1185,13 @@ msgstr "Rensar upp" msgid "Clear" msgstr "Rensa" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Rensa spellistan" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1371,24 +1324,20 @@ msgstr "Färger" msgid "Comma separated list of class:level, level is 0-3" msgstr "Lista, separerad med komma, över class:level; level är 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Kommentar" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Samhällsradio" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Fyll i etiketter automatiskt" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Fyll i etiketter automatiskt..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1419,15 +1368,11 @@ msgstr "Anpassa Spotify..." msgid "Configure Subsonic..." msgstr "Konfigurera Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Konfigurera VK.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Ställ in Global sökning..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Konfigurera biblioteket..." @@ -1461,16 +1406,16 @@ msgid "" "http://localhost:4040/" msgstr "Uppkoppling vägrad av servern, Kontrollera serverns URL. Exempel:http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Uppkopplingen har avbrutits, kontrollera serverns URL. Exempel: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Anslutningsproblem eller ljudet är inaktiverat av användaren" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsoll" @@ -1494,20 +1439,16 @@ msgstr "Konvertera förlustfria ljudfiler innan dom sänds till fjärrkontrollen msgid "Convert lossless files" msgstr "Konvertera förlustfria filer" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Kopiera delad url till urklipp" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Kopiera till klippbordet" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Kopiera till enhet..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kopiera till biblioteket..." @@ -1529,6 +1470,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Kunde inte skapa GStreamer-elementet \"%1\" - kontrollera att du har alla GStreamer-insticken som krävs installerade" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Kunde inte skapa spellista" @@ -1555,7 +1505,7 @@ msgstr "Kunde inte öppna utdatafilen %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Omslagshanterare" @@ -1641,11 +1591,11 @@ msgid "" "recover your database" msgstr "Databas-korruption upptäckt. Läs https://github.com/clementine-player/Clementine/wiki/Database-Corruption för instruktioner om hur du återställer din databas" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Datum skapad" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Datum ändrad" @@ -1673,7 +1623,7 @@ msgstr "Sänk volymen" msgid "Default background image" msgstr "Standardbakgrund" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Standardenhet på %1" @@ -1696,7 +1646,7 @@ msgid "Delete downloaded data" msgstr "Ta bort nedladdad data" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Ta bort filer" @@ -1704,7 +1654,7 @@ msgstr "Ta bort filer" msgid "Delete from device..." msgstr "Ta bort från enhet..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Ta bort från disk..." @@ -1729,11 +1679,15 @@ msgstr "Ta bort originalfilerna" msgid "Deleting files" msgstr "Tar bort filer" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Avköa valda spår" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Avköa spår" @@ -1762,11 +1716,11 @@ msgstr "Enhetsnamn" msgid "Device properties..." msgstr "Enhetsinställningar..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Enheter" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Dialog" @@ -1813,7 +1767,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Inaktiverad" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1834,7 +1788,7 @@ msgstr "Visningsalternativ" msgid "Display the on-screen-display" msgstr "Visa on-screen-display" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Gör en fullständig omsökning av biblioteket" @@ -2005,12 +1959,12 @@ msgstr "Dynamisk slumpmässig blandning" msgid "Edit smart playlist..." msgstr "Redigera smart spellista..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Redigera etikett \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Redigera tagg..." @@ -2023,7 +1977,7 @@ msgid "Edit track information" msgstr "Redigera spårinformation" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Redigera spårinformation..." @@ -2043,10 +1997,6 @@ msgstr "Epost" msgid "Enable Wii Remote support" msgstr "Aktivera stöd för Wii-kontroll" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Aktivera automatisk caching" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Aktivera equalizer" @@ -2131,7 +2081,7 @@ msgstr "Ange detta IP-nummer i Appen för att ansluta till Clementine." msgid "Entire collection" msgstr "Hela samlingen" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Equalizer" @@ -2144,8 +2094,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Motsvarar --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Fel" @@ -2165,6 +2115,11 @@ msgstr "Fel vid kopiering av låtar" msgid "Error deleting songs" msgstr "Fel vid borttagning av låtar" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Fel vid hämtning av Spotify-insticket" @@ -2285,7 +2240,7 @@ msgstr "Toning" msgid "Fading duration" msgstr "Toningslängd" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Fel vid läsning av CD-enhet" @@ -2364,27 +2319,23 @@ msgstr "Filändelse" msgid "File formats" msgstr "Filformat" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Filnamn" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Filnamn (utan sökväg)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Filnamnsmönster:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Filsökvägar" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Filstorlek" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2394,7 +2345,7 @@ msgstr "Filtyp" msgid "Filename" msgstr "Filnamn" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Filer" @@ -2406,10 +2357,6 @@ msgstr "Filer som skall omkodas" msgid "Find songs in your library that match the criteria you specify." msgstr "Hitta låtar i ditt bibliotek som matchar de kriterier du anger." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Hitta denna artisten" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Sätter fingeravtryck på låten" @@ -2478,6 +2425,7 @@ msgid "Form" msgstr "Formulär" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Format" @@ -2514,7 +2462,7 @@ msgstr "Full diskant" msgid "Ge&nre" msgstr "Ge&nre" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Allmänt" @@ -2522,7 +2470,7 @@ msgstr "Allmänt" msgid "General settings" msgstr "Allmänna inställningar" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2555,11 +2503,11 @@ msgstr "Ge den ett namn:" msgid "Go" msgstr "Starta" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Gå till nästa spellisteflik" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Gå till föregående spellisteflik" @@ -2613,7 +2561,7 @@ msgstr "Gruppera efter genre/album" msgid "Group by Genre/Artist/Album" msgstr "Gruppera efter genre/artist/album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2803,11 +2751,11 @@ msgstr "Installerad" msgid "Integrity check" msgstr "Integritetskontroll" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internetoperatörer" @@ -2824,6 +2772,10 @@ msgstr "Låtintroduktion" msgid "Invalid API key" msgstr "Felaktig API-nyckel" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Ogiltigt format" @@ -2880,7 +2832,7 @@ msgstr "Jamendos databas" msgid "Jump to previous song right away" msgstr "Hoppa till föregående låt direkt" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Hoppa till spåret som spelas just nu" @@ -2904,7 +2856,7 @@ msgstr "Fortsätt köra i bakgrunden när fönstret är stängt" msgid "Keep the original files" msgstr "Behåll originalfilerna" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kattungar" @@ -2945,7 +2897,7 @@ msgstr "Stor sidopanel" msgid "Last played" msgstr "Senast spelad" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Senast spelad" @@ -2986,12 +2938,12 @@ msgstr "Minst omtyckta spår" msgid "Left" msgstr "Vänster" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Speltid" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Bibliotek" @@ -3000,7 +2952,7 @@ msgstr "Bibliotek" msgid "Library advanced grouping" msgstr "Avancerad bibliotekgruppering" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Notis om omsökning av biblioteket" @@ -3040,7 +2992,7 @@ msgstr "Läs in omslagsbild från disk..." msgid "Load playlist" msgstr "Läs in spellista" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Läs in spellista..." @@ -3076,8 +3028,7 @@ msgstr "Laddar låtinformation" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Läser in..." @@ -3086,7 +3037,6 @@ msgstr "Läser in..." msgid "Loads files/URLs, replacing current playlist" msgstr "Läser in filer/webbadresser, ersätter aktuell spellista" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3096,8 +3046,7 @@ msgstr "Läser in filer/webbadresser, ersätter aktuell spellista" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Inloggning" @@ -3105,15 +3054,11 @@ msgstr "Inloggning" msgid "Login failed" msgstr "Misslyckad inloggning" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Logga ut" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Långsiktig förutsägelseprofil (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Älska" @@ -3194,7 +3139,7 @@ msgstr "Huvudprofil (MAIN)" msgid "Make it so!" msgstr "Gör så!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Gör det så!" @@ -3240,10 +3185,6 @@ msgstr "Matcha varje sökterm (OCH)" msgid "Match one or more search terms (OR)" msgstr "Matcha en eller flera söktermer (ELLER)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Max globala sökresultat" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maximal bithastighet" @@ -3274,6 +3215,10 @@ msgstr "Minimal bithastighet" msgid "Minimum buffer fill" msgstr "Minsta buffertfyllnad" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Saknar förinställningar för projectM" @@ -3294,7 +3239,7 @@ msgstr "Mono uppspeling" msgid "Months" msgstr "Månader" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Stämning" @@ -3307,10 +3252,6 @@ msgstr "Stil på stämningsdiagrammet" msgid "Moodbars" msgstr "Stämningsdiagram" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Mer" - #: library/library.cpp:84 msgid "Most played" msgstr "Mest spelade" @@ -3328,7 +3269,7 @@ msgstr "Monteringspunkter" msgid "Move down" msgstr "Flytta nedåt" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Flytta till biblioteket..." @@ -3337,8 +3278,7 @@ msgstr "Flytta till biblioteket..." msgid "Move up" msgstr "Flytta uppåt" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musik" @@ -3347,22 +3287,10 @@ msgid "Music Library" msgstr "Musikbibliotek" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Tyst" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Mina Album" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Min Musik" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Mina rekommendationer" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3408,7 +3336,7 @@ msgstr "Aldrig starta uppspelning" msgid "New folder" msgstr "Ny mapp" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Ny spellista" @@ -3437,7 +3365,7 @@ msgid "Next" msgstr "Nästa" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Nästa spår" @@ -3475,7 +3403,7 @@ msgstr "Inga korta block" msgid "None" msgstr "Inga" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Ingen av de valda låtarna lämpar sig för kopiering till en enhet" @@ -3524,10 +3452,6 @@ msgstr "Inte inloggad" msgid "Not mounted - double click to mount" msgstr "Inte monterad - dubbelklicka för att montera" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Inget hittades" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Notifieringstyp" @@ -3609,7 +3533,7 @@ msgstr "Opacitet" msgid "Open %1 in browser" msgstr "Öppna %1 i webbläsare" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Öppna &ljud-CD..." @@ -3629,7 +3553,7 @@ msgstr "Öppna en katalog att importera musik från" msgid "Open device" msgstr "Öppna enhet" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Öppna fil..." @@ -3683,7 +3607,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Organisera filer" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Organisera filer..." @@ -3695,7 +3619,7 @@ msgstr "Organiserar filer..." msgid "Original tags" msgstr "Ursprungliga etiketter" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3763,7 +3687,7 @@ msgstr "Party" msgid "Password" msgstr "Lösenord" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Gör paus" @@ -3776,7 +3700,7 @@ msgstr "Gör paus i uppspelning" msgid "Paused" msgstr "Pausad" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3791,14 +3715,14 @@ msgstr "Pixel" msgid "Plain sidebar" msgstr "Vanlig sidorad" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Spela upp" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Antal uppspelningar" @@ -3829,7 +3753,7 @@ msgstr "Spelaralternativ" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Spellista" @@ -3846,7 +3770,7 @@ msgstr "Alternativ för spellista" msgid "Playlist type" msgstr "Spellistetyp" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Spellistor" @@ -3887,11 +3811,11 @@ msgstr "Inställning" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Inställningar" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Inställningar..." @@ -3951,7 +3875,7 @@ msgid "Previous" msgstr "Föregående" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Föregående spår" @@ -4002,16 +3926,16 @@ msgstr "Kvalitet" msgid "Querying device..." msgstr "Förfrågar enhet..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Köhanterare" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Kölägg valda spår" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Kölägg spår" @@ -4023,7 +3947,7 @@ msgstr "Radio (likvärdig ljudstyrka för alla spår)" msgid "Rain" msgstr "Regn" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Regn" @@ -4060,7 +3984,7 @@ msgstr "Betygsätt den aktuella låten 4 stjärnor" msgid "Rate the current song 5 stars" msgstr "Betygsätt den aktuella låten 5 stjärnor" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Betyg" @@ -4127,7 +4051,7 @@ msgstr "Ta bort" msgid "Remove action" msgstr "Ta bort åtgärd" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Ta bort dubbletter från spellistan" @@ -4135,15 +4059,7 @@ msgstr "Ta bort dubbletter från spellistan" msgid "Remove folder" msgstr "Ta bort mapp" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Ta bort från Min Musik" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Ta bort från bokmärken" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Ta bort från spellistan" @@ -4155,7 +4071,7 @@ msgstr "Ta bort spellista" msgid "Remove playlists" msgstr "Ta bort spellistor" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Ta bort otillgängliga låtar från spellistan" @@ -4167,7 +4083,7 @@ msgstr "Döp om spellista" msgid "Rename playlist..." msgstr "Döp om spellistan..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Omnumrera spår i denna ordning..." @@ -4217,7 +4133,7 @@ msgstr "Skapa en ny blandning" msgid "Require authentication code" msgstr "Kräv autentiseringskod" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Återställ" @@ -4258,7 +4174,7 @@ msgstr "Kopiera" msgid "Rip CD" msgstr "Kopiera CD-skiva" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Rippa ljud CD" @@ -4288,8 +4204,9 @@ msgstr "Säker borttagning av enhet" msgid "Safely remove the device after copying" msgstr "Säker borttagning av enheten efter kopiering" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Samplingsfrekvens" @@ -4327,7 +4244,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Spara spellista" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Spara spellistan..." @@ -4367,7 +4284,7 @@ msgstr "Skalbar samplingsfrekvensprofil (SSR)" msgid "Scale size" msgstr "Skalnings storlek" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Poäng" @@ -4384,12 +4301,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Sök" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Sök" @@ -4532,7 +4449,7 @@ msgstr "Serverdetaljer" msgid "Service offline" msgstr "Tjänst inte tillgänglig" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Ställ in %1 till \"%2\"..." @@ -4541,7 +4458,7 @@ msgstr "Ställ in %1 till \"%2\"..." msgid "Set the volume to percent" msgstr "Ställ in volymen till procent" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Ställ in värde för alla valda spår..." @@ -4608,7 +4525,7 @@ msgstr "Visa en skön notifiering" msgid "Show above status bar" msgstr "Visa ovanför statusraden" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Visa alla låtar" @@ -4628,16 +4545,12 @@ msgstr "Visa avdelare" msgid "Show fullsize..." msgstr "Visa full storlek..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Visa grupper i globala sökresultat" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Visa i filhanterare..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Visa i biblioteket" @@ -4649,27 +4562,23 @@ msgstr "Visa i diverse artister" msgid "Show moodbar" msgstr "Visa stämningsdiagram" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Visa endast dubbletter" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Visa otaggade endast" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Visa eller dölj sidofältet" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Visa låt som spelas på din sida" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Visa sökförslag" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Visa sidofältet" @@ -4705,7 +4614,7 @@ msgstr "Blanda album" msgid "Shuffle all" msgstr "Blanda allt" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Blanda spellistan" @@ -4741,7 +4650,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Gå bakåt i spellista" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Antal överhoppningar" @@ -4749,11 +4658,11 @@ msgstr "Antal överhoppningar" msgid "Skip forwards in playlist" msgstr "Gå framåt i spellista" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Hoppa över valda spår" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Hoppa över spår" @@ -4785,7 +4694,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Låtinformation" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Låtinfo" @@ -4821,7 +4730,7 @@ msgstr "Sortering" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Källa" @@ -4896,7 +4805,7 @@ msgid "Starting..." msgstr "Startar..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Stoppa" @@ -4912,7 +4821,7 @@ msgstr "Stoppa efter varje låt" msgid "Stop after every track" msgstr "Stoppa efter varje låt" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Stoppa efter detta spår" @@ -4941,6 +4850,10 @@ msgstr "Stoppad" msgid "Stream" msgstr "Ström" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5050,6 +4963,10 @@ msgstr "Albumomslaget på den nu spelande låten." msgid "The directory %1 is not valid" msgstr "Katalogen %1 är inte giltig" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Det andra värdet måste vara större än det första!" @@ -5068,7 +4985,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Testperioden för Subsonics server är över. Var vänlig och donera för att få en licensnyckel. Besök subsonic.org för mer detaljer." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5110,7 +5027,7 @@ msgid "" "continue?" msgstr "Filerna kommer att tas bort från enheten, är du säker på att du vill fortsätta?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5194,7 +5111,7 @@ msgstr "Denna typ av enhet är inte stödd: %1" msgid "Time step" msgstr "Tidssteg" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5213,11 +5130,11 @@ msgstr "Växla Pretty OSD" msgid "Toggle fullscreen" msgstr "Växla fullskärm" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Växla köstatus" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Växla skrobbling" @@ -5257,7 +5174,7 @@ msgstr "Totalt antal nätverksbegäran" msgid "Trac&k" msgstr "Spå&r" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Spår" @@ -5266,7 +5183,7 @@ msgstr "Spår" msgid "Tracks" msgstr "Spår" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Omkoda musik" @@ -5303,6 +5220,10 @@ msgstr "Stäng av" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Webbadress(er)" @@ -5328,9 +5249,9 @@ msgstr "Det går inte att hämta %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Okänt" @@ -5347,11 +5268,11 @@ msgstr "Okänt fel" msgid "Unset cover" msgstr "Ta bort omslag" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Hoppa inte över valda spår" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Hoppa inte över valt spår" @@ -5364,15 +5285,11 @@ msgstr "Avprenumerera" msgid "Upcoming Concerts" msgstr "Kommande konserter" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Uppdatering" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Uppdatera alla podsändningar" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Uppdatera ändrade bibliotekskataloger" @@ -5482,7 +5399,7 @@ msgstr "Använd ljudnormalisering" msgid "Used" msgstr "Använd" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Användargränssnitt" @@ -5508,7 +5425,7 @@ msgid "Variable bit rate" msgstr "Variabel bithastighet" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Diverse artister" @@ -5521,11 +5438,15 @@ msgstr "Version %1" msgid "View" msgstr "Visa" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Visualiseringsläge" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Visualiseringar" @@ -5533,10 +5454,6 @@ msgstr "Visualiseringar" msgid "Visualizations Settings" msgstr "Inställningar för visualiseringar" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Avkänning av röstaktivitet" @@ -5559,10 +5476,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Vägg" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Varna mig när jag stänger en spellistsflik" @@ -5665,7 +5578,7 @@ msgid "" "well?" msgstr "Vill du flytta på 'andra låtar' i det här albumet till Blandade Artister också?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Vill du köra en fullständig omsökning nu?" @@ -5681,7 +5594,7 @@ msgstr "Skriv metadata" msgid "Wrong username or password." msgstr "Fel användarnamn eller lösenord." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/te.po b/src/translations/te.po index 7af090058..5c3ee3767 100644 --- a/src/translations/te.po +++ b/src/translations/te.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:45+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Telugu (http://www.transifex.com/davidsansome/clementine/language/te/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,11 +63,6 @@ msgstr "సెకనులు" msgid " songs" msgstr "పాటలు" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -99,7 +94,7 @@ msgstr "" msgid "%1 playlists (%2)" msgstr "%1 పాటలజాబితాలు (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 ఎంచుకున్నారు" @@ -124,7 +119,7 @@ msgstr "%1 పాటలు కనుగొన్నాము" msgid "%1 songs found (showing %2)" msgstr "%1 పాటలు కనుగొన్నాము (%2 చూపిస్తున్నాము)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 పాటలు" @@ -184,7 +179,7 @@ msgstr "&మధ్యస్థం" msgid "&Custom" msgstr "&అనురూపితం" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "" @@ -192,7 +187,7 @@ msgstr "" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "" @@ -217,7 +212,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "" @@ -225,15 +220,15 @@ msgstr "" msgid "&None" msgstr "" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "" @@ -241,7 +236,7 @@ msgstr "" msgid "&Right" msgstr "" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "" @@ -249,7 +244,7 @@ msgstr "" msgid "&Stretch columns to fit window" msgstr "" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "" @@ -285,7 +280,7 @@ msgstr "" msgid "1 day" msgstr "" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "" @@ -429,11 +424,11 @@ msgstr "" msgid "About %1" msgstr "" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "" @@ -443,7 +438,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "" @@ -497,19 +492,19 @@ msgstr "" msgid "Add directory..." msgstr "" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "" @@ -517,12 +512,12 @@ msgstr "" msgid "Add files to transcode" msgstr "" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "" @@ -534,7 +529,7 @@ msgstr "" msgid "Add podcast" msgstr "" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "" @@ -602,10 +597,6 @@ msgstr "" msgid "Add song title tag" msgstr "" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "" @@ -614,18 +605,10 @@ msgstr "" msgid "Add song year tag" msgstr "" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -634,14 +617,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "" @@ -651,10 +630,6 @@ msgstr "" msgid "Add to the queue" msgstr "" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "" @@ -692,7 +667,7 @@ msgstr "" msgid "After copying..." msgstr "" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -705,7 +680,7 @@ msgstr "" msgid "Album (ideal loudness for all tracks)" msgstr "" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -720,10 +695,6 @@ msgstr "" msgid "Album info on jamendo.com..." msgstr "" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "" @@ -736,11 +707,11 @@ msgstr "" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -865,7 +836,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -874,7 +845,7 @@ msgstr "" msgid "Artist" msgstr "" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "" @@ -945,7 +916,7 @@ msgstr "" msgid "BBC Podcasts" msgstr "" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "" @@ -1002,7 +973,8 @@ msgstr "" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "" @@ -1055,7 +1027,7 @@ msgstr "" msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "" @@ -1079,19 +1051,6 @@ msgstr "" msgid "CUE sheet support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "" @@ -1100,12 +1059,6 @@ msgstr "" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "" @@ -1144,6 +1097,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "" @@ -1152,19 +1109,15 @@ msgstr "" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "" @@ -1210,13 +1163,13 @@ msgstr "" msgid "Clear" msgstr "" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "" @@ -1349,24 +1302,20 @@ msgstr "" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1397,15 +1346,11 @@ msgstr "" msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "" @@ -1439,16 +1384,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "" @@ -1472,20 +1417,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "" @@ -1507,6 +1448,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1533,7 +1483,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "" @@ -1619,11 +1569,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "" @@ -1651,7 +1601,7 @@ msgstr "" msgid "Default background image" msgstr "" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1674,7 +1624,7 @@ msgid "Delete downloaded data" msgstr "" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "" @@ -1682,7 +1632,7 @@ msgstr "" msgid "Delete from device..." msgstr "" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "" @@ -1707,11 +1657,15 @@ msgstr "" msgid "Deleting files" msgstr "" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1740,11 +1694,11 @@ msgstr "" msgid "Device properties..." msgstr "" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1791,7 +1745,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1812,7 +1766,7 @@ msgstr "" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1983,12 +1937,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "" @@ -2001,7 +1955,7 @@ msgid "Edit track information" msgstr "" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "" @@ -2021,10 +1975,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "" @@ -2109,7 +2059,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "" @@ -2122,8 +2072,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "" @@ -2143,6 +2093,11 @@ msgstr "" msgid "Error deleting songs" msgstr "" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "" @@ -2263,7 +2218,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2342,27 +2297,23 @@ msgstr "" msgid "File formats" msgstr "" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2372,7 +2323,7 @@ msgstr "" msgid "Filename" msgstr "" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "" @@ -2384,10 +2335,6 @@ msgstr "" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2456,6 +2403,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2492,7 +2440,7 @@ msgstr "" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "" @@ -2500,7 +2448,7 @@ msgstr "" msgid "General settings" msgstr "" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2533,11 +2481,11 @@ msgstr "" msgid "Go" msgstr "" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2591,7 +2539,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2781,11 +2729,11 @@ msgstr "" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "" @@ -2802,6 +2750,10 @@ msgstr "" msgid "Invalid API key" msgstr "" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "" @@ -2858,7 +2810,7 @@ msgstr "" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2882,7 +2834,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2923,7 +2875,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2964,12 +2916,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "" @@ -2978,7 +2930,7 @@ msgstr "" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3018,7 +2970,7 @@ msgstr "" msgid "Load playlist" msgstr "" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "" @@ -3054,8 +3006,7 @@ msgstr "" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "" @@ -3064,7 +3015,6 @@ msgstr "" msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3074,8 +3024,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "" @@ -3083,15 +3032,11 @@ msgstr "" msgid "Login failed" msgstr "" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3172,7 +3117,7 @@ msgstr "" msgid "Make it so!" msgstr "" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3218,10 +3163,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3252,6 +3193,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3272,7 +3217,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3285,10 +3230,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3306,7 +3247,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3315,8 +3256,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "" @@ -3325,22 +3265,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3386,7 +3314,7 @@ msgstr "" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "" @@ -3415,7 +3343,7 @@ msgid "Next" msgstr "" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "" @@ -3453,7 +3381,7 @@ msgstr "" msgid "None" msgstr "" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3502,10 +3430,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3587,7 +3511,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "" @@ -3607,7 +3531,7 @@ msgstr "" msgid "Open device" msgstr "" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "" @@ -3661,7 +3585,7 @@ msgstr "" msgid "Organise Files" msgstr "" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "" @@ -3673,7 +3597,7 @@ msgstr "" msgid "Original tags" msgstr "" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3741,7 +3665,7 @@ msgstr "" msgid "Password" msgstr "" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3754,7 +3678,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3769,14 +3693,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3807,7 +3731,7 @@ msgstr "" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "" @@ -3824,7 +3748,7 @@ msgstr "" msgid "Playlist type" msgstr "" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "" @@ -3865,11 +3789,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "" @@ -3929,7 +3853,7 @@ msgid "Previous" msgstr "" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "" @@ -3980,16 +3904,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4001,7 +3925,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4038,7 +3962,7 @@ msgstr "" msgid "Rate the current song 5 stars" msgstr "" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "" @@ -4105,7 +4029,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4113,15 +4037,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4133,7 +4049,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4145,7 +4061,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4195,7 +4111,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4236,7 +4152,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4266,8 +4182,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4305,7 +4222,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "" @@ -4345,7 +4262,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4362,12 +4279,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4510,7 +4427,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4519,7 +4436,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4586,7 +4503,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "" @@ -4606,16 +4523,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4627,27 +4540,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4683,7 +4592,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4719,7 +4628,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4727,11 +4636,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4763,7 +4672,7 @@ msgstr "" msgid "Song Information" msgstr "" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "" @@ -4799,7 +4708,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "" @@ -4874,7 +4783,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4890,7 +4799,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4919,6 +4828,10 @@ msgstr "" msgid "Stream" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5028,6 +4941,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5046,7 +4963,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5088,7 +5005,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5172,7 +5089,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5191,11 +5108,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5235,7 +5152,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "" @@ -5244,7 +5161,7 @@ msgstr "" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "" @@ -5281,6 +5198,10 @@ msgstr "" msgid "URI" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "" @@ -5306,9 +5227,9 @@ msgstr "" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "" @@ -5325,11 +5246,11 @@ msgstr "" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5342,15 +5263,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5460,7 +5377,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "" @@ -5486,7 +5403,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5499,11 +5416,15 @@ msgstr "" msgid "View" msgstr "" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "" @@ -5511,10 +5432,6 @@ msgstr "" msgid "Visualizations Settings" msgstr "" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5537,10 +5454,6 @@ msgstr "" msgid "WMA" msgstr "" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5643,7 +5556,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5659,7 +5572,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/tr.po b/src/translations/tr.po index 89a7d5526..6e1a77856 100644 --- a/src/translations/tr.po +++ b/src/translations/tr.po @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Turkish (http://www.transifex.com/davidsansome/clementine/language/tr/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -82,11 +82,6 @@ msgstr " saniye" msgid " songs" msgstr " şarkılar" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 şarkı)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -118,7 +113,7 @@ msgstr "%2 üzerinde %1" msgid "%1 playlists (%2)" msgstr "%1 çalma listesi (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 seçili" @@ -143,7 +138,7 @@ msgstr "%1 şarkı bulundu" msgid "%1 songs found (showing %2)" msgstr "%1 şarkı bulundu (%2 tanesi gösteriliyor)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 parça" @@ -203,7 +198,7 @@ msgstr "&Ortala" msgid "&Custom" msgstr "&Özel" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Ekler" @@ -211,7 +206,7 @@ msgstr "Ekler" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Yardım" @@ -236,7 +231,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Müzik" @@ -244,15 +239,15 @@ msgstr "Müzik" msgid "&None" msgstr "&Hiçbiri" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Çalma Listesi" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Çık" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Tekrar kipi" @@ -260,7 +255,7 @@ msgstr "Tekrar kipi" msgid "&Right" msgstr "&Sağ" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Rastgele kipi" @@ -268,7 +263,7 @@ msgstr "Rastgele kipi" msgid "&Stretch columns to fit window" msgstr "&Sütunları pencereye sığacak şekilde ayarla" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Araçlar" @@ -304,7 +299,7 @@ msgstr "0px" msgid "1 day" msgstr "1 gün" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 parça" @@ -448,11 +443,11 @@ msgstr "İptal" msgid "About %1" msgstr "%1 Hakkında" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Clementine Hakkında..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Qt Hakkında..." @@ -462,7 +457,7 @@ msgid "Absolute" msgstr "Kesin" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Hesap ayrıntıları" @@ -516,19 +511,19 @@ msgstr "Başka bir yayın ekle..." msgid "Add directory..." msgstr "Dizin ekle..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Dosya ekle" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Dosyayı dönüştürücüye ekle" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Dosyayı/dosyaları dönüştürücüye ekle" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Dosya ekle..." @@ -536,12 +531,12 @@ msgstr "Dosya ekle..." msgid "Add files to transcode" msgstr "Dönüştürülecek dosyaları ekle" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Klasör ekle" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Klasör ekle..." @@ -553,7 +548,7 @@ msgstr "Yeni klasör ekle..." msgid "Add podcast" msgstr "Podcast ekle" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Podcast ekle..." @@ -621,10 +616,6 @@ msgstr "Şarkı atlama sayısı ekle" msgid "Add song title tag" msgstr "Şarkı adı etiketi ekle" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Şarkıyı önbelleğe ekle" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Şarkıya parça etiketi ekle" @@ -633,18 +624,10 @@ msgstr "Şarkıya parça etiketi ekle" msgid "Add song year tag" msgstr "Yıl etiketi ekle" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "\"Beğendim\" düğmesi tıklandığında şarkıları \"Müziklerim\"e ekle" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Yayın ekle..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Müziklerime Ekle" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Spotify çalma listelerine ekle" @@ -653,14 +636,10 @@ msgstr "Spotify çalma listelerine ekle" msgid "Add to Spotify starred" msgstr "Spotify yıldızlılarına ekle" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Başka bir çalma listesine ekle" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Yer imlerine ekle" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Çalma listesine ekle" @@ -670,10 +649,6 @@ msgstr "Çalma listesine ekle" msgid "Add to the queue" msgstr "Kuyruğa ekle" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Kullanıcı/grubu yer imlerine ekle" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "wiimotedev eylemi ekle" @@ -711,7 +686,7 @@ msgstr "Sonra " msgid "After copying..." msgstr "Kopyalandıktan sonra..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -724,7 +699,7 @@ msgstr "Albüm" msgid "Album (ideal loudness for all tracks)" msgstr "Albüm (tüm parçalar için ideal ses yüksekliği)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -739,10 +714,6 @@ msgstr "Albüm kapağı" msgid "Album info on jamendo.com..." msgstr "Jamendo.com'daki albüm bilgileri..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albümler" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Kapak resmine olan albümler" @@ -755,11 +726,11 @@ msgstr "Kapak resmi olmayan albümler" msgid "All" msgstr "Tümü" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Tüm Dosyalar (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "All Glory to the Hypnotoad!" @@ -884,7 +855,7 @@ msgid "" "the songs of your library?" msgstr "Şarkıların istatistiklerini, kütüphanenizdeki tüm şarkıların kendi dosyalarına yazmak istediğinizden emin misiniz?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -893,7 +864,7 @@ msgstr "Şarkıların istatistiklerini, kütüphanenizdeki tüm şarkıların ke msgid "Artist" msgstr "Sanatçı" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Sanatçı bilgisi" @@ -964,7 +935,7 @@ msgstr "Ortalama resim boyutu" msgid "BBC Podcasts" msgstr "BBC Podcastları" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1021,7 +992,8 @@ msgstr "En iyi" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bit oranı" @@ -1074,7 +1046,7 @@ msgstr "Gözat..." msgid "Buffer duration" msgstr "Önbellek süresi" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Arabelleğe alınıyor" @@ -1098,19 +1070,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE desteği" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Önbellek yolu:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Önbellekleme" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Önbelleklenen %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "İptal" @@ -1119,12 +1078,6 @@ msgstr "İptal" msgid "Cancel download" msgstr "İndirmeyi iptal et" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Resim doğrulaması gerekli.\nBu sorunu çözmek için Vk.com'da tarayıcınızla oturum açmayı deneyin." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Kapak resmini değiştir" @@ -1163,6 +1116,10 @@ msgid "" "songs" msgstr "Mono çalma ayarını değiştirmek sonraki şarkılarda da etkili olur" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Yeni bölümler için kontrol et" @@ -1171,19 +1128,15 @@ msgstr "Yeni bölümler için kontrol et" msgid "Check for updates" msgstr "Güncellemeleri denetle" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Güncellemeleri denetle..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Vk.com önbellek dizinini seç" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Akıllı çalma listesi için isim seçin" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Otomatik seç" @@ -1229,13 +1182,13 @@ msgstr "Temizliyor" msgid "Clear" msgstr "Temizle" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Çalma listesini temizle" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1368,24 +1321,20 @@ msgstr "Renk" msgid "Comma separated list of class:level, level is 0-3" msgstr "Virgülle ayrılmış sınıf:seviye listesi, sınıf 0-3 arasında olabilir " -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Yorum" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Topluluk Radyosu" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Etiketleri otomatik tamamla" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Etiketleri otomatik tamamla..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1416,15 +1365,11 @@ msgstr "Spotify'ı Yapılandır..." msgid "Configure Subsonic..." msgstr "Subsonic'i yapılandır..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Vk.com'u yapılandır..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Genel aramayı düzenle..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Kütüphaneyi düzenle..." @@ -1458,16 +1403,16 @@ msgid "" "http://localhost:4040/" msgstr "Bağlantı sunucu tarafından reddedildi, sunucu adresini denetleyin. Örnek: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Bağlantı zaman aşımına uğradı, sunucu adresini denetleyin. Örnek: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Bağlantı sorunu veya ses sahibi tarafından devre dışı bırakılmış" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsol" @@ -1491,20 +1436,16 @@ msgstr "Uzağa göndermeden önce kayıpsız ses dosyalarını dönüştür." msgid "Convert lossless files" msgstr "Kayıpsız dosyaları dönüştür" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Paylaşım adresini panoya kopyala" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Panoya kopyala" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Aygıta kopyala..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kütüphaneye kopyala..." @@ -1526,6 +1467,15 @@ msgid "" "required GStreamer plugins installed" msgstr "GStreamer elementi \"%1\" oluşturulamadı - tüm Gstreamer eklentilerinin kurulu olduğundan emin olun" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Çalma listesi oluşturulamadı" @@ -1552,7 +1502,7 @@ msgstr "%1 çıktı dosyası açılamadı" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Kapak Yöneticisi" @@ -1638,11 +1588,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Oluşturulduğu tarih" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Değiştirildiği tarih" @@ -1670,7 +1620,7 @@ msgstr "Sesi azalt" msgid "Default background image" msgstr "Varsayılan arkaplan resmi" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "%1 üzerinde öntanımlı aygıt" @@ -1693,7 +1643,7 @@ msgid "Delete downloaded data" msgstr "İndirilmiş veriyi sil" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Dosyaları sil" @@ -1701,7 +1651,7 @@ msgstr "Dosyaları sil" msgid "Delete from device..." msgstr "Aygıttan sil..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Diskten sil..." @@ -1726,11 +1676,15 @@ msgstr "Orijinal dosyaları sil" msgid "Deleting files" msgstr "Dosyalar siliniyor" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Seçili parçaları kuyruktan çıkar" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Parçayı kuyruktan çıkar" @@ -1759,11 +1713,11 @@ msgstr "Aygıt adı" msgid "Device properties..." msgstr "Aygıt özellikleri..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Aygıtlar" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "İletişim Kutusu" @@ -1810,7 +1764,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Devre Dışı" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1831,7 +1785,7 @@ msgstr "Gösterim seçenekleri" msgid "Display the on-screen-display" msgstr "Ekran görselini göster" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Tüm kütüphaneyi yeniden tara" @@ -2002,12 +1956,12 @@ msgstr "Dinamik rastgele karışım" msgid "Edit smart playlist..." msgstr "Akıllı çalma listesini düzenleyin" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "\"%1\" etiketini düzenle..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Etiketi düzenle..." @@ -2020,7 +1974,7 @@ msgid "Edit track information" msgstr "Parça bilgisini düzenle" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Parça bilgisini düzenle..." @@ -2040,10 +1994,6 @@ msgstr "E-posta" msgid "Enable Wii Remote support" msgstr "Wii kumanda desteğini etkinleştir" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Otomatik önbelleklemeyi etkinleştir" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Ekolayzırı etkinleştir" @@ -2128,7 +2078,7 @@ msgstr "App Clementine için bağlanmak için IP girin." msgid "Entire collection" msgstr "Tüm koleksiyon" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekolayzır" @@ -2141,8 +2091,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "--log-levels *:3'e eşdeğer" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Hata" @@ -2162,6 +2112,11 @@ msgstr "Şarkılar kopyalanırken hata" msgid "Error deleting songs" msgstr "Şarkılar silinirken hata" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Spotify eklentisini indirirken hata" @@ -2282,7 +2237,7 @@ msgstr "Yumuşak geçiş" msgid "Fading duration" msgstr "Yumuşak geçiş süresi" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "CD sürücünü okuma başarısız" @@ -2361,27 +2316,23 @@ msgstr "Dosya uzantısı" msgid "File formats" msgstr "Dosya biçimleri" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Dosya adı" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Dosya adı (yol hariç)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Dosya adı deseni:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Dosya yolları" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Dosya boyutu" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2391,7 +2342,7 @@ msgstr "Dosya türü" msgid "Filename" msgstr "Dosya adı" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Dosyalar" @@ -2403,10 +2354,6 @@ msgstr "Dönüştürülecek dosyalar" msgid "Find songs in your library that match the criteria you specify." msgstr "Kütüphanenizde belirttiğiniz kriterlerle eşleşen şarkıları bulun." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Bu sanatçıyı bul" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Şarkının parmak izi çıkartılıyor" @@ -2475,6 +2422,7 @@ msgid "Form" msgstr "Biçim" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Biçim" @@ -2511,7 +2459,7 @@ msgstr "Yüksek tiz" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Genel" @@ -2519,7 +2467,7 @@ msgstr "Genel" msgid "General settings" msgstr "Genel ayarlar" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2552,11 +2500,11 @@ msgstr "Bir isim verin:" msgid "Go" msgstr "Git" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Sıradaki listeye git" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Önceki listeye git" @@ -2610,7 +2558,7 @@ msgstr "Tür/Albüme göre grupla" msgid "Group by Genre/Artist/Album" msgstr "Tür/Sanatçı/Albüme göre grupla" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2800,11 +2748,11 @@ msgstr "Kuruldu" msgid "Integrity check" msgstr "Bütünlük doğrulaması" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "İnternet sağlayıcılar" @@ -2821,6 +2769,10 @@ msgstr "Giriş parçaları" msgid "Invalid API key" msgstr "Geçersiz API anahtarı" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Geçersiz biçim" @@ -2877,7 +2829,7 @@ msgstr "Jamendo veritabanı" msgid "Jump to previous song right away" msgstr "Hemen bir önceki şarkıya gidecek" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Şu anda çalınan parçaya atla" @@ -2901,7 +2853,7 @@ msgstr "Pencere kapandığında arkaplanda çalışmaya devam et" msgid "Keep the original files" msgstr "Orijinal dosyaları sakla" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kedicikler" @@ -2942,7 +2894,7 @@ msgstr "Büyük kenar çubuğu" msgid "Last played" msgstr "Son çalınan" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Son çalınan" @@ -2983,12 +2935,12 @@ msgstr "Az beğenilen parçalar" msgid "Left" msgstr "So" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Süre" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Kütüphane" @@ -2997,7 +2949,7 @@ msgstr "Kütüphane" msgid "Library advanced grouping" msgstr "Kütüphane gelişmiş gruplama" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Kütüphane yeniden tarama bildirisi" @@ -3037,7 +2989,7 @@ msgstr "Albüm kapağını diskten yükle..." msgid "Load playlist" msgstr "Çalma listesini yükle" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Çalma listesi yükle..." @@ -3073,8 +3025,7 @@ msgstr "Parça bilgileri yükleniyor" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Yükleniyor..." @@ -3083,7 +3034,6 @@ msgstr "Yükleniyor..." msgid "Loads files/URLs, replacing current playlist" msgstr "Dosyaları/URLleri yükler, mevcut çalma listesinin yerine koyar" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3093,8 +3043,7 @@ msgstr "Dosyaları/URLleri yükler, mevcut çalma listesinin yerine koyar" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Oturum aç" @@ -3102,15 +3051,11 @@ msgstr "Oturum aç" msgid "Login failed" msgstr "Giriş başarısız oldu." -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Oturumu Kapat" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Long term prediction profile (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Beğen" @@ -3191,7 +3136,7 @@ msgstr "Ana profil (MAIN)" msgid "Make it so!" msgstr "Yap gitsin!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Yap gitsin!" @@ -3237,10 +3182,6 @@ msgstr "Her arama terimiyle eşleştir (VE)" msgid "Match one or more search terms (OR)" msgstr "Bir veya daha fazla arama terimiyle eşleştir (VEYA)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "En fazla genel arama sonucu" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maksimum bit oranı" @@ -3271,6 +3212,10 @@ msgstr "Minimum bit oranı" msgid "Minimum buffer fill" msgstr "Asgari tampon doldurma" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Eksik projectM ayarları" @@ -3291,7 +3236,7 @@ msgstr "Tekli oynat" msgid "Months" msgstr "Ay" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Atmosfer" @@ -3304,10 +3249,6 @@ msgstr "Atmosfer çubuğu tasarımı" msgid "Moodbars" msgstr "Atmosfer çubukları" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Daha fazla" - #: library/library.cpp:84 msgid "Most played" msgstr "En fazla çalınan" @@ -3325,7 +3266,7 @@ msgstr "Bağlama noktaları" msgid "Move down" msgstr "Aşağı taşı" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Kütüphaneye taşı..." @@ -3334,8 +3275,7 @@ msgstr "Kütüphaneye taşı..." msgid "Move up" msgstr "Yukarı taşı" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Müzik" @@ -3344,22 +3284,10 @@ msgid "Music Library" msgstr "Müzik Kütüphanesi" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Sessiz" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Albümlerim" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Müziğim" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Önerdiklerim" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3405,7 +3333,7 @@ msgstr "Asla çalarak başlama" msgid "New folder" msgstr "Yeni klasör" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Yeni çalma listesi" @@ -3434,7 +3362,7 @@ msgid "Next" msgstr "İleri" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Sonraki parça" @@ -3472,7 +3400,7 @@ msgstr "Kısa blok yok" msgid "None" msgstr "Hiçbiri" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Seçili şarkıların hiçbiri aygıta yüklemeye uygun değil" @@ -3521,10 +3449,6 @@ msgstr "Giriş yapmadınız" msgid "Not mounted - double click to mount" msgstr "Bağlı değil - bağlamak için çift tıklayın" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Hiçbir şey bulunamadı" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Bildirim türü" @@ -3606,7 +3530,7 @@ msgstr "Opaklık" msgid "Open %1 in browser" msgstr "Tarayıcıda aç: %1" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "&Ses CD'si aç..." @@ -3626,7 +3550,7 @@ msgstr "Müziğin içe aktarılacağı bir dizin aç" msgid "Open device" msgstr "Aygıtı aç" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Dosya aç..." @@ -3680,7 +3604,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Dosyaları Düzenle" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Dosyaları düzenle..." @@ -3692,7 +3616,7 @@ msgstr "Dosyalar düzenleniyor" msgid "Original tags" msgstr "Özgün etiketler" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3760,7 +3684,7 @@ msgstr "Parti" msgid "Password" msgstr "Parola" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Duraklat" @@ -3773,7 +3697,7 @@ msgstr "Beklet" msgid "Paused" msgstr "Duraklatıldı" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3788,14 +3712,14 @@ msgstr "Piksel" msgid "Plain sidebar" msgstr "Düz kenar çubuğu" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Çal" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Çalma sayısı" @@ -3826,7 +3750,7 @@ msgstr "Oynatıcı seçenekleri" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Çalma Listesi" @@ -3843,7 +3767,7 @@ msgstr "Çalma listesi seçenekleri" msgid "Playlist type" msgstr "Çalma listesi türü" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Çalma listeleri" @@ -3884,11 +3808,11 @@ msgstr "Tercih" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Tercihler" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Tercihler..." @@ -3948,7 +3872,7 @@ msgid "Previous" msgstr "Önceki" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Önceki parça" @@ -3999,16 +3923,16 @@ msgstr "Kalite" msgid "Querying device..." msgstr "Aygıt sorgulanıyor..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Kuyruk Yöneticisi" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Seçili parçaları kuyruğa ekle" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Parçayı kuyruğa ekle" @@ -4020,7 +3944,7 @@ msgstr "Radyo (tüm parçalar için eşit ses seviyesi)" msgid "Rain" msgstr "Yağmur" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Yağmur" @@ -4057,7 +3981,7 @@ msgstr "Geçerli şarkıyı 4 yıldızla oyla" msgid "Rate the current song 5 stars" msgstr "Geçerli şarkıyı 5 yıldızla oyla" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Beğeni" @@ -4124,7 +4048,7 @@ msgstr "Kaldır" msgid "Remove action" msgstr "Eylemi kaldır" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Şarkı listesindeki çiftleri birleştir" @@ -4132,15 +4056,7 @@ msgstr "Şarkı listesindeki çiftleri birleştir" msgid "Remove folder" msgstr "Klasörü kaldır..." -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Müziklerimden sil" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Yer imlerinden kaldır" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Çalma listesinden kaldır" @@ -4152,7 +4068,7 @@ msgstr "Çalma listesini kaldır" msgid "Remove playlists" msgstr "Çalma listesini kaldır" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Şarkı listesindeki kullanılamayan parçaları kaldır" @@ -4164,7 +4080,7 @@ msgstr "Çalma listesini yeniden adlandır" msgid "Rename playlist..." msgstr "Çalma listesini yeniden adlandır..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Parçaları bu sırada hatırla..." @@ -4214,7 +4130,7 @@ msgstr "Yeniden doldur" msgid "Require authentication code" msgstr "Doğrulama kodu iste" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Sıfırla" @@ -4255,7 +4171,7 @@ msgstr "Dönüştür" msgid "Rip CD" msgstr "CD Dönüştür" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Ses CD'si dönüştür" @@ -4285,8 +4201,9 @@ msgstr "Aygıtı güvenli kaldır" msgid "Safely remove the device after copying" msgstr "Kopyalama işleminden sonra aygıtı güvenli kaldır" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Örnekleme oranı" @@ -4324,7 +4241,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Çalma listesini kaydet" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Çalma listesini kaydet..." @@ -4364,7 +4281,7 @@ msgstr "Ölçeklenebilir örnekleme oranı profili (SSR)" msgid "Scale size" msgstr "ÖLçek boyutu" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Puan" @@ -4381,12 +4298,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Ara" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Ara" @@ -4529,7 +4446,7 @@ msgstr "Sunucu ayrıntıları" msgid "Service offline" msgstr "Hizmet çevrim dışı" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "%1'i \"%2\" olarak ayarla" @@ -4538,7 +4455,7 @@ msgstr "%1'i \"%2\" olarak ayarla" msgid "Set the volume to percent" msgstr "Ses seviyesini yüzde yap" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Seçili tüm parçalar için değeri ayarla..." @@ -4605,7 +4522,7 @@ msgstr "Şirin bir OSD göster" msgid "Show above status bar" msgstr "Durum çubuğunun üzerinde göster" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Tüm şarkıları göster" @@ -4625,16 +4542,12 @@ msgstr "Ayırıcıları göster" msgid "Show fullsize..." msgstr "Tam boyutta göster" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Genel arama sonuçlarında grupları göster" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Dosya gözatıcısında göster..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Kütüphanede göster..." @@ -4646,27 +4559,23 @@ msgstr "Çeşitli sanatçılarda göster" msgid "Show moodbar" msgstr "Atmosfer çubuğunu göster" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Sadece aynı olanları göster" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Sadece etiketi olmayanları göster" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Sayfanızda oynatılan parçayı göster" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Arama önerilerini göster" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4702,7 +4611,7 @@ msgstr "Albümleri karıştır" msgid "Shuffle all" msgstr "Hepsini karıştır" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Çalma listesini karıştır" @@ -4738,7 +4647,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Parça listesinde geri git" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Atlama sayısı" @@ -4746,11 +4655,11 @@ msgstr "Atlama sayısı" msgid "Skip forwards in playlist" msgstr "Parça listesinde ileri git" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Seçili parçaları atla" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Parçayı atla" @@ -4782,7 +4691,7 @@ msgstr "Hafif Rock" msgid "Song Information" msgstr "Şarkı Bilgisi" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Şarkı bilgisi" @@ -4818,7 +4727,7 @@ msgstr "Dizim" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Kaynak" @@ -4893,7 +4802,7 @@ msgid "Starting..." msgstr "Başlatılıyor..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Durdur" @@ -4909,7 +4818,7 @@ msgstr "Her parçadan sonra dur" msgid "Stop after every track" msgstr "Her parçadan sonra dur" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Bu parçadan sonra durdur" @@ -4938,6 +4847,10 @@ msgstr "Durduruldu" msgid "Stream" msgstr "Akış" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5047,6 +4960,10 @@ msgstr "Şu anda çalan şarkının albüm kapağı" msgid "The directory %1 is not valid" msgstr "%1 dizini geçersiz" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "İkinci değer ilk değerden büyük olmak zorunda!" @@ -5065,7 +4982,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Subsonic sunucusunun deneme süresi bitti. Lisans anahtarı almak için lütfen bağış yapın. Ayrıntılar için subsonic.org'u ziyaret edin." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5107,7 +5024,7 @@ msgid "" "continue?" msgstr "Bu dosyalar aygıttan silinecek, devam etmek istiyor musunuz?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5191,7 +5108,7 @@ msgstr "Bu tür bir aygıt desteklenmiyor: %1" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5210,11 +5127,11 @@ msgstr "Şirin OSD'yi Aç/Kapa" msgid "Toggle fullscreen" msgstr "Tam ekran göster/gizle" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Kuyruk durumunu göster/gizle" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Skroplamayı aç/kapa" @@ -5254,7 +5171,7 @@ msgstr "Yapılmış toplam ağ istemi" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Parça" @@ -5263,7 +5180,7 @@ msgstr "Parça" msgid "Tracks" msgstr "Parçalar" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Müzik Dönüştür" @@ -5300,6 +5217,10 @@ msgstr "Kapat" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(ler)" @@ -5325,9 +5246,9 @@ msgstr "%1 indirilemedi (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Bilinmeyen" @@ -5344,11 +5265,11 @@ msgstr "Bilinmeyen hata" msgid "Unset cover" msgstr "Albüm kapağını çıkar" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Seçili parçaları atlama" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Parçayı atlama" @@ -5361,15 +5282,11 @@ msgstr "Abonelikten çık" msgid "Upcoming Concerts" msgstr "Yaklaşan Konserler" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Güncelle" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Bütün podcastları güncelle" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Değişen kütüphane klasörlerini güncelle" @@ -5479,7 +5396,7 @@ msgstr "Ses normalleştirme kullan" msgid "Used" msgstr "Kullanılan" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Kullanıcı arayüzü" @@ -5505,7 +5422,7 @@ msgid "Variable bit rate" msgstr "Değişken bit oranı" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Çeşitli sanatçılar" @@ -5518,11 +5435,15 @@ msgstr "Sürüm %1" msgid "View" msgstr "Görünüm" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Görüntüleme kipi" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Görseller" @@ -5530,10 +5451,6 @@ msgstr "Görseller" msgid "Visualizations Settings" msgstr "Görüntüleme Ayarları" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Ses aktivitesi algılama" @@ -5556,10 +5473,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Duvar" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Bir çalma listesi sekmesini kapatırken beni uyar" @@ -5662,7 +5575,7 @@ msgid "" "well?" msgstr "Bu albümdeki diğer şarkıları da Çeşitli Sanatçılar'a taşımak ister misiniz?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Şu anda tam bir yeniden tarama çalıştırmak ister misiniz?" @@ -5678,7 +5591,7 @@ msgstr "Üstveriyi yaz" msgid "Wrong username or password." msgstr "Yanlış kullanıcı adı veya parola." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/tr_TR.po b/src/translations/tr_TR.po index 923002790..66ef287cf 100644 --- a/src/translations/tr_TR.po +++ b/src/translations/tr_TR.po @@ -13,6 +13,7 @@ # Emre FIRAT , 2013 # Emre FIRAT , 2013 # Erhan BURHAN <>, 2012 +# Ersan Benli , 2016 # H. İbrahim Güngör , 2011 # H. İbrahim Güngör , 2010 # İbrahim Güngör , 2011 @@ -40,7 +41,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Turkish (Turkey) (http://www.transifex.com/davidsansome/clementine/language/tr_TR/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -96,11 +97,6 @@ msgstr " saniye" msgid " songs" msgstr " şarkılar" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 şarkı)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -132,7 +128,7 @@ msgstr "%2 üzerinde %1" msgid "%1 playlists (%2)" msgstr "%1 çalma listesi (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 seçili" @@ -157,7 +153,7 @@ msgstr "%1 şarkı bulundu" msgid "%1 songs found (showing %2)" msgstr "%1 şarkı bulundu (%2 tanesi gösteriliyor)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 parça" @@ -217,7 +213,7 @@ msgstr "&Ortala" msgid "&Custom" msgstr "&Özel" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Ekler" @@ -225,7 +221,7 @@ msgstr "Ekler" msgid "&Grouping" msgstr "&Gruplandırma" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Yardım" @@ -250,7 +246,7 @@ msgstr "Reyting &Kilitle" msgid "&Lyrics" msgstr "&Şarkı sözleri" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Müzik" @@ -258,15 +254,15 @@ msgstr "Müzik" msgid "&None" msgstr "&Hiçbiri" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Çalma Listesi" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Çık" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Tekrar kipi" @@ -274,7 +270,7 @@ msgstr "Tekrar kipi" msgid "&Right" msgstr "&Sağ" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Rastgele kipi" @@ -282,7 +278,7 @@ msgstr "Rastgele kipi" msgid "&Stretch columns to fit window" msgstr "&Sütunları pencereye sığacak şekilde ayarla" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Araçlar" @@ -318,7 +314,7 @@ msgstr "0px" msgid "1 day" msgstr "1 gün" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 parça" @@ -391,7 +387,7 @@ msgid "" "href=\"%1\">%2, which is released under the Creative Commons" " Attribution-Share-Alike License 3.0.

" -msgstr "" +msgstr "

Bu makale, %2 adresinde yayınlanan \n Wikipedia makalesinin içeriğini kullanmaktadır. Creative Commons Attribution-Share-Alike Lisansı 3.0 . " #: ../bin/src/ui_organisedialog.h:250 msgid "" @@ -462,11 +458,11 @@ msgstr "İptal" msgid "About %1" msgstr "%1 Hakkında" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Clementine Hakkında..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Qt Hakkında..." @@ -476,7 +472,7 @@ msgid "Absolute" msgstr "Kesin" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Hesap ayrıntıları" @@ -530,19 +526,19 @@ msgstr "Başka bir yayın ekle..." msgid "Add directory..." msgstr "Dizin ekle..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Dosya ekle" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Dosyayı dönüştürücüye ekle" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Dosyayı/dosyaları dönüştürücüye ekle" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Dosya ekle..." @@ -550,12 +546,12 @@ msgstr "Dosya ekle..." msgid "Add files to transcode" msgstr "Dönüştürülecek dosyaları ekle" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Klasör ekle" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Klasör ekle..." @@ -567,7 +563,7 @@ msgstr "Yeni klasör ekle..." msgid "Add podcast" msgstr "Podcast ekle" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Podcast ekle..." @@ -635,10 +631,6 @@ msgstr "Şarkı atlama sayısı ekle" msgid "Add song title tag" msgstr "Şarkı adı etiketi ekle" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Şarkıyı önbelleğe ekle" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Şarkıya parça etiketi ekle" @@ -647,18 +639,10 @@ msgstr "Şarkıya parça etiketi ekle" msgid "Add song year tag" msgstr "Yıl etiketi ekle" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "\"Beğendim\" düğmesi tıklandığında şarkıları \"Müziklerim\"e ekle" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Yayın ekle..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Müziklerime Ekle" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Spotify çalma listelerine ekle" @@ -667,14 +651,10 @@ msgstr "Spotify çalma listelerine ekle" msgid "Add to Spotify starred" msgstr "Spotify yıldızlılarına ekle" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Başka bir çalma listesine ekle" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Yer imlerine ekle" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Çalma listesine ekle" @@ -684,10 +664,6 @@ msgstr "Çalma listesine ekle" msgid "Add to the queue" msgstr "Kuyruğa ekle" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Kullanıcı/grubu yer imlerine ekle" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "wiimotedev eylemi ekle" @@ -725,7 +701,7 @@ msgstr "Sonra " msgid "After copying..." msgstr "Kopyalandıktan sonra..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -738,7 +714,7 @@ msgstr "Albüm" msgid "Album (ideal loudness for all tracks)" msgstr "Albüm (tüm parçalar için ideal ses yüksekliği)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -753,10 +729,6 @@ msgstr "Albüm kapağı" msgid "Album info on jamendo.com..." msgstr "Jamendo.com'daki albüm bilgileri..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Albümler" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Kapak resmine olan albümler" @@ -769,11 +741,11 @@ msgstr "Kapak resmi olmayan albümler" msgid "All" msgstr "Tümü" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Tüm Dosyalar (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "All Glory to the Hypnotoad!" @@ -898,7 +870,7 @@ msgid "" "the songs of your library?" msgstr "Şarkıların istatistiklerini, kütüphanenizdeki tüm şarkıların kendi dosyalarına yazmak istediğinizden emin misiniz?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -907,7 +879,7 @@ msgstr "Şarkıların istatistiklerini, kütüphanenizdeki tüm şarkıların ke msgid "Artist" msgstr "Sanatçı" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Sanatçı bilgisi" @@ -978,7 +950,7 @@ msgstr "Ortalama resim boyutu" msgid "BBC Podcasts" msgstr "BBC Podcastları" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1035,7 +1007,8 @@ msgstr "En iyi" msgid "Biography" msgstr "Biografi" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bit oranı" @@ -1088,7 +1061,7 @@ msgstr "Gözat..." msgid "Buffer duration" msgstr "Önbellek süresi" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Arabelleğe alınıyor" @@ -1112,19 +1085,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE desteği" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Önbellek yolu:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Önbellekleme" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Önbelleklenen %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "İptal" @@ -1133,12 +1093,6 @@ msgstr "İptal" msgid "Cancel download" msgstr "İndirmeyi iptal et" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Resim doğrulaması gerekli.\nBu sorunu çözmek için Vk.com'da tarayıcınızla oturum açmayı deneyin." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Kapak resmini değiştir" @@ -1177,6 +1131,10 @@ msgid "" "songs" msgstr "Mono çalma ayarını değiştirmek sonraki şarkılarda da etkili olur" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Yeni bölümler için kontrol et" @@ -1185,19 +1143,15 @@ msgstr "Yeni bölümler için kontrol et" msgid "Check for updates" msgstr "Güncellemeleri denetle" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Güncellemeleri denetle..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Vk.com önbellek dizinini seç" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Akıllı çalma listesi için isim seçin" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Otomatik seç" @@ -1243,13 +1197,13 @@ msgstr "Temizliyor" msgid "Clear" msgstr "Temizle" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Çalma listesini temizle" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1382,24 +1336,20 @@ msgstr "Renk" msgid "Comma separated list of class:level, level is 0-3" msgstr "Virgülle ayrılmış sınıf:seviye listesi, sınıf 0-3 arasında olabilir " -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Yorum" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Topluluk Radyosu" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Etiketleri otomatik tamamla" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Etiketleri otomatik tamamla..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1430,15 +1380,11 @@ msgstr "Spotify'ı Yapılandır..." msgid "Configure Subsonic..." msgstr "Subsonic'i yapılandır..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Vk.com'u yapılandır..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Genel aramayı düzenle..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Kütüphaneyi düzenle..." @@ -1472,16 +1418,16 @@ msgid "" "http://localhost:4040/" msgstr "Bağlantı sunucu tarafından reddedildi, sunucu adresini denetleyin. Örnek: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Bağlantı zaman aşımına uğradı, sunucu adresini denetleyin. Örnek: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Bağlantı sorunu veya ses sahibi tarafından devre dışı bırakılmış" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsol" @@ -1505,20 +1451,16 @@ msgstr "Uzağa göndermeden önce kayıpsız ses dosyalarını dönüştür." msgid "Convert lossless files" msgstr "Kayıpsız dosyaları dönüştür" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Paylaşım adresini panoya kopyala" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Panoya kopyala" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Aygıta kopyala..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kütüphaneye kopyala..." @@ -1540,6 +1482,15 @@ msgid "" "required GStreamer plugins installed" msgstr "GStreamer elementi \"%1\" oluşturulamadı - tüm Gstreamer eklentilerinin kurulu olduğundan emin olun" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Çalma listesi oluşturulamadı" @@ -1566,7 +1517,7 @@ msgstr "%1 çıktı dosyası açılamadı" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Kapak Yöneticisi" @@ -1599,7 +1550,7 @@ msgstr "%1 adresindeki kapak resimleri" #: core/commandlineoptions.cpp:172 msgid "Create a new playlist with files/URLs" -msgstr "" +msgstr "Yeni URL veya Dosyalar içeren Çalma Listesi Oluştur" #: ../bin/src/ui_playbacksettingspage.h:344 msgid "Cross-fade when changing tracks automatically" @@ -1652,11 +1603,11 @@ msgid "" "recover your database" msgstr "Veritabanında bozulma tespit edildi. Veritabanınızı nasıl tamir edeceğiniz hakkındaki talimatlar için lütfen bunu okuyun https://github.com/clementine-player/Clementine/wiki/Database-Corruption" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Oluşturulduğu tarih" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Değiştirildiği tarih" @@ -1684,7 +1635,7 @@ msgstr "Sesi azalt" msgid "Default background image" msgstr "Varsayılan arkaplan resmi" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "%1 üzerinde öntanımlı aygıt" @@ -1707,7 +1658,7 @@ msgid "Delete downloaded data" msgstr "İndirilmiş veriyi sil" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Dosyaları sil" @@ -1715,7 +1666,7 @@ msgstr "Dosyaları sil" msgid "Delete from device..." msgstr "Aygıttan sil..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Diskten sil..." @@ -1740,11 +1691,15 @@ msgstr "Orijinal dosyaları sil" msgid "Deleting files" msgstr "Dosyalar siliniyor" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Seçili parçaları kuyruktan çıkar" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Parçayı kuyruktan çıkar" @@ -1773,11 +1728,11 @@ msgstr "Aygıt adı" msgid "Device properties..." msgstr "Aygıt özellikleri..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Aygıtlar" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "İletişim Kutusu" @@ -1824,7 +1779,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Devre Dışı" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1845,7 +1800,7 @@ msgstr "Gösterim seçenekleri" msgid "Display the on-screen-display" msgstr "Ekran görselini göster" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Tüm kütüphaneyi yeniden tara" @@ -2016,12 +1971,12 @@ msgstr "Dinamik rastgele karışım" msgid "Edit smart playlist..." msgstr "Akıllı çalma listesini düzenleyin" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "\"%1\" etiketini düzenle..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Etiketi düzenle..." @@ -2034,7 +1989,7 @@ msgid "Edit track information" msgstr "Parça bilgisini düzenle" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Parça bilgisini düzenle..." @@ -2054,10 +2009,6 @@ msgstr "E-posta" msgid "Enable Wii Remote support" msgstr "Wii kumanda desteğini etkinleştir" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Otomatik önbelleklemeyi etkinleştir" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Ekolayzırı etkinleştir" @@ -2142,7 +2093,7 @@ msgstr "App Clementine için bağlanmak için IP girin." msgid "Entire collection" msgstr "Tüm koleksiyon" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekolayzır" @@ -2155,8 +2106,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "--log-levels *:3'e eşdeğer" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Hata" @@ -2176,6 +2127,11 @@ msgstr "Şarkılar kopyalanırken hata" msgid "Error deleting songs" msgstr "Şarkılar silinirken hata" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Spotify eklentisini indirirken hata" @@ -2296,7 +2252,7 @@ msgstr "Yumuşak geçiş" msgid "Fading duration" msgstr "Yumuşak geçiş süresi" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "CD sürücünü okuma başarısız" @@ -2375,27 +2331,23 @@ msgstr "Dosya uzantısı" msgid "File formats" msgstr "Dosya biçimleri" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Dosya adı" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Dosya adı (yol hariç)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Dosya adı deseni:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Dosya yolları" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Dosya boyutu" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2405,7 +2357,7 @@ msgstr "Dosya türü" msgid "Filename" msgstr "Dosya adı" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Dosyalar" @@ -2417,10 +2369,6 @@ msgstr "Dönüştürülecek dosyalar" msgid "Find songs in your library that match the criteria you specify." msgstr "Kütüphanenizde belirttiğiniz kriterlerle eşleşen şarkıları bulun." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Bu sanatçıyı bul" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Şarkının parmak izi çıkartılıyor" @@ -2489,6 +2437,7 @@ msgid "Form" msgstr "Biçim" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Biçim" @@ -2525,7 +2474,7 @@ msgstr "Yüksek tiz" msgid "Ge&nre" msgstr "T&ür" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Genel" @@ -2533,7 +2482,7 @@ msgstr "Genel" msgid "General settings" msgstr "Genel ayarlar" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2566,11 +2515,11 @@ msgstr "Bir isim verin:" msgid "Go" msgstr "Git" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Sıradaki listeye git" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Önceki listeye git" @@ -2602,7 +2551,7 @@ msgstr "Albüme göre grupla" #: library/libraryfilterwidget.cpp:150 msgid "Group by Album artist/Album" -msgstr "" +msgstr "Albüm Sanatçısı veya Albümü Grupla" #: library/libraryfilterwidget.cpp:143 msgid "Group by Artist" @@ -2624,7 +2573,7 @@ msgstr "Tür/Albüme göre grupla" msgid "Group by Genre/Artist/Album" msgstr "Tür/Sanatçı/Albüme göre grupla" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2814,11 +2763,11 @@ msgstr "Kuruldu" msgid "Integrity check" msgstr "Bütünlük doğrulaması" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "İnternet sağlayıcılar" @@ -2835,6 +2784,10 @@ msgstr "Giriş parçaları" msgid "Invalid API key" msgstr "Geçersiz API anahtarı" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Geçersiz biçim" @@ -2891,7 +2844,7 @@ msgstr "Jamendo veritabanı" msgid "Jump to previous song right away" msgstr "Hemen bir önceki şarkıya gidecek" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Şu anda çalınan parçaya atla" @@ -2915,7 +2868,7 @@ msgstr "Pencere kapandığında arkaplanda çalışmaya devam et" msgid "Keep the original files" msgstr "Orijinal dosyaları sakla" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Kedicikler" @@ -2956,7 +2909,7 @@ msgstr "Büyük kenar çubuğu" msgid "Last played" msgstr "Son çalınan" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Son çalınan" @@ -2997,12 +2950,12 @@ msgstr "Az beğenilen parçalar" msgid "Left" msgstr "So" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Süre" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Kütüphane" @@ -3011,7 +2964,7 @@ msgstr "Kütüphane" msgid "Library advanced grouping" msgstr "Kütüphane gelişmiş gruplama" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Kütüphane yeniden tarama bildirisi" @@ -3051,7 +3004,7 @@ msgstr "Albüm kapağını diskten yükle..." msgid "Load playlist" msgstr "Çalma listesini yükle" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Çalma listesi yükle..." @@ -3087,8 +3040,7 @@ msgstr "Parça bilgileri yükleniyor" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Yükleniyor..." @@ -3097,7 +3049,6 @@ msgstr "Yükleniyor..." msgid "Loads files/URLs, replacing current playlist" msgstr "Dosyaları/URLleri yükler, mevcut çalma listesinin yerine koyar" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3107,8 +3058,7 @@ msgstr "Dosyaları/URLleri yükler, mevcut çalma listesinin yerine koyar" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Oturum aç" @@ -3116,15 +3066,11 @@ msgstr "Oturum aç" msgid "Login failed" msgstr "Giriş başarısız oldu." -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Oturumu Kapat" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Long term prediction profile (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Beğen" @@ -3157,7 +3103,7 @@ msgstr "%1 sitesinden şarkı sözleri" #: songinfo/taglyricsinfoprovider.cpp:29 msgid "Lyrics from the tag" -msgstr "" +msgstr "Etiketteki Şarkı Sözleri" #: transcoder/transcoder.cpp:235 msgid "M4A AAC" @@ -3205,7 +3151,7 @@ msgstr "Ana profil (MAIN)" msgid "Make it so!" msgstr "Yap gitsin!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Yap gitsin!" @@ -3251,10 +3197,6 @@ msgstr "Her arama terimiyle eşleştir (VE)" msgid "Match one or more search terms (OR)" msgstr "Bir veya daha fazla arama terimiyle eşleştir (VEYA)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "En fazla genel arama sonucu" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Maksimum bit oranı" @@ -3285,6 +3227,10 @@ msgstr "Minimum bit oranı" msgid "Minimum buffer fill" msgstr "Asgari tampon doldurma" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Eksik projectM ayarları" @@ -3305,7 +3251,7 @@ msgstr "Tekli oynat" msgid "Months" msgstr "Ay" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Atmosfer" @@ -3318,10 +3264,6 @@ msgstr "Atmosfer çubuğu tasarımı" msgid "Moodbars" msgstr "Atmosfer çubukları" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Daha fazla" - #: library/library.cpp:84 msgid "Most played" msgstr "En fazla çalınan" @@ -3339,7 +3281,7 @@ msgstr "Bağlama noktaları" msgid "Move down" msgstr "Aşağı taşı" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Kütüphaneye taşı..." @@ -3348,8 +3290,7 @@ msgstr "Kütüphaneye taşı..." msgid "Move up" msgstr "Yukarı taşı" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Müzik" @@ -3358,22 +3299,10 @@ msgid "Music Library" msgstr "Müzik Kütüphanesi" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Sessiz" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Albümlerim" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Müziğim" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Önerdiklerim" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3419,7 +3348,7 @@ msgstr "Asla çalarak başlama" msgid "New folder" msgstr "Yeni klasör" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Yeni çalma listesi" @@ -3448,7 +3377,7 @@ msgid "Next" msgstr "İleri" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Sonraki parça" @@ -3486,7 +3415,7 @@ msgstr "Kısa blok yok" msgid "None" msgstr "Hiçbiri" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Seçili şarkıların hiçbiri aygıta yüklemeye uygun değil" @@ -3535,10 +3464,6 @@ msgstr "Giriş yapmadınız" msgid "Not mounted - double click to mount" msgstr "Bağlı değil - bağlamak için çift tıklayın" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Hiçbir şey bulunamadı" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Bildirim türü" @@ -3620,7 +3545,7 @@ msgstr "Opaklık" msgid "Open %1 in browser" msgstr "Tarayıcıda aç: %1" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "&Ses CD'si aç..." @@ -3640,7 +3565,7 @@ msgstr "Müziğin içe aktarılacağı bir dizin aç" msgid "Open device" msgstr "Aygıtı aç" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Dosya aç..." @@ -3694,7 +3619,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Dosyaları Düzenle" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Dosyaları düzenle..." @@ -3706,7 +3631,7 @@ msgstr "Dosyalar düzenleniyor" msgid "Original tags" msgstr "Özgün etiketler" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3774,7 +3699,7 @@ msgstr "Parti" msgid "Password" msgstr "Parola" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Duraklat" @@ -3787,7 +3712,7 @@ msgstr "Beklet" msgid "Paused" msgstr "Duraklatıldı" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3802,14 +3727,14 @@ msgstr "Piksel" msgid "Plain sidebar" msgstr "Düz kenar çubuğu" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Çal" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Çalma sayısı" @@ -3840,7 +3765,7 @@ msgstr "Oynatıcı seçenekleri" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Çalma Listesi" @@ -3857,7 +3782,7 @@ msgstr "Çalma listesi seçenekleri" msgid "Playlist type" msgstr "Çalma listesi türü" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Çalma listeleri" @@ -3898,11 +3823,11 @@ msgstr "Tercih" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Tercihler" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Tercihler..." @@ -3962,7 +3887,7 @@ msgid "Previous" msgstr "Önceki" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Önceki parça" @@ -4013,16 +3938,16 @@ msgstr "Kalite" msgid "Querying device..." msgstr "Aygıt sorgulanıyor..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Kuyruk Yöneticisi" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Seçili parçaları kuyruğa ekle" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Parçayı kuyruğa ekle" @@ -4034,7 +3959,7 @@ msgstr "Radyo (tüm parçalar için eşit ses seviyesi)" msgid "Rain" msgstr "Yağmur" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Yağmur" @@ -4071,7 +3996,7 @@ msgstr "Geçerli şarkıyı 4 yıldızla oyla" msgid "Rate the current song 5 stars" msgstr "Geçerli şarkıyı 5 yıldızla oyla" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Beğeni" @@ -4138,7 +4063,7 @@ msgstr "Kaldır" msgid "Remove action" msgstr "Eylemi kaldır" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Şarkı listesindeki çiftleri birleştir" @@ -4146,15 +4071,7 @@ msgstr "Şarkı listesindeki çiftleri birleştir" msgid "Remove folder" msgstr "Klasörü kaldır..." -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Müziklerimden sil" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Yer imlerinden kaldır" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Çalma listesinden kaldır" @@ -4166,7 +4083,7 @@ msgstr "Çalma listesini kaldır" msgid "Remove playlists" msgstr "Çalma listesini kaldır" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Şarkı listesindeki kullanılamayan parçaları kaldır" @@ -4178,7 +4095,7 @@ msgstr "Çalma listesini yeniden adlandır" msgid "Rename playlist..." msgstr "Çalma listesini yeniden adlandır..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Parçaları bu sırada hatırla..." @@ -4228,7 +4145,7 @@ msgstr "Yeniden doldur" msgid "Require authentication code" msgstr "Doğrulama kodu iste" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Sıfırla" @@ -4269,7 +4186,7 @@ msgstr "Dönüştür" msgid "Rip CD" msgstr "CD Dönüştür" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Ses CD'si dönüştür" @@ -4299,8 +4216,9 @@ msgstr "Aygıtı güvenli kaldır" msgid "Safely remove the device after copying" msgstr "Kopyalama işleminden sonra aygıtı güvenli kaldır" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Örnekleme oranı" @@ -4338,7 +4256,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Çalma listesini kaydet" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Çalma listesini kaydet..." @@ -4378,7 +4296,7 @@ msgstr "Ölçeklenebilir örnekleme oranı profili (SSR)" msgid "Scale size" msgstr "ÖLçek boyutu" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Puan" @@ -4395,12 +4313,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Ara" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Ara" @@ -4543,7 +4461,7 @@ msgstr "Sunucu ayrıntıları" msgid "Service offline" msgstr "Hizmet çevrim dışı" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "%1'i \"%2\" olarak ayarla" @@ -4552,7 +4470,7 @@ msgstr "%1'i \"%2\" olarak ayarla" msgid "Set the volume to percent" msgstr "Ses seviyesini yüzde yap" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Seçili tüm parçalar için değeri ayarla..." @@ -4619,7 +4537,7 @@ msgstr "Şirin bir OSD göster" msgid "Show above status bar" msgstr "Durum çubuğunun üzerinde göster" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Tüm şarkıları göster" @@ -4639,16 +4557,12 @@ msgstr "Ayırıcıları göster" msgid "Show fullsize..." msgstr "Tam boyutta göster" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Genel arama sonuçlarında grupları göster" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Dosya gözatıcısında göster..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Kütüphanede göster..." @@ -4660,29 +4574,25 @@ msgstr "Çeşitli sanatçılarda göster" msgid "Show moodbar" msgstr "Atmosfer çubuğunu göster" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Sadece aynı olanları göster" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Sadece etiketi olmayanları göster" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Sayfanızda oynatılan parçayı göster" +msgstr "Kenar çubuğunu gösterin veya gizleyin" #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Arama önerilerini göster" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" -msgstr "" +msgstr "Kenar çubuğunu göster" #: ../bin/src/ui_lastfmsettingspage.h:136 msgid "Show the \"love\" button" @@ -4716,7 +4626,7 @@ msgstr "Albümleri karıştır" msgid "Shuffle all" msgstr "Hepsini karıştır" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Çalma listesini karıştır" @@ -4752,7 +4662,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Parça listesinde geri git" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Atlama sayısı" @@ -4760,11 +4670,11 @@ msgstr "Atlama sayısı" msgid "Skip forwards in playlist" msgstr "Parça listesinde ileri git" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Seçili parçaları atla" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Parçayı atla" @@ -4796,7 +4706,7 @@ msgstr "Hafif Rock" msgid "Song Information" msgstr "Şarkı Bilgisi" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Şarkı bilgisi" @@ -4832,7 +4742,7 @@ msgstr "Dizim" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Kaynak" @@ -4907,7 +4817,7 @@ msgid "Starting..." msgstr "Başlatılıyor..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Durdur" @@ -4923,7 +4833,7 @@ msgstr "Her parçadan sonra dur" msgid "Stop after every track" msgstr "Her parçadan sonra dur" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Bu parçadan sonra durdur" @@ -4952,6 +4862,10 @@ msgstr "Durduruldu" msgid "Stream" msgstr "Akış" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5061,6 +4975,10 @@ msgstr "Şu anda çalan şarkının albüm kapağı" msgid "The directory %1 is not valid" msgstr "%1 dizini geçersiz" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "İkinci değer ilk değerden büyük olmak zorunda!" @@ -5079,7 +4997,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Subsonic sunucusunun deneme süresi bitti. Lisans anahtarı almak için lütfen bağış yapın. Ayrıntılar için subsonic.org'u ziyaret edin." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5121,7 +5039,7 @@ msgid "" "continue?" msgstr "Bu dosyalar aygıttan silinecek, devam etmek istiyor musunuz?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5205,7 +5123,7 @@ msgstr "Bu tür bir aygıt desteklenmiyor: %1" msgid "Time step" msgstr "Zaman adımı" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5224,11 +5142,11 @@ msgstr "Şirin OSD'yi Aç/Kapa" msgid "Toggle fullscreen" msgstr "Tam ekran göster/gizle" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Kuyruk durumunu göster/gizle" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Skroplamayı aç/kapa" @@ -5268,7 +5186,7 @@ msgstr "Yapılmış toplam ağ istemi" msgid "Trac&k" msgstr "Par&ça" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Parça" @@ -5277,7 +5195,7 @@ msgstr "Parça" msgid "Tracks" msgstr "Parçalar" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Müzik Dönüştür" @@ -5314,6 +5232,10 @@ msgstr "Kapat" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(ler)" @@ -5339,9 +5261,9 @@ msgstr "%1 indirilemedi (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Bilinmeyen" @@ -5358,11 +5280,11 @@ msgstr "Bilinmeyen hata" msgid "Unset cover" msgstr "Albüm kapağını çıkar" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Seçili parçaları atlama" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Parçayı atlama" @@ -5375,15 +5297,11 @@ msgstr "Abonelikten çık" msgid "Upcoming Concerts" msgstr "Yaklaşan Konserler" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Güncelle" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Bütün podcastları güncelle" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Değişen kütüphane klasörlerini güncelle" @@ -5493,7 +5411,7 @@ msgstr "Ses normalleştirme kullan" msgid "Used" msgstr "Kullanılan" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Kullanıcı arayüzü" @@ -5519,7 +5437,7 @@ msgid "Variable bit rate" msgstr "Değişken bit oranı" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Çeşitli sanatçılar" @@ -5532,11 +5450,15 @@ msgstr "Sürüm %1" msgid "View" msgstr "Görünüm" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Görüntüleme kipi" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Görseller" @@ -5544,10 +5466,6 @@ msgstr "Görseller" msgid "Visualizations Settings" msgstr "Görüntüleme Ayarları" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Ses aktivitesi algılama" @@ -5570,10 +5488,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Duvar" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Bir çalma listesi sekmesini kapatırken beni uyar" @@ -5676,7 +5590,7 @@ msgid "" "well?" msgstr "Bu albümdeki diğer şarkıları da Çeşitli Sanatçılar'a taşımak ister misiniz?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Şu anda tam bir yeniden tarama çalıştırmak ister misiniz?" @@ -5692,7 +5606,7 @@ msgstr "Üstveriyi yaz" msgid "Wrong username or password." msgstr "Yanlış kullanıcı adı veya parola." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/uk.po b/src/translations/uk.po index f02cd5082..ddfc81796 100644 --- a/src/translations/uk.po +++ b/src/translations/uk.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 18:37+0000\n" -"Last-Translator: Yuri Chornoivan \n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" +"Last-Translator: Clementine Buildbot \n" "Language-Team: Ukrainian (http://www.transifex.com/davidsansome/clementine/language/uk/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -65,11 +65,6 @@ msgstr " секунд" msgid " songs" msgstr " композицій" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 композицій)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -101,7 +96,7 @@ msgstr "%1 на %2" msgid "%1 playlists (%2)" msgstr "%1 списків відтворення (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "обрано %1 з" @@ -126,7 +121,7 @@ msgstr "Знайдено %1 пісень" msgid "%1 songs found (showing %2)" msgstr "Знайдено %1 пісень (показано %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 доріжок" @@ -186,7 +181,7 @@ msgstr "По &центру" msgid "&Custom" msgstr "&Нетипово" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "Додатково" @@ -194,7 +189,7 @@ msgstr "Додатково" msgid "&Grouping" msgstr "&Групування" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Довідка" @@ -219,7 +214,7 @@ msgstr "За&фіксувати оцінку" msgid "&Lyrics" msgstr "&Текст" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "Музика" @@ -227,15 +222,15 @@ msgstr "Музика" msgid "&None" msgstr "&Немає" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "Список відтворення" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "Ви&йти" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "Режим повтору" @@ -243,7 +238,7 @@ msgstr "Режим повтору" msgid "&Right" msgstr "&Праворуч" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Режим перемішування" @@ -251,7 +246,7 @@ msgstr "Режим перемішування" msgid "&Stretch columns to fit window" msgstr "Розтягнути стовпчики відповідно вмісту вікна" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Інструменти" @@ -287,7 +282,7 @@ msgstr "0 т." msgid "1 day" msgstr "1 день" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 доріжка" @@ -431,11 +426,11 @@ msgstr "Перервати" msgid "About %1" msgstr "Про %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Про Clementine…" -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Про Qt…" @@ -445,7 +440,7 @@ msgid "Absolute" msgstr "Абсолютними" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Параметри облікового запису" @@ -499,19 +494,19 @@ msgstr "Додати інший потік…" msgid "Add directory..." msgstr "Додати теку…" -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Додати файл" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Додати файл для перекодування" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Додати файли для перекодування" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Додати файл…" @@ -519,12 +514,12 @@ msgstr "Додати файл…" msgid "Add files to transcode" msgstr "Додати файли для перекодування" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Додати теку" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Додати теку…" @@ -536,7 +531,7 @@ msgstr "Додати нову теку…" msgid "Add podcast" msgstr "Додати подкаст" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Додати подкаст..." @@ -604,10 +599,6 @@ msgstr "Додати мітку кількості пропусків" msgid "Add song title tag" msgstr "Додати мітку назви пісні" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Додати композицію до кешу" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Додати мітку номеру доріжки" @@ -616,18 +607,10 @@ msgstr "Додати мітку номеру доріжки" msgid "Add song year tag" msgstr "Додати мітку року пісні" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Додавати композиції до теки «Моя музика», якщо натиснуто кнопку «Уподобати»" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Додати потік…" -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Додати до «Моєї музики»" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Додати до списків відтворення Spotify" @@ -636,14 +619,10 @@ msgstr "Додати до списків відтворення Spotify" msgid "Add to Spotify starred" msgstr "Додати до оцінених у Spotify" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Додати до іншого списку відтворення" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Додати до закладок" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Додати до списку відтворення" @@ -653,10 +632,6 @@ msgstr "Додати до списку відтворення" msgid "Add to the queue" msgstr "Додати до черги" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "Додати користувача/групу до закладок" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Додати дію wiimotedev" @@ -694,7 +669,7 @@ msgstr "Після " msgid "After copying..." msgstr "Після копіювання…" -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -707,7 +682,7 @@ msgstr "Альбом" msgid "Album (ideal loudness for all tracks)" msgstr "Альбом (ідеальна гучність для всіх композицій)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -722,10 +697,6 @@ msgstr "Обкладинка альбому" msgid "Album info on jamendo.com..." msgstr "Дані про альбом на jamendo.com…" -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Альбоми" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Альбоми з обкладинками" @@ -738,11 +709,11 @@ msgstr "Альбоми без обкладинок" msgid "All" msgstr "Усі" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Всі файли (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Вся слава Гіпножабі!" @@ -867,7 +838,7 @@ msgid "" "the songs of your library?" msgstr "Ви справді хочете записати статистичні дані до всіх файлів композицій у вашій бібліотеці?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -876,7 +847,7 @@ msgstr "Ви справді хочете записати статистичні msgid "Artist" msgstr "Виконавець" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Про виконавця" @@ -947,7 +918,7 @@ msgstr "Середній розмір малюнку" msgid "BBC Podcasts" msgstr "Подкасти BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "Бітів за хвилину" @@ -1004,7 +975,8 @@ msgstr "Найкраще" msgid "Biography" msgstr "Біографія" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Бітова швидкість" @@ -1057,7 +1029,7 @@ msgstr "Огляд…" msgid "Buffer duration" msgstr "Місткість буфера" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Буферизація" @@ -1081,19 +1053,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Підтримка листів CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Каталог кешу:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "Кешування" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "Кешування %1" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Скасувати" @@ -1102,12 +1061,6 @@ msgstr "Скасувати" msgid "Cancel download" msgstr "Скасувати отримання даних" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Слід пройти перевірку CAPTCHA.\nСпробуйте увійти до Vk.com за допомогою вашої програми для перегляду інтернету, щоб виправити це." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Змінити обкладинку" @@ -1146,6 +1099,10 @@ msgid "" "songs" msgstr "Зміни, внесені до параметрів монофонічного відтворення, набудуть чинності лише для наступних композицій" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Перевіряти наявність нових випусків" @@ -1154,19 +1111,15 @@ msgstr "Перевіряти наявність нових випусків" msgid "Check for updates" msgstr "Перевірити наявність оновлень" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Перевірити оновлення…" -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Виберіть каталог кешування даних Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Оберіть ім’я для вашого розумного списку відтворення" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Вибрати автоматично" @@ -1212,13 +1165,13 @@ msgstr "Вичищаю" msgid "Clear" msgstr "Очистити" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Очистити список відтворення" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1351,24 +1304,20 @@ msgstr "Кольори" msgid "Comma separated list of class:level, level is 0-3" msgstr "Список, розділений комами, виду клас:рівень, рівень може бути від 0 до 3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Коментар" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "Громадське радіо" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Заповнити мітки автоматично" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Заповнити мітки автоматично…" -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1399,15 +1348,11 @@ msgstr "Налаштування Spotify…" msgid "Configure Subsonic..." msgstr "Налаштувати Subsonic…" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Налаштувати Vk.com…" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Налаштувати загальні правила пошуку…" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Налаштувати фонотеку" @@ -1441,16 +1386,16 @@ msgid "" "http://localhost:4040/" msgstr "Сервер відмовив у з’єднанні. Переконайтеся, що адресу сервера вказано правильно. Приклад: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Вичерпано строк очікування на з’єднання. Переконайтеся, що адресу сервера вказано правильно. Приклад: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Проблеми зі з’єднанням або надсилання звукових даних вимкнено власником" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Консоль" @@ -1474,20 +1419,16 @@ msgstr "Перетворювати звукові файли у форматах msgid "Convert lossless files" msgstr "Перетворювати файли, стиснені без втрати якості" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Копіювати адресу оприлюднення до буфера" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Копіювати до буфера" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Копіювати до пристрою…" -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Скопіювати до фонотеки…" @@ -1509,6 +1450,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Не вдалось створити елемент GStreamer \"%1\" - переконайтесь, що всі потрібні для GStreamer модулі встановлені" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Не вдалося створити список відтворення" @@ -1535,7 +1485,7 @@ msgstr "Не вдалось відкрити вихідний файл %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Менеджер обкладинок" @@ -1621,11 +1571,11 @@ msgid "" "recover your database" msgstr "Виявлено пошкодження бази даних. Будь ласка, ознайомтеся з даними на сторінці https://github.com/clementine-player/Clementine/wiki/Database-Corruption , щоб дізнатися більше про способи відновлення вашої бази даних." -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Дата створення" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Дата зміни" @@ -1653,7 +1603,7 @@ msgstr "Зменшити гучність" msgid "Default background image" msgstr "Типове зображення тла" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "Типовий пристрій у %1" @@ -1676,7 +1626,7 @@ msgid "Delete downloaded data" msgstr "Видалити завантажені дані" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Вилучити файли" @@ -1684,7 +1634,7 @@ msgstr "Вилучити файли" msgid "Delete from device..." msgstr "Вилучити з пристрою…" -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Вилучити з диска…" @@ -1709,11 +1659,15 @@ msgstr "Вилучити оригінальні файли" msgid "Deleting files" msgstr "Вилучення файлів" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Вилучити з черги вибрані доріжки" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Вилучити з черги доріжки" @@ -1742,11 +1696,11 @@ msgstr "Назва пристрою" msgid "Device properties..." msgstr "Налаштування пристрою…" -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Пристрої" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Діалогове вікно" @@ -1793,7 +1747,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Вимкнено" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1814,7 +1768,7 @@ msgstr "Налаштування відображення" msgid "Display the on-screen-display" msgstr "Показувати екранні повідомлення" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Повторити повне сканування фонотеки" @@ -1985,12 +1939,12 @@ msgstr "Динамічний випадковий мікс" msgid "Edit smart playlist..." msgstr "Редагувати розумний список відтворення…" -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Змінити «%1»…" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Редагувати мітку…" @@ -2003,7 +1957,7 @@ msgid "Edit track information" msgstr "Редагувати дані доріжки" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Редагувати дані про доріжку…" @@ -2023,10 +1977,6 @@ msgstr "Ел. пошта" msgid "Enable Wii Remote support" msgstr "Увімкнути підтримку Wii Remote" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "Увімкнути автоматичне кешування" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Увімкнути еквалайзер" @@ -2111,7 +2061,7 @@ msgstr "Вкажіть цю IP-адресу у програмі для вста msgid "Entire collection" msgstr "Вся фонотека" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Еквалайзер" @@ -2124,8 +2074,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Відповідає --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Помилка" @@ -2145,6 +2095,11 @@ msgstr "Помилка копіювання композицій" msgid "Error deleting songs" msgstr "Помилка вилучення композицій" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Помилка завантаження модуля Spotify" @@ -2265,7 +2220,7 @@ msgstr "Згасання" msgid "Fading duration" msgstr "Тривалість згасання" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Не вдалося виконати читання з простою читання компакт-дисків" @@ -2344,27 +2299,23 @@ msgstr "Розширення файлу" msgid "File formats" msgstr "Формати файлів" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Назва файлу" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Назва файлу (без шляху)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Зразок назви файла:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Шляхи до файлів" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Розмір файлу" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2374,7 +2325,7 @@ msgstr "Тип файлу" msgid "Filename" msgstr "Назва файлу" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Файли" @@ -2386,10 +2337,6 @@ msgstr "Файли для перекодування" msgid "Find songs in your library that match the criteria you specify." msgstr "Знайти композиції у фонотеці, що відповідають вказаним вами критеріям." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Знайти цього виконавця" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Роблю відбиток пісні" @@ -2458,6 +2405,7 @@ msgid "Form" msgstr "Форма" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Формат" @@ -2494,7 +2442,7 @@ msgstr "Повні верхи" msgid "Ge&nre" msgstr "&Жанр" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Загальне" @@ -2502,7 +2450,7 @@ msgstr "Загальне" msgid "General settings" msgstr "Загальні налаштування" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2535,11 +2483,11 @@ msgstr "Дати назву:" msgid "Go" msgstr "Вперед" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "До наступної вкладки списку відтворення" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "До попередньої вкладки списку відтворення" @@ -2593,7 +2541,7 @@ msgstr "Групувати за жанром/альбомом" msgid "Group by Genre/Artist/Album" msgstr "Групувати за жанром/Виконавцем/альбомом" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2783,11 +2731,11 @@ msgstr "Встановлено" msgid "Integrity check" msgstr "Перевірка цілісності даних" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Інтернет" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Інтернет-джерела" @@ -2804,6 +2752,10 @@ msgstr "Вступні композиції" msgid "Invalid API key" msgstr "Неправильний ключ API" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Не чинний формат" @@ -2860,7 +2812,7 @@ msgstr "База даних Jamendo" msgid "Jump to previous song right away" msgstr "Перейти до попередньої композиції негайно" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Перейти до відтворюваної доріжки" @@ -2884,7 +2836,7 @@ msgstr "Продовжувати виконання у фоні коли вік msgid "Keep the original files" msgstr "Зберегти оригінальні файли" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Кошенята" @@ -2925,7 +2877,7 @@ msgstr "Велика бічна панель" msgid "Last played" msgstr "Востаннє відтворено" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Останні відтворені" @@ -2966,12 +2918,12 @@ msgstr "Найменш улюблені композиції" msgid "Left" msgstr "Ліворуч" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Тривалість" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Фонотека" @@ -2980,7 +2932,7 @@ msgstr "Фонотека" msgid "Library advanced grouping" msgstr "Розширене групування фонотеки" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Повідомлення про повторне сканування фонотеки" @@ -3020,7 +2972,7 @@ msgstr "Завантажити обкладинку з диска" msgid "Load playlist" msgstr "Завантажити список відтворення" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Завантажити список відтворення…" @@ -3056,8 +3008,7 @@ msgstr "Завантажую дані доріжок" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Завантаження…" @@ -3066,7 +3017,6 @@ msgstr "Завантаження…" msgid "Loads files/URLs, replacing current playlist" msgstr "Завантажити файли/адреси, замінюючи поточний список відтворення" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3076,8 +3026,7 @@ msgstr "Завантажити файли/адреси, замінюючи по #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Увійти" @@ -3085,15 +3034,11 @@ msgstr "Увійти" msgid "Login failed" msgstr "Не вдалося увійти" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Вийти" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Профіль довготривалого передбачення (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Додати до улюблених" @@ -3174,7 +3119,7 @@ msgstr "Основний профіль (MAIN)" msgid "Make it so!" msgstr "Гаразд!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "Гаразд!" @@ -3220,10 +3165,6 @@ msgstr "Враховувати кожний пошуковий термін (AND msgid "Match one or more search terms (OR)" msgstr "Враховувати один чи більше пошукових термінів (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Максимальна кількість результатів загального пошуку" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Найбільша бітова швидкість" @@ -3254,6 +3195,10 @@ msgstr "Найменша бітова швидкість" msgid "Minimum buffer fill" msgstr "Мінімальне заповнення буфера" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Відсутні типові налаштування projectM" @@ -3274,7 +3219,7 @@ msgstr "Відтворення у режимі моно" msgid "Months" msgstr "Місяців" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Настрій" @@ -3287,10 +3232,6 @@ msgstr "Стиль смужки настрою" msgid "Moodbars" msgstr "Смужки настрою" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Більше" - #: library/library.cpp:84 msgid "Most played" msgstr "Найчастіше відтворювані" @@ -3308,7 +3249,7 @@ msgstr "Точки монтування" msgid "Move down" msgstr "Перемістити вниз" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Перемістити до фонотеки…" @@ -3317,8 +3258,7 @@ msgstr "Перемістити до фонотеки…" msgid "Move up" msgstr "Перемістити вгору" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Музика" @@ -3327,22 +3267,10 @@ msgid "Music Library" msgstr "Фонотека" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Вимкнути звук" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Альбоми" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Моя музика" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Мої рекомендації" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3388,7 +3316,7 @@ msgstr "Ніколи не починати відтворення" msgid "New folder" msgstr "Нова тека" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Новий список відтворення" @@ -3417,7 +3345,7 @@ msgid "Next" msgstr "Наступна" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Наступна доріжка" @@ -3455,7 +3383,7 @@ msgstr "Без коротких блоків" msgid "None" msgstr "Немає" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Жодна з вибраних композицій не придатна для копіювання на пристрій" @@ -3504,10 +3432,6 @@ msgstr "Вхід не здійснено" msgid "Not mounted - double click to mount" msgstr "Не змонтовано — двічі клацніть, щоб змонтувати" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Нічого не знайдено" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Тип повідомлення" @@ -3589,7 +3513,7 @@ msgstr "Непрозорість" msgid "Open %1 in browser" msgstr "Відкрити %1 у переглядачі" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Відкрити &аудіо CD…" @@ -3609,7 +3533,7 @@ msgstr "Відкрити каталог для імпортування музи msgid "Open device" msgstr "Відкрити пристрій" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Відкрити файл…" @@ -3663,7 +3587,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Упорядкування файлів" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Упорядкування файлів…" @@ -3675,7 +3599,7 @@ msgstr "Упорядкування файлів" msgid "Original tags" msgstr "Початкові мітки" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3743,7 +3667,7 @@ msgstr "Вечірка" msgid "Password" msgstr "Пароль" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Призупинити" @@ -3756,7 +3680,7 @@ msgstr "Призупинити відтворення" msgid "Paused" msgstr "Призупинено" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3771,14 +3695,14 @@ msgstr "Піксель" msgid "Plain sidebar" msgstr "Звичайна бічна панель" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Відтворити" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Кількість відтворень" @@ -3809,7 +3733,7 @@ msgstr "Налаштування програвача" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Список відтворення" @@ -3826,7 +3750,7 @@ msgstr "Налаштування списку відтворення" msgid "Playlist type" msgstr "Тип списку відтворення" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Списки відтворення" @@ -3867,11 +3791,11 @@ msgstr "Пріоритет" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Параметри" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Параметри…" @@ -3931,7 +3855,7 @@ msgid "Previous" msgstr "Попередня" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Попередня доріжка" @@ -3982,16 +3906,16 @@ msgstr "Якість" msgid "Querying device..." msgstr "Опитування пристрою…" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Керування чергою" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Поставити в чергу вибрані доріжки" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Поставити в чергу доріжки" @@ -4003,7 +3927,7 @@ msgstr "Радіо (однакова гучність всіх композиц msgid "Rain" msgstr "Дощ" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Дощ" @@ -4040,7 +3964,7 @@ msgstr "Поставити поточній композиції чотири з msgid "Rate the current song 5 stars" msgstr "Поставити поточній композиції п’ять зірочок" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Оцінка" @@ -4107,7 +4031,7 @@ msgstr "Вилучити" msgid "Remove action" msgstr "Вилучити дію" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Вилучити повтори зі списку відтворення" @@ -4115,15 +4039,7 @@ msgstr "Вилучити повтори зі списку відтворення msgid "Remove folder" msgstr "Вилучити теку" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Вилучити з теки Моя музика" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Вилучити із закладок" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Вилучити зі списку відтворення" @@ -4135,7 +4051,7 @@ msgstr "Вилучення списку відтворення" msgid "Remove playlists" msgstr "Вилучення списків відтворення" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Вилучити недоступні композиції зі списку відтворення" @@ -4147,7 +4063,7 @@ msgstr "Перейменувати список відтворення" msgid "Rename playlist..." msgstr "Перейменувати список відтворення…" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Пронумерувати доріжки в такому порядку…" @@ -4197,7 +4113,7 @@ msgstr "Знов наповнити" msgid "Require authentication code" msgstr "Потрібен код розпізнавання" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Скинути" @@ -4238,7 +4154,7 @@ msgstr "Оцифрувати" msgid "Rip CD" msgstr "Оцифрувати КД" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Оцифрувати звуковий КД" @@ -4268,8 +4184,9 @@ msgstr "Безпечно вилучити пристрій" msgid "Safely remove the device after copying" msgstr "Безпечне вилучення пристрою після копіювання" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Частота вибірки" @@ -4307,7 +4224,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Збереження списку відтворення" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Зберегти список відтворення…" @@ -4347,7 +4264,7 @@ msgstr "Профіль масштабованої частоти вибірки msgid "Scale size" msgstr "Масштабований розмір" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Рахунок" @@ -4364,12 +4281,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Пошук" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Пошук" @@ -4512,7 +4429,7 @@ msgstr "Параметри сервера" msgid "Service offline" msgstr "Служба вимкнена" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Встановити %1 до \"%2\"…" @@ -4521,7 +4438,7 @@ msgstr "Встановити %1 до \"%2\"…" msgid "Set the volume to percent" msgstr "Встановити гучність до відсотків" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Встановити значення для всіх вибраних доріжок…" @@ -4588,7 +4505,7 @@ msgstr "Показувати приємні повідомлення OSD" msgid "Show above status bar" msgstr "Показати вище, в рядку стану" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Показати всі композиції" @@ -4608,16 +4525,12 @@ msgstr "Показати розділювачі" msgid "Show fullsize..." msgstr "Показати на повний розмір…" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "Показувати групи у результатах загального пошуку" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Показати в оглядачі файлів…" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Показати у фонотеці…" @@ -4629,27 +4542,23 @@ msgstr "Показувати в різних виконавцях" msgid "Show moodbar" msgstr "Показувати смужку настрою" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Показати тільки дублікати" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Показати тільки без міток" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "Показати або приховати бічну панель" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Показувати відтворювану композицію на вашій сторінці" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Показувати пропозиції щодо пошуку" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "Показувати бічну панель" @@ -4685,7 +4594,7 @@ msgstr "Перемішати альбоми" msgid "Shuffle all" msgstr "Перемішати все" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Перемішати список відтворення" @@ -4721,7 +4630,7 @@ msgstr "Ска" msgid "Skip backwards in playlist" msgstr "Перескочити назад в списку композицій" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Кількість пропусків" @@ -4729,11 +4638,11 @@ msgstr "Кількість пропусків" msgid "Skip forwards in playlist" msgstr "Перескочити вперед у списку композицій" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Пропустити позначені композиції" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Пропустити композицію" @@ -4765,7 +4674,7 @@ msgstr "Легкий рок" msgid "Song Information" msgstr "Про композицію" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Про композицію" @@ -4801,7 +4710,7 @@ msgstr "Сортування" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Джерело" @@ -4876,7 +4785,7 @@ msgid "Starting..." msgstr "Запуск…" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Зупинити" @@ -4892,7 +4801,7 @@ msgstr "Зупинятися після кожної композиції" msgid "Stop after every track" msgstr "Зупинятися після будь-якої композиції" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Зупинити після цієї доріжки" @@ -4921,6 +4830,10 @@ msgstr "Зупинено" msgid "Stream" msgstr "Потік" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5030,6 +4943,10 @@ msgstr "Обкладинка альбому, до якого увійшла ко msgid "The directory %1 is not valid" msgstr "Тека %1 не чинна" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Друге значення має бути більшим за перше!" @@ -5048,7 +4965,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Час тестування сервера Subsonic завершено. Будь ласка, придбайте ліцензійний ключ. Відвідайте subsonic.org, щоб дізнатися більше." -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5090,7 +5007,7 @@ msgid "" "continue?" msgstr "Ці файли будуть вилучені з пристрою. Ви впевнені? Вилучити їх?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5174,7 +5091,7 @@ msgstr "Цей тип пристрою не підтримується: %1" msgid "Time step" msgstr "Крок за часом" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5193,11 +5110,11 @@ msgstr "Змінити режим приємних OSD" msgid "Toggle fullscreen" msgstr "Повноекранний режим" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Перемикнути статус черги" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Змінити режим скроблінгу" @@ -5237,7 +5154,7 @@ msgstr "Всього зроблено запитів до мережі" msgid "Trac&k" msgstr "Ко&мпозиція" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Доріжка" @@ -5246,7 +5163,7 @@ msgstr "Доріжка" msgid "Tracks" msgstr "Композиції" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Перекодування музики" @@ -5283,6 +5200,10 @@ msgstr "Вимкнути" msgid "URI" msgstr "Адреса" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "Адреса(и)" @@ -5308,9 +5229,9 @@ msgstr "Не вдалось завантажити %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Невідомо" @@ -5327,11 +5248,11 @@ msgstr "Невідома помилка" msgid "Unset cover" msgstr "Вилучити обкладинку" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Не пропускати позначені композиції" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Не пропускати композицію" @@ -5344,15 +5265,11 @@ msgstr "Відписатися" msgid "Upcoming Concerts" msgstr "Найближчі виступи" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Оновити" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Оновити всі подкасти" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Оновити змінені теки у фонотеці" @@ -5462,7 +5379,7 @@ msgstr "Використати нормалізацію гучності" msgid "Used" msgstr "Використано" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Інтерфейс користувача" @@ -5488,7 +5405,7 @@ msgid "Variable bit rate" msgstr "Змінна бітова швидкість" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Різні виконавці" @@ -5501,11 +5418,15 @@ msgstr "Версія %1" msgid "View" msgstr "Перегляд" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Режим візуалізації" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Візуалізації" @@ -5513,10 +5434,6 @@ msgstr "Візуалізації" msgid "Visualizations Settings" msgstr "Налаштування візуалізацій" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Визначення голосової активності" @@ -5539,10 +5456,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Стіна" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Попереджати про закриття вкладки списку відтворення" @@ -5645,7 +5558,7 @@ msgid "" "well?" msgstr "Хочете пересунути всі ініші композиції цього альбому до розділу «Різні виконавці»?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Бажаєте зараз виконати повторне сканування фонотеки?" @@ -5661,7 +5574,7 @@ msgstr "Записати метадані" msgid "Wrong username or password." msgstr "Помилкове ім’я користувача або пароль." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/uz.po b/src/translations/uz.po index 542772686..ec839aa35 100644 --- a/src/translations/uz.po +++ b/src/translations/uz.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Uzbek (http://www.transifex.com/davidsansome/clementine/language/uz/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -64,11 +64,6 @@ msgstr "soniya" msgid " songs" msgstr "qo'shiq" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -100,7 +95,7 @@ msgstr "%1 %2'da" msgid "%1 playlists (%2)" msgstr "%1 pleylist (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 tanlangan" @@ -125,7 +120,7 @@ msgstr "%1 qo'shiq topildi" msgid "%1 songs found (showing %2)" msgstr "%1 qo'shiq topildi (ko'rsatildi %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 trek" @@ -185,7 +180,7 @@ msgstr "&Markaz" msgid "&Custom" msgstr "&Boshqa" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Extras" @@ -193,7 +188,7 @@ msgstr "&Extras" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "&Yordam" @@ -218,7 +213,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Musiqa" @@ -226,15 +221,15 @@ msgstr "&Musiqa" msgid "&None" msgstr "&Yo'q" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Pleylist" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "&Chiqish" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Takrorlash" @@ -242,7 +237,7 @@ msgstr "&Takrorlash" msgid "&Right" msgstr "&O'ng" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "&Tasodifan" @@ -250,7 +245,7 @@ msgstr "&Tasodifan" msgid "&Stretch columns to fit window" msgstr "&Ustunlarni oynaga moslash" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Vositalar" @@ -286,7 +281,7 @@ msgstr "0px" msgid "1 day" msgstr "1 kun" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 trek" @@ -430,11 +425,11 @@ msgstr "" msgid "About %1" msgstr "%1 haqida" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Clementine haqida..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Qt haqida..." @@ -444,7 +439,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Hisob tafsilotlari" @@ -498,19 +493,19 @@ msgstr "Boshqa to'lqinni qo'shish..." msgid "Add directory..." msgstr "Jild qo'shish..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Fayl qo'shish" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Fayl qo'shish..." @@ -518,12 +513,12 @@ msgstr "Fayl qo'shish..." msgid "Add files to transcode" msgstr "Transkodlash uchun fayllar qo'shish" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Jild qo'shish" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Jild qo'shish..." @@ -535,7 +530,7 @@ msgstr "Yangi jild qo'shish..." msgid "Add podcast" msgstr "Podcast qo'shish" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Podcast qo'shish..." @@ -603,10 +598,6 @@ msgstr "Qo'shiq o'tkazib yuborishlar soni tegini qo'shish" msgid "Add song title tag" msgstr "Qo'shiq nomi tegini qo'shish" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Qo'shiq treki tegini qo'shish" @@ -615,18 +606,10 @@ msgstr "Qo'shiq treki tegini qo'shish" msgid "Add song year tag" msgstr "Qo'shiq yili tegini qo'shish" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "To'lqinni qo'shish..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -635,14 +618,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Boshqa pleylistga qo'shish" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Pleylistga qo'shish" @@ -652,10 +631,6 @@ msgstr "Pleylistga qo'shish" msgid "Add to the queue" msgstr "Navbatga qo'shish" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Wiimotedev amalini qo'shish" @@ -693,7 +668,7 @@ msgstr "Keyin" msgid "After copying..." msgstr "Nusxa olgandan keyin..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -706,7 +681,7 @@ msgstr "Albom" msgid "Album (ideal loudness for all tracks)" msgstr "Albom (hamma treklar uchun ideal ovoz balandligi)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -721,10 +696,6 @@ msgstr "Albom rasmi" msgid "Album info on jamendo.com..." msgstr "jamendo.com sahifasida albom haqida ma'lumot..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Rasmli albomlar" @@ -737,11 +708,11 @@ msgstr "Rasmsiz albomlar" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Hamma fayllar (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -866,7 +837,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -875,7 +846,7 @@ msgstr "" msgid "Artist" msgstr "Artist" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Artist haqida ma'lumot" @@ -946,7 +917,7 @@ msgstr "O'rtacha rasm o'lchami" msgid "BBC Podcasts" msgstr "BBC Podcasts" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1003,7 +974,8 @@ msgstr "Zo'r" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bitreyt" @@ -1056,7 +1028,7 @@ msgstr "Ko'rib chiqish..." msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Buferizatsiya" @@ -1080,19 +1052,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE sheet qo'llash" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Bekor qilish" @@ -1101,12 +1060,6 @@ msgstr "Bekor qilish" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Albom rasmini o'zgartirish" @@ -1145,6 +1098,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Yangi epizodlarni tekshirish" @@ -1153,19 +1110,15 @@ msgstr "Yangi epizodlarni tekshirish" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Yangilanishlarni tekshirish..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Aqlli pleylist nomini tanlang" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Avtomatik ravishda tanlash" @@ -1211,13 +1164,13 @@ msgstr "Tozalanmoqda" msgid "Clear" msgstr "Tozalash" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Pleylistni tozalash" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1350,24 +1303,20 @@ msgstr "Ranglar" msgid "Comma separated list of class:level, level is 0-3" msgstr "" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Izoh" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Teglarni avtomatik ravishda yakunlash" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Teglarni avtomatik ravishda yakunlash..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1398,15 +1347,11 @@ msgstr "Spotify moslash..." msgid "Configure Subsonic..." msgstr "" -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Kutubxonani sozlash..." @@ -1440,16 +1385,16 @@ msgid "" "http://localhost:4040/" msgstr "" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Konsol" @@ -1473,20 +1418,16 @@ msgstr "" msgid "Convert lossless files" msgstr "" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Klipbordga nusxa olish" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Uskunaga nusxa olish..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Kutubxonaga nusxa ko'chirish..." @@ -1508,6 +1449,15 @@ msgid "" "required GStreamer plugins installed" msgstr "" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1534,7 +1484,7 @@ msgstr "" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Albom rasmi boshqaruvchisi" @@ -1620,11 +1570,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Yaratilgan sanasi" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "O'zgartirilgan sanasi" @@ -1652,7 +1602,7 @@ msgstr "Ovoz balandligini kamaytirish" msgid "Default background image" msgstr "Orqa fon andoza rasmi" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1675,7 +1625,7 @@ msgid "Delete downloaded data" msgstr "Yuklab olingan ma'lumotni o'chirish" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Fayllarni o'chirish" @@ -1683,7 +1633,7 @@ msgstr "Fayllarni o'chirish" msgid "Delete from device..." msgstr "Uskunadan o'chirish..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Diskdan o'chirish..." @@ -1708,11 +1658,15 @@ msgstr "Asl faylini o'chirish" msgid "Deleting files" msgstr "Fayllar o'chirilmoqda" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "" @@ -1741,11 +1695,11 @@ msgstr "Uskuna nomi" msgid "Device properties..." msgstr "Uskuna hossalari..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Uskunalar" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1792,7 +1746,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1813,7 +1767,7 @@ msgstr "Ko'rsatish parametrlari" msgid "Display the on-screen-display" msgstr "" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "" @@ -1984,12 +1938,12 @@ msgstr "" msgid "Edit smart playlist..." msgstr "Smart ijro ro'yxatini tahrirlash..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Tegni tahrirlash..." @@ -2002,7 +1956,7 @@ msgid "Edit track information" msgstr "Trek ma'lumotini tahrirlash" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Trek ma'lumotini tahrirlash..." @@ -2022,10 +1976,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "Wii Remote qo'llab-quvvatlashini yoqish" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Ekvalayzer yoqish" @@ -2110,7 +2060,7 @@ msgstr "" msgid "Entire collection" msgstr "" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Ekvalayzer" @@ -2123,8 +2073,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Xato" @@ -2144,6 +2094,11 @@ msgstr "Qo'shiqlar nusxa olinganda xato ro'y berdi" msgid "Error deleting songs" msgstr "Qo'shiqlarni o'chirganda xato ro'y berdi" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Spotify plaginini yuklab olganda xato ro'y berdi" @@ -2264,7 +2219,7 @@ msgstr "" msgid "Fading duration" msgstr "" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2343,27 +2298,23 @@ msgstr "" msgid "File formats" msgstr "Fayl formatlari" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Fayl nomi" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Fayl hajmi" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2373,7 +2324,7 @@ msgstr "Fayl turi" msgid "Filename" msgstr "Fayl nomi" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Fayllar" @@ -2385,10 +2336,6 @@ msgstr "Transkodlash uchun fayllar" msgid "Find songs in your library that match the criteria you specify." msgstr "" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "" @@ -2457,6 +2404,7 @@ msgid "Form" msgstr "" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "" @@ -2493,7 +2441,7 @@ msgstr "Full Treble" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Umumiy" @@ -2501,7 +2449,7 @@ msgstr "Umumiy" msgid "General settings" msgstr "Umumiy moslamalar" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2534,11 +2482,11 @@ msgstr "" msgid "Go" msgstr "O'tish" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "" @@ -2592,7 +2540,7 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2782,11 +2730,11 @@ msgstr "O'rnatilgan" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Internet provayderlari" @@ -2803,6 +2751,10 @@ msgstr "" msgid "Invalid API key" msgstr "API kaliti haqiqiy emas" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Format haqiqiy emas" @@ -2859,7 +2811,7 @@ msgstr "Jamendo ma'lumot bazasi" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "" @@ -2883,7 +2835,7 @@ msgstr "" msgid "Keep the original files" msgstr "" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2924,7 +2876,7 @@ msgstr "" msgid "Last played" msgstr "" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2965,12 +2917,12 @@ msgstr "" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Uzunligi" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Kutubxona" @@ -2979,7 +2931,7 @@ msgstr "Kutubxona" msgid "Library advanced grouping" msgstr "" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "" @@ -3019,7 +2971,7 @@ msgstr "Albom rasmini diskdan yuklash..." msgid "Load playlist" msgstr "Pleylistni yuklash" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Pleylistni yuklash..." @@ -3055,8 +3007,7 @@ msgstr "Treklar haqida ma'lumot yuklanmoqda" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Yuklanmoqda..." @@ -3065,7 +3016,6 @@ msgstr "Yuklanmoqda..." msgid "Loads files/URLs, replacing current playlist" msgstr "" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3075,8 +3025,7 @@ msgstr "" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Kirish" @@ -3084,15 +3033,11 @@ msgstr "Kirish" msgid "Login failed" msgstr "Kirish muvaffaqiyatsiz tugadi" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "" @@ -3173,7 +3118,7 @@ msgstr "" msgid "Make it so!" msgstr "Shunday qilinsin!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3219,10 +3164,6 @@ msgstr "" msgid "Match one or more search terms (OR)" msgstr "" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "" @@ -3253,6 +3194,10 @@ msgstr "" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "" @@ -3273,7 +3218,7 @@ msgstr "" msgid "Months" msgstr "" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3286,10 +3231,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "" @@ -3307,7 +3248,7 @@ msgstr "" msgid "Move down" msgstr "" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "" @@ -3316,8 +3257,7 @@ msgstr "" msgid "Move up" msgstr "" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Musiqa" @@ -3326,22 +3266,10 @@ msgid "Music Library" msgstr "" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Mening musiqam" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3387,7 +3315,7 @@ msgstr "" msgid "New folder" msgstr "Yangi jild" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Yangi pleylist" @@ -3416,7 +3344,7 @@ msgid "Next" msgstr "Keyingi" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Keyingi trek" @@ -3454,7 +3382,7 @@ msgstr "" msgid "None" msgstr "Yo'q" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "" @@ -3503,10 +3431,6 @@ msgstr "" msgid "Not mounted - double click to mount" msgstr "Ulanmagan - ulash uchun ikki marta bosing" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "" @@ -3588,7 +3512,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "%1 brauzerda ochish" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "&Audio CD ochish..." @@ -3608,7 +3532,7 @@ msgstr "" msgid "Open device" msgstr "Uskunani ochish" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Failni ochish..." @@ -3662,7 +3586,7 @@ msgstr "" msgid "Organise Files" msgstr "Fayllarni boshqarish" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Fayllarni boshqarish..." @@ -3674,7 +3598,7 @@ msgstr "Fayllarni tashkillashtirish" msgid "Original tags" msgstr "Asl teglar" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3742,7 +3666,7 @@ msgstr "" msgid "Password" msgstr "Maxfiy so'z" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "" @@ -3755,7 +3679,7 @@ msgstr "" msgid "Paused" msgstr "" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3770,14 +3694,14 @@ msgstr "" msgid "Plain sidebar" msgstr "" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "" @@ -3808,7 +3732,7 @@ msgstr "Pleyer parametrlari" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Pleylist" @@ -3825,7 +3749,7 @@ msgstr "Pleylist parametrlari" msgid "Playlist type" msgstr "Pleylist turi" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Pleylistlar" @@ -3866,11 +3790,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Moslamalar" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Moslamalar..." @@ -3930,7 +3854,7 @@ msgid "Previous" msgstr "Oldingi" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Oldingi trek" @@ -3981,16 +3905,16 @@ msgstr "" msgid "Querying device..." msgstr "" -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "" @@ -4002,7 +3926,7 @@ msgstr "" msgid "Rain" msgstr "" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4039,7 +3963,7 @@ msgstr "Joriy qo'shiqni baholash 4 yulduz" msgid "Rate the current song 5 stars" msgstr "Joriy qo'shiqni baholash 5 yulduz" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Baho" @@ -4106,7 +4030,7 @@ msgstr "" msgid "Remove action" msgstr "" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "" @@ -4114,15 +4038,7 @@ msgstr "" msgid "Remove folder" msgstr "" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Mening musiqamdan o'chirish" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "" @@ -4134,7 +4050,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4146,7 +4062,7 @@ msgstr "" msgid "Rename playlist..." msgstr "" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "" @@ -4196,7 +4112,7 @@ msgstr "" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "" @@ -4237,7 +4153,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4267,8 +4183,9 @@ msgstr "" msgid "Safely remove the device after copying" msgstr "" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "" @@ -4306,7 +4223,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Pleylistni saqlash..." @@ -4346,7 +4263,7 @@ msgstr "" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "" @@ -4363,12 +4280,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Qidirish" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4511,7 +4428,7 @@ msgstr "" msgid "Service offline" msgstr "" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "" @@ -4520,7 +4437,7 @@ msgstr "" msgid "Set the volume to percent" msgstr "" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "" @@ -4587,7 +4504,7 @@ msgstr "" msgid "Show above status bar" msgstr "" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Hamma qo'shiqlarni ko'rsatish" @@ -4607,16 +4524,12 @@ msgstr "" msgid "Show fullsize..." msgstr "" -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "" -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4628,27 +4541,23 @@ msgstr "" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4684,7 +4593,7 @@ msgstr "" msgid "Shuffle all" msgstr "" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "" @@ -4720,7 +4629,7 @@ msgstr "" msgid "Skip backwards in playlist" msgstr "" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "" @@ -4728,11 +4637,11 @@ msgstr "" msgid "Skip forwards in playlist" msgstr "" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4764,7 +4673,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Qo'shiq haqida ma'lumot" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Qo'shiq haqida ma'lumot" @@ -4800,7 +4709,7 @@ msgstr "" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Manba" @@ -4875,7 +4784,7 @@ msgid "Starting..." msgstr "" #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "" @@ -4891,7 +4800,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "" @@ -4920,6 +4829,10 @@ msgstr "" msgid "Stream" msgstr "To'lqin" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5029,6 +4942,10 @@ msgstr "" msgid "The directory %1 is not valid" msgstr "%1 direktoriyasi haqiqiy emas" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "" @@ -5047,7 +4964,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5089,7 +5006,7 @@ msgid "" "continue?" msgstr "" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5173,7 +5090,7 @@ msgstr "" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5192,11 +5109,11 @@ msgstr "" msgid "Toggle fullscreen" msgstr "" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "" @@ -5236,7 +5153,7 @@ msgstr "" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Trek" @@ -5245,7 +5162,7 @@ msgstr "Trek" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Musiqani transkodlash" @@ -5282,6 +5199,10 @@ msgstr "" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(lar)" @@ -5307,9 +5228,9 @@ msgstr "%1 (%2) yuklab olib bo'lmadi" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Noma'lum" @@ -5326,11 +5247,11 @@ msgstr "Noma'lum xato" msgid "Unset cover" msgstr "" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5343,15 +5264,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "" @@ -5461,7 +5378,7 @@ msgstr "" msgid "Used" msgstr "" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Foydalanuvchi interfeysi" @@ -5487,7 +5404,7 @@ msgid "Variable bit rate" msgstr "" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "" @@ -5500,11 +5417,15 @@ msgstr "Versiya %1" msgid "View" msgstr "Ko'rish" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Vizualizatsiya usuli" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Vizualizatsiyalar" @@ -5512,10 +5433,6 @@ msgstr "Vizualizatsiyalar" msgid "Visualizations Settings" msgstr "Vizualizatsiya moslamalari" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "" @@ -5538,10 +5455,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5644,7 +5557,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "" @@ -5660,7 +5573,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/vi.po b/src/translations/vi.po index 45efd742c..e6594bad6 100644 --- a/src/translations/vi.po +++ b/src/translations/vi.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Vietnamese (http://www.transifex.com/davidsansome/clementine/language/vi/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -68,11 +68,6 @@ msgstr " giây" msgid " songs" msgstr " bài hát" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 bài hát)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -104,7 +99,7 @@ msgstr "%1 trên %2" msgid "%1 playlists (%2)" msgstr "Danh sách %1 (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 chọn" @@ -129,7 +124,7 @@ msgstr "Đã tìm thấy %1 bài hát" msgid "%1 songs found (showing %2)" msgstr "Đã tìm thấy %1 bài hát (đang hiện %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 bài" @@ -189,7 +184,7 @@ msgstr "&Giữa" msgid "&Custom" msgstr "&Tùy chọn" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "&Hiệu ứng" @@ -197,7 +192,7 @@ msgstr "&Hiệu ứng" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "Trợ &giúp" @@ -222,7 +217,7 @@ msgstr "&Khoá đánh giá" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "&Nhạc" @@ -230,15 +225,15 @@ msgstr "&Nhạc" msgid "&None" msgstr "&Không" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "&Danh sách" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "T&hoát" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "&Chế độ lặp lại" @@ -246,7 +241,7 @@ msgstr "&Chế độ lặp lại" msgid "&Right" msgstr "&Phải" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "Chế độ phát n&gẫu nhiên" @@ -254,7 +249,7 @@ msgstr "Chế độ phát n&gẫu nhiên" msgid "&Stretch columns to fit window" msgstr "Căng các cột ra cho &vừa với cửa sổ" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "&Công cụ" @@ -290,7 +285,7 @@ msgstr "0 điểm ảnh" msgid "1 day" msgstr "1 ngày" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 bài" @@ -434,11 +429,11 @@ msgstr "Huỷ bỏ" msgid "About %1" msgstr "Giới thiệu %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "Giới thiệu Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "Giới thiệu Qt..." @@ -448,7 +443,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "Chi tiết tài khoản" @@ -502,19 +497,19 @@ msgstr "Thêm luồng dữ liệu khác..." msgid "Add directory..." msgstr "Thêm thư mục..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "Thêm tập tin" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "Thêm tập tin vào bộ chuyển mã" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "Thêm (các) tập tin vào bộ chuyển mã" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "Thêm tập tin..." @@ -522,12 +517,12 @@ msgstr "Thêm tập tin..." msgid "Add files to transcode" msgstr "Thêm các tập tin để chuyển mã" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "Thêm thư mục" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "Thêm thư mục..." @@ -539,7 +534,7 @@ msgstr "Thêm thư mục mới..." msgid "Add podcast" msgstr "Thêm podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "Thêm podcast..." @@ -607,10 +602,6 @@ msgstr "Thêm bỏ qua đếm bài hát" msgid "Add song title tag" msgstr "Thêm thẻ tựa đề bài hát" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "Thêm bài hát vào bộ nhớ đệm" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "Thêm thẻ bài hát" @@ -619,18 +610,10 @@ msgstr "Thêm thẻ bài hát" msgid "Add song year tag" msgstr "Thêm thẻ năm của bài hát" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "Thêm bài hát vào \"Nhạc của tôi\" khi nhấn nút \"Thích\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "Thêm luồng dữ liệu..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "Thêm vào Nhạc của tôi" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "Thêm vào danh sách Spotify" @@ -639,14 +622,10 @@ msgstr "Thêm vào danh sách Spotify" msgid "Add to Spotify starred" msgstr "Thêm vào Spotify và đánh dấu sao" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "Thêm vào danh sách khác" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "Thêm vào đánh dấu" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "Thêm vào danh sách" @@ -656,10 +635,6 @@ msgstr "Thêm vào danh sách" msgid "Add to the queue" msgstr "Thêm vào danh sách đợi" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "Thêm hoạt động tay cầm wii" @@ -697,7 +672,7 @@ msgstr "Sau " msgid "After copying..." msgstr "Sau khi sao chép..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -710,7 +685,7 @@ msgstr "Album" msgid "Album (ideal loudness for all tracks)" msgstr "Album (âm lượng lớn cho mọi bài hát)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -725,10 +700,6 @@ msgstr "Ảnh bìa" msgid "Album info on jamendo.com..." msgstr "Thông tin của album trên jamendo.com..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "Album" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "Album có ảnh bìa" @@ -741,11 +712,11 @@ msgstr "Album không có ảnh bìa" msgid "All" msgstr "Tất cả" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "Mọi tập tin (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "Hypnotoad vạn tuế!" @@ -870,7 +841,7 @@ msgid "" "the songs of your library?" msgstr "Bạn có muốn ghi thông tin thống kê về tất cả các bài hát trong thư viện vào tập tin nhạc hay không?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -879,7 +850,7 @@ msgstr "Bạn có muốn ghi thông tin thống kê về tất cả các bài h msgid "Artist" msgstr "Nghệ sĩ" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "Nghệ sĩ" @@ -950,7 +921,7 @@ msgstr "Kích thước ảnh trung bình" msgid "BBC Podcasts" msgstr "Podcast BBC" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1007,7 +978,8 @@ msgstr "Tốt nhất" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "Bit rate" @@ -1060,7 +1032,7 @@ msgstr "Duyệt tìm..." msgid "Buffer duration" msgstr "Thời gian đệm" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "Đang tạo bộ đệm" @@ -1084,19 +1056,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "Hỗ trợ danh sách CUE" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "Đường dẫn bộ nhớ đệm:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "Hủy bỏ" @@ -1105,12 +1064,6 @@ msgstr "Hủy bỏ" msgid "Cancel download" msgstr "Hủy tải về" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "Cần phải gõ Captcha.\nHãy đăng nhập vào Vk.com bằng trình duyệt của bạn để sửa lỗi này." - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "Đổi ảnh bìa" @@ -1149,6 +1102,10 @@ msgid "" "songs" msgstr "Thay đổi tùy chỉnh phát đơn kênh sẽ ảnh hưởng đến bài kế tiếp" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "Kiểm tra tập mới" @@ -1157,19 +1114,15 @@ msgstr "Kiểm tra tập mới" msgid "Check for updates" msgstr "Kiểm tra cập nhật" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "Kiểm tra cập nhật..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "Chọn thư mục bộ nhớ đệm của Vk.com" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "Đặt tên cho danh sách nhạc của bạn" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "Tự động lựa chọn" @@ -1215,13 +1168,13 @@ msgstr "Dọn dẹp" msgid "Clear" msgstr "Loại bỏ tất cả" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "Loại bỏ tất cả b.hát trong d.sách" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1354,24 +1307,20 @@ msgstr "Màu" msgid "Comma separated list of class:level, level is 0-3" msgstr "Dấu phẩy phân cách danh sách lớp:mức độ, mức độ từ 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "Lời bình" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "Điền thông tin bài hát" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "Điền thông tin bài hát..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1402,15 +1351,11 @@ msgstr "Cấu hình Spotify..." msgid "Configure Subsonic..." msgstr "Cấu hình Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "Cấu hình Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "Cấu hình tìm kiếm chung..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "Cấu hình thư viện..." @@ -1444,16 +1389,16 @@ msgid "" "http://localhost:4040/" msgstr "Kết nối bị máy chủ từ chối, kiểm tra URL máy chủ. Ví dụ: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "Hết thời gian kết nối, kiểm tra URL máy chủ. Ví dụ: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "Có vấn đề khi kết nối hoặc chủ sở hữu đã vô hiệu hoá âm thanh" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "Console" @@ -1477,20 +1422,16 @@ msgstr "" msgid "Convert lossless files" msgstr "Chuyển đổi tập tin lossless" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "Chép url chia sẻ vào bộ đệm" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "Chép vào bộ đệm" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "Chép vào thiết bị..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "Chép vào thư viện..." @@ -1512,6 +1453,15 @@ msgid "" "required GStreamer plugins installed" msgstr "Không thể tạo phần tử GStreamer \"%1\" - hãy chắc chắn là bạn đã có đủ các phần bổ trợ mà GStreamer cần" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "Không thể tạo danh sách" @@ -1538,7 +1488,7 @@ msgstr "Không thể mở tập tin %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "Quản lí ảnh bìa" @@ -1624,11 +1574,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "Ngày tạo" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "Ngày chỉnh sửa" @@ -1656,7 +1606,7 @@ msgstr "Giảm âm lượng" msgid "Default background image" msgstr "Dùng ảnh nền mặc định" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1679,7 +1629,7 @@ msgid "Delete downloaded data" msgstr "Xóa dữ liệu đã tải về" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "Xóa các tập tin" @@ -1687,7 +1637,7 @@ msgstr "Xóa các tập tin" msgid "Delete from device..." msgstr "Xóa khỏi thiết bị..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "Xóa khỏi ổ cứng..." @@ -1712,11 +1662,15 @@ msgstr "Xóa tập tin gốc" msgid "Deleting files" msgstr "Đang xóa các tập tin" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "Loại các bài đã chọn khỏi danh sách chờ" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "Loại bài hát khỏi d.sách chờ" @@ -1745,11 +1699,11 @@ msgstr "Tên thiết bị" msgid "Device properties..." msgstr "Thuộc tính của thiết bị..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "Thiết bị" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "Hộp thoại" @@ -1796,7 +1750,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "Tắt" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1817,7 +1771,7 @@ msgstr "Tùy chọn hiển thị" msgid "Display the on-screen-display" msgstr "Hiện hộp thông báo trên màn hình" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "Quét toàn bộ thư viện" @@ -1988,12 +1942,12 @@ msgstr "Hòa trộn âm thanh động ngẫu nhiên" msgid "Edit smart playlist..." msgstr "Cập nhật danh sách thông minh..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "Sửa \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "Cập nhật thẻ..." @@ -2006,7 +1960,7 @@ msgid "Edit track information" msgstr "Sửa thông tin bài hát" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "Sửa thông tin bài hát..." @@ -2026,10 +1980,6 @@ msgstr "Email" msgid "Enable Wii Remote support" msgstr "Bật hỗ trợ tay cầm Wii" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "Bật bộ cân chỉnh âm" @@ -2114,7 +2064,7 @@ msgstr "Nhập IP này vào ứng dụng để kết nối đến Clementine." msgid "Entire collection" msgstr "Trọn bộ sưu tập" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "Bộ cân chỉnh âm" @@ -2127,8 +2077,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "Tương đương với --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "Lỗi" @@ -2148,6 +2098,11 @@ msgstr "Lỗi chép nhạc" msgid "Error deleting songs" msgstr "Lỗi xóa bài hát" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "Lỗi khi tải phần hỗ trợ Spotify" @@ -2268,7 +2223,7 @@ msgstr "Giảm dần âm lượng" msgid "Fading duration" msgstr "Thời gian giảm dần âm lượng" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "Không đọc được ổ đĩa CD" @@ -2347,27 +2302,23 @@ msgstr "Phần mở rộng tập tin" msgid "File formats" msgstr "Định dạng tập tin" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "Tên tập tin" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "Tên tập tin (không có đường dẫn)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "Quy tắc đặt tên tập tin:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "Đường dẫn tập tin" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "Dung lượng" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2377,7 +2328,7 @@ msgstr "Loại tập tin" msgid "Filename" msgstr "Tên tập tin" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "Tập tin" @@ -2389,10 +2340,6 @@ msgstr "Tập tin để chuyển mã" msgid "Find songs in your library that match the criteria you specify." msgstr "Tìm bài hát trong thư viện của bạn phù hợp với tiêu chuẩn mà bạn chỉ định." -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "Tìm nghệ sĩ này" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "Đang lấy thông tin bài hát" @@ -2461,6 +2408,7 @@ msgid "Form" msgstr "Biểu mẫu" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "Định dạng" @@ -2497,7 +2445,7 @@ msgstr "Full Treble" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "Tổng quát" @@ -2505,7 +2453,7 @@ msgstr "Tổng quát" msgid "General settings" msgstr "Thiết lập chung" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2538,11 +2486,11 @@ msgstr "Đặt tên:" msgid "Go" msgstr "Đi" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "Đến tab danh sách tiếp theo" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "Trở về tab danh sách trước" @@ -2596,7 +2544,7 @@ msgstr "Nhóm theo Thể loại/Album" msgid "Group by Genre/Artist/Album" msgstr "Nhóm theo Thể loại/Nghệ sĩ/Album" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2786,11 +2734,11 @@ msgstr "Đã cài đặt" msgid "Integrity check" msgstr "Kiểm tra tính toàn vẹn" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "Internet" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "Dịch vụ" @@ -2807,6 +2755,10 @@ msgstr "Giới thiệu bài hát" msgid "Invalid API key" msgstr "Khóa API không hợp lệ" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "Định dạng không hợp lệ" @@ -2863,7 +2815,7 @@ msgstr "Cơ sở dữ liệu Jamendo" msgid "Jump to previous song right away" msgstr "Nhảy ngay tới bài trước" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "Chọn bài đang được phát" @@ -2887,7 +2839,7 @@ msgstr "Chạy nền khi đã đóng cửa sổ chính" msgid "Keep the original files" msgstr "Giữ nguyên tập tin gốc" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "Mèo con" @@ -2928,7 +2880,7 @@ msgstr "Thanh bên cỡ lớn" msgid "Last played" msgstr "Lần phát cuối" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "Lần phát cuối" @@ -2969,12 +2921,12 @@ msgstr "Những bài hát ít được yêu thích nhất" msgid "Left" msgstr "Trái" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "Thời lượng" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "Thư viện" @@ -2983,7 +2935,7 @@ msgstr "Thư viện" msgid "Library advanced grouping" msgstr "Nhóm thư viện nâng cao" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "Chú ý quét lại thư viện" @@ -3023,7 +2975,7 @@ msgstr "Nạp ảnh bìa từ đĩa..." msgid "Load playlist" msgstr "Mở danh sách" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "Mở danh sách..." @@ -3059,8 +3011,7 @@ msgstr "Đang nạp thông tin bài hát" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "Đang nạp..." @@ -3069,7 +3020,6 @@ msgstr "Đang nạp..." msgid "Loads files/URLs, replacing current playlist" msgstr "Mở tập tin/URL, thay thế danh sách hiện tại" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3079,8 +3029,7 @@ msgstr "Mở tập tin/URL, thay thế danh sách hiện tại" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "Đăng nhập" @@ -3088,15 +3037,11 @@ msgstr "Đăng nhập" msgid "Login failed" msgstr "Đăng nhập thất bại" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "Đăng xuất" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "Hồ sơ dự báo lâu dài (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "Yêu thích" @@ -3177,7 +3122,7 @@ msgstr "Hồ sơ chính (MAIN)" msgid "Make it so!" msgstr "Make it so!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3223,10 +3168,6 @@ msgstr "Tất cả các điều kiện đều khớp (AND)" msgid "Match one or more search terms (OR)" msgstr "Một hay nhiều điều kiện khớp (OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "Số lượng kết quả tìm kiếm tối đa" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "Bitrate tối đa" @@ -3257,6 +3198,10 @@ msgstr "Bitrate tối thiểu" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "Thiếu thiết đặt projectM" @@ -3277,7 +3222,7 @@ msgstr "Phát đơn kênh" msgid "Months" msgstr "Tháng" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "Sắc thái" @@ -3290,10 +3235,6 @@ msgstr "Kiểu thanh sắc thái" msgid "Moodbars" msgstr "Thanh sắc thái" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "Thêm" - #: library/library.cpp:84 msgid "Most played" msgstr "Phát nhiều nhất" @@ -3311,7 +3252,7 @@ msgstr "Các điểm gắn" msgid "Move down" msgstr "Chuyển xuống" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "Dời vào thư viện..." @@ -3320,8 +3261,7 @@ msgstr "Dời vào thư viện..." msgid "Move up" msgstr "Chuyển lên" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "Nhạc" @@ -3330,22 +3270,10 @@ msgid "Music Library" msgstr "Thư viện nhạc" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "Tắt âm" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "Album của tôi" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "Nhạc của tôi" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "Bài nên nghe" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3391,7 +3319,7 @@ msgstr "Không phát nhạc" msgid "New folder" msgstr "Thư mục mới" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "Tạo danh sách mới" @@ -3420,7 +3348,7 @@ msgid "Next" msgstr "Tiếp theo" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "Phát bài tiếp theo" @@ -3458,7 +3386,7 @@ msgstr "Các khối ngắn" msgid "None" msgstr "Không" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "Không bài hát nào phù hợp để chép qua thiết bị" @@ -3507,10 +3435,6 @@ msgstr "Chưa đăng nhập" msgid "Not mounted - double click to mount" msgstr "Chưa gắn kết - nhấp đúp chuột để gắn kết" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "Không tìm được gì" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "Thông báo" @@ -3592,7 +3516,7 @@ msgstr "Độ mờ" msgid "Open %1 in browser" msgstr "Mở %1 bằng trình duyệt" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "Mở đĩa &CD..." @@ -3612,7 +3536,7 @@ msgstr "Mở một thư mục để thêm nhạc" msgid "Open device" msgstr "Mở thiết bị" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "Mở tập tin..." @@ -3666,7 +3590,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "Sao chép tập tin" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "Sao chép tập tin..." @@ -3678,7 +3602,7 @@ msgstr "Tổ chức tập tin" msgid "Original tags" msgstr "Thẻ gốc" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3746,7 +3670,7 @@ msgstr "Party" msgid "Password" msgstr "Mật khẩu" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "Tạm dừng" @@ -3759,7 +3683,7 @@ msgstr "Tạm dừng phát" msgid "Paused" msgstr "Đã tạm dừng" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3774,14 +3698,14 @@ msgstr "Điểm ảnh" msgid "Plain sidebar" msgstr "Thanh bên đơn giản" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "Phát" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "Số lần phát" @@ -3812,7 +3736,7 @@ msgstr "Tùy chỉnh phát nhạc" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "Danh sách" @@ -3829,7 +3753,7 @@ msgstr "Tùy chọn danh sách" msgid "Playlist type" msgstr "Loại danh sách" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "Danh sách" @@ -3870,11 +3794,11 @@ msgstr "Tùy chỉnh" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "Tùy chỉnh" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "Tùy chỉnh..." @@ -3934,7 +3858,7 @@ msgid "Previous" msgstr "Trước" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "Phát bài trước" @@ -3985,16 +3909,16 @@ msgstr "Chất lượng" msgid "Querying device..." msgstr "Truy vấn thiết bị..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "Quản lý danh sách chờ" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "Chờ phát những bài đã chọn" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "Chờ phát sau" @@ -4006,7 +3930,7 @@ msgstr "Phát thanh (âm thanh bằng nhau cho mọi bài hát)" msgid "Rain" msgstr "Rain" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "Mưa" @@ -4043,7 +3967,7 @@ msgstr "Đánh giá 4 sao cho bài hiện tại" msgid "Rate the current song 5 stars" msgstr "Đánh giá 5 sao cho bài hiện tại" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "Đánh giá" @@ -4110,7 +4034,7 @@ msgstr "Loại bỏ" msgid "Remove action" msgstr "Loại bỏ hành động" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "Loại bỏ mục trùng nhau khỏi d.sách" @@ -4118,15 +4042,7 @@ msgstr "Loại bỏ mục trùng nhau khỏi d.sách" msgid "Remove folder" msgstr "Loại bỏ thư mục" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "Loại bỏ khỏi Nhạc của tôi" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "Xoá đánh dấu" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "Loại bỏ khỏi danh sách" @@ -4138,7 +4054,7 @@ msgstr "Loại bỏ danh sách" msgid "Remove playlists" msgstr "Loại bỏ danh sách" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "Xoá các bài không phát được khỏi danh sách" @@ -4150,7 +4066,7 @@ msgstr "Đổi tên danh sách" msgid "Rename playlist..." msgstr "Đổi tên danh sách..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "Đánh số lại các bài hát theo thứ tự này..." @@ -4200,7 +4116,7 @@ msgstr "Phục hồi số lượng" msgid "Require authentication code" msgstr "Cần có mã xác thực" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "Thiết lập lại" @@ -4241,7 +4157,7 @@ msgstr "" msgid "Rip CD" msgstr "Chép CD" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "Chép CD nhạc" @@ -4271,8 +4187,9 @@ msgstr "Tháo gỡ thiết bị an toàn" msgid "Safely remove the device after copying" msgstr "Tháo gỡ thiết bị an toàn sau khi sao chép" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "Tần số âm" @@ -4310,7 +4227,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "Lưu danh sách" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "Lưu danh sách..." @@ -4350,7 +4267,7 @@ msgstr "Hồ sơ tỉ lệ mẫu có thể mở rộng (SSR)" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "Điểm" @@ -4367,12 +4284,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "Tìm kiếm" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "Tìm kiếm" @@ -4515,7 +4432,7 @@ msgstr "Chi tiết máy chủ" msgid "Service offline" msgstr "Dịch vụ ngoại tuyến" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "Thiết lập %1 sang \"%2\"..." @@ -4524,7 +4441,7 @@ msgstr "Thiết lập %1 sang \"%2\"..." msgid "Set the volume to percent" msgstr "Đặt âm lượng ở mức phần trăm" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "Đặt giá trị cho tất cả những bài được chọn..." @@ -4591,7 +4508,7 @@ msgstr "Tùy chỉnh thông báo" msgid "Show above status bar" msgstr "Hiện phía trên thanh trạng thái" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "Hiện tất cả bài hát" @@ -4611,16 +4528,12 @@ msgstr "Hiện đường phân cách" msgid "Show fullsize..." msgstr "Hiện với kích thước gốc..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "Mở thư mục lưu..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "Hiện trong thư viện..." @@ -4632,27 +4545,23 @@ msgstr "Hiện trong mục nhiều nghệ sĩ" msgid "Show moodbar" msgstr "Hiện thanh sắc thái" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "Chỉ hiện những mục bị trùng" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "Chỉ hiện những mục không được gán thẻ" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "Hiện bài đang nghe trên trang của bạn" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "Hiện đề nghị tìm kiếm" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4688,7 +4597,7 @@ msgstr "Phát ngẫu nhiên album" msgid "Shuffle all" msgstr "Phát ngẫu nhiên tất cả" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "Phát ngẫu nhiên danh sách" @@ -4724,7 +4633,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "Không cho lùi lại trong danh sách" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "Không đếm" @@ -4732,11 +4641,11 @@ msgstr "Không đếm" msgid "Skip forwards in playlist" msgstr "Không cho chuyển bài trong danh sách" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "Bỏ qua các bài đã chọn" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "Bỏ qua bài hát" @@ -4768,7 +4677,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "Thông tin bài hát" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "Bài hát" @@ -4804,7 +4713,7 @@ msgstr "Sắp xếp" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "Nguồn" @@ -4879,7 +4788,7 @@ msgid "Starting..." msgstr "Đang bắt đầu..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "Dừng" @@ -4895,7 +4804,7 @@ msgstr "Dừng lại sau mỗi bài" msgid "Stop after every track" msgstr "Dừng lại sau mỗi bài" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "Dừng sau khi phát xong bài này" @@ -4924,6 +4833,10 @@ msgstr "Đã dừng" msgid "Stream" msgstr "Truyền tải" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5033,6 +4946,10 @@ msgstr "Ảnh bìa của bài hát hiện tại" msgid "The directory %1 is not valid" msgstr "Thư mục %1 không hợp lệ" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "Giá trị thứ hai phải lớn hơn giá trị thứ nhất!" @@ -5051,7 +4968,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Thời hạn dùng thử Subsonic đã hết. Hãy nộp phí để nhận giấy phép. Xem thêm chi tiết tại subsonic.org" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5093,7 +5010,7 @@ msgid "" "continue?" msgstr "Các tập tin này sẽ bị xóa khỏi thiết bị, bạn có muốn tiếp tục?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5177,7 +5094,7 @@ msgstr "Loại thiết bị này không được hỗ trợ: %1" msgid "Time step" msgstr "Bước nhảy thời gian" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5196,11 +5113,11 @@ msgstr "Bật/Tắt hộp thông báo" msgid "Toggle fullscreen" msgstr "Tắt/Bật toàn màn hình" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "Tắt/Bật trạng thái chờ" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "Bật/Tắt Chuyển thông tin bài hát" @@ -5240,7 +5157,7 @@ msgstr "Số lần gửi yêu cầu" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "Bài hát" @@ -5249,7 +5166,7 @@ msgstr "Bài hát" msgid "Tracks" msgstr "Bài hát" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "Chuyển mã nhạc" @@ -5286,6 +5203,10 @@ msgstr "Tắt" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5311,9 +5232,9 @@ msgstr "Không thể tải về %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "Chưa xác định" @@ -5330,11 +5251,11 @@ msgstr "Lỗi không xác định" msgid "Unset cover" msgstr "Bỏ thiết đặt ảnh bìa" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "Hủy việc bỏ qua các bài đã chọn" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "Hủy bỏ qua bài hát" @@ -5347,15 +5268,11 @@ msgstr "Hủy đăng kí" msgid "Upcoming Concerts" msgstr "Các buổi hòa nhạc sắp diễn ra" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "Cập nhật" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "Cập nhật tất cả podcast" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "Cập nhập thư mục thư viện đã thay đổi" @@ -5465,7 +5382,7 @@ msgstr "Sử dụng cân bằng âm lượng" msgid "Used" msgstr "Đã dùng" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "Giao diện người dùng" @@ -5491,7 +5408,7 @@ msgid "Variable bit rate" msgstr "Bit rate thay đổi" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "Nhiều nghệ sỹ" @@ -5504,11 +5421,15 @@ msgstr "Phiên bản %1" msgid "View" msgstr "Hiển thị" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "Chế độ hình ảnh ảo" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "Hình ảnh ảo" @@ -5516,10 +5437,6 @@ msgstr "Hình ảnh ảo" msgid "Visualizations Settings" msgstr "Thiết đặt hiệu ứng hình ảnh ảo" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "Nhận dạng âm thanh hoạt động" @@ -5542,10 +5459,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "Tường" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "Nhắc nhở tôi khi đóng một thẻ danh sách" @@ -5648,7 +5561,7 @@ msgid "" "well?" msgstr "Bạn có muốn chuyển những bài khác trong album này vào mục nhiều nghệ sĩ không?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "Bạn muốn quét lại toàn bộ ngay bây giờ?" @@ -5664,7 +5577,7 @@ msgstr "Ghi thông tin" msgid "Wrong username or password." msgstr "Sai tên người dùng hoặc mật khẩu." -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/zh_CN.po b/src/translations/zh_CN.po index 5636f4e3a..cab8fcd47 100644 --- a/src/translations/zh_CN.po +++ b/src/translations/zh_CN.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Chinese (China) (http://www.transifex.com/davidsansome/clementine/language/zh_CN/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -76,11 +76,6 @@ msgstr " 秒" msgid " songs" msgstr " 首" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 首歌)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -112,7 +107,7 @@ msgstr "%1 在 %2" msgid "%1 playlists (%2)" msgstr "%1 播放列表 (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 选定" @@ -137,7 +132,7 @@ msgstr "找到 %1 首歌" msgid "%1 songs found (showing %2)" msgstr "找到 %1 首(显示 %2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 首" @@ -197,7 +192,7 @@ msgstr "居中(&C)" msgid "&Custom" msgstr "自定义(&C)" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "附件(&E)" @@ -205,7 +200,7 @@ msgstr "附件(&E)" msgid "&Grouping" msgstr "分组(&G)" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "帮助(&H)" @@ -230,7 +225,7 @@ msgstr "锁定评分 (&L)" msgid "&Lyrics" msgstr "歌词(&L)" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "音乐(&M)" @@ -238,15 +233,15 @@ msgstr "音乐(&M)" msgid "&None" msgstr "无(&N)" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "播放列表(&P)" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "退出(&Q)" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "循环模式(&R)" @@ -254,7 +249,7 @@ msgstr "循环模式(&R)" msgid "&Right" msgstr "右对齐(&R)" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "随机播放模式(&S)" @@ -262,7 +257,7 @@ msgstr "随机播放模式(&S)" msgid "&Stretch columns to fit window" msgstr "拉伸栏以适应窗口(&S)" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "工具(&T)" @@ -298,7 +293,7 @@ msgstr "0px" msgid "1 day" msgstr "1 天" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 个曲目" @@ -371,7 +366,7 @@ msgid "" "href=\"%1\">%2, which is released under the Creative Commons" " Attribution-Share-Alike License 3.0.

" -msgstr "" +msgstr "

此文章使用了维基百科的%2,使用知识共享署名 - 相同方式共享 3.0 许可证.

" #: ../bin/src/ui_organisedialog.h:250 msgid "" @@ -442,11 +437,11 @@ msgstr "中止" msgid "About %1" msgstr "关于 %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "关于 Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "关于 Qt..." @@ -456,7 +451,7 @@ msgid "Absolute" msgstr "绝对" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "帐号详情" @@ -510,19 +505,19 @@ msgstr "添加其他流媒体..." msgid "Add directory..." msgstr "添加目录..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "添加文件" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "添加文件至转码器" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "添加文件至转码器" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "添加文件..." @@ -530,12 +525,12 @@ msgstr "添加文件..." msgid "Add files to transcode" msgstr "添加需转码文件" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "添加文件夹" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "添加文件夹..." @@ -547,7 +542,7 @@ msgstr "添加新文件夹..." msgid "Add podcast" msgstr "添加播客" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "添加播客..." @@ -615,10 +610,6 @@ msgstr "统计跳过歌曲的次数" msgid "Add song title tag" msgstr "添加歌曲标题标签" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "添加歌曲到缓存" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "添加歌曲曲目标签" @@ -627,18 +618,10 @@ msgstr "添加歌曲曲目标签" msgid "Add song year tag" msgstr "添加歌曲年份标签" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "当点击\"喜欢\"按钮后将歌曲添加到\"我的音乐\"" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "添加流媒体..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "添加到我的音乐" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "添加到 Spotify 播放列表" @@ -647,14 +630,10 @@ msgstr "添加到 Spotify 播放列表" msgid "Add to Spotify starred" msgstr "添加到 Spotify 收藏" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "添加到另一播放列表" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "添加到书签" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "添加到播放列表" @@ -664,10 +643,6 @@ msgstr "添加到播放列表" msgid "Add to the queue" msgstr "添加到队列" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "添加用户/组到书签" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "添加 Wii 遥控器设备动作" @@ -705,7 +680,7 @@ msgstr "之后 " msgid "After copying..." msgstr "复制后..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -718,7 +693,7 @@ msgstr "专辑" msgid "Album (ideal loudness for all tracks)" msgstr "专辑(所有曲目采用合适音量)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -733,10 +708,6 @@ msgstr "专辑封面" msgid "Album info on jamendo.com..." msgstr "jamendo.com 上的专辑信息..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "专辑" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "有封面的专辑" @@ -749,11 +720,11 @@ msgstr "无封面的专辑" msgid "All" msgstr "所有" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "全部文件 (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "全部归功于睡蛙!" @@ -878,7 +849,7 @@ msgid "" "the songs of your library?" msgstr "您确定要将媒体库中所有歌曲的统计信息写入相应的歌曲文件?" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -887,7 +858,7 @@ msgstr "您确定要将媒体库中所有歌曲的统计信息写入相应的歌 msgid "Artist" msgstr "歌手" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "歌手信息" @@ -958,7 +929,7 @@ msgstr "图片平均大小" msgid "BBC Podcasts" msgstr "BBC 播客" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1015,7 +986,8 @@ msgstr "最佳" msgid "Biography" msgstr "档案" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "位速率" @@ -1068,7 +1040,7 @@ msgstr "浏览..." msgid "Buffer duration" msgstr "缓冲时长" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "缓冲中" @@ -1092,19 +1064,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE 支持" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "缓存路径:" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "缓存中" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "缓存 %1 中" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "取消" @@ -1113,12 +1072,6 @@ msgstr "取消" msgid "Cancel download" msgstr "取消下载" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "需要Captcha\n请使用浏览器登录 VK.com 修复此问题" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "更改封面" @@ -1157,6 +1110,10 @@ msgid "" "songs" msgstr "单声道回放设置的改变将在下首歌曲播放时生效" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "检测新节目" @@ -1165,19 +1122,15 @@ msgstr "检测新节目" msgid "Check for updates" msgstr "检查更新" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "检查更新..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "选择 VK.com 缓存目录" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "为智能播放列表起名" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "自动选择" @@ -1223,13 +1176,13 @@ msgstr "清理" msgid "Clear" msgstr "清除" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "清空播放列表" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1362,24 +1315,20 @@ msgstr "颜色" msgid "Comma separated list of class:level, level is 0-3" msgstr "class:level 列表用逗号分隔,level 范围 0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "备注" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "社区广播" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "自动补全标签" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "自动补全标签..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1410,15 +1359,11 @@ msgstr "配置Spotify..." msgid "Configure Subsonic..." msgstr "配置 Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "配置 VK.com" - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "配置全局搜索…" -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "配置媒体库..." @@ -1452,16 +1397,16 @@ msgid "" "http://localhost:4040/" msgstr "连接被服务器拒绝,请检查服务器链接。例如: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "连接超时,请检查服务器链接。例如: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "连接出错或用户已禁用音频" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "终端" @@ -1485,20 +1430,16 @@ msgstr "在远程发送前转换无损音频文件。" msgid "Convert lossless files" msgstr "转换无损文件" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "复制分享链接" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "复制到剪切板" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "复制到设备..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "复制到媒体库..." @@ -1520,6 +1461,15 @@ msgid "" "required GStreamer plugins installed" msgstr "无法创建GStreamer元素 \"%1\" - 请确认您已安装了所需GStreamer插件" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "无法创建列表" @@ -1546,7 +1496,7 @@ msgstr "无法打开输出文件 %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "封面管理器" @@ -1579,7 +1529,7 @@ msgstr "来自%1的封面" #: core/commandlineoptions.cpp:172 msgid "Create a new playlist with files/URLs" -msgstr "" +msgstr "用多个文件/URL来创建新的播放列表" #: ../bin/src/ui_playbacksettingspage.h:344 msgid "Cross-fade when changing tracks automatically" @@ -1632,11 +1582,11 @@ msgid "" "recover your database" msgstr "检测到数据库损坏。恢复数据库的方法请参考 https://github.com/clementine-player/Clementine/wiki/Database-Corruption " -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "创建日期" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "修改日期" @@ -1664,7 +1614,7 @@ msgstr "降低音量" msgid "Default background image" msgstr "默认背景图片" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "%1 的默认设备" @@ -1687,7 +1637,7 @@ msgid "Delete downloaded data" msgstr "删除已下载的数据" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "删除文件" @@ -1695,7 +1645,7 @@ msgstr "删除文件" msgid "Delete from device..." msgstr "从设备删除..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "从硬盘删除..." @@ -1720,11 +1670,15 @@ msgstr "删除原始文件" msgid "Deleting files" msgstr "删除文件" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "移除选定曲目" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "移除曲目" @@ -1753,11 +1707,11 @@ msgstr "设备名称" msgid "Device properties..." msgstr "设备属性..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "设备" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "对话框" @@ -1804,7 +1758,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "关闭" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1825,7 +1779,7 @@ msgstr "显示选项" msgid "Display the on-screen-display" msgstr "显示屏幕显示" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "重新扫描整个媒体库" @@ -1996,12 +1950,12 @@ msgstr "动态随机混音" msgid "Edit smart playlist..." msgstr "编辑智能播放列表..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "编辑标签 \"%1\"..." -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "编辑标签..." @@ -2014,7 +1968,7 @@ msgid "Edit track information" msgstr "编辑曲目信息" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "编辑曲目信息..." @@ -2034,10 +1988,6 @@ msgstr "邮箱" msgid "Enable Wii Remote support" msgstr "启用 Wii 遥控支持" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "启用自动缓存" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "启用均衡器" @@ -2122,7 +2072,7 @@ msgstr "在应用中输入此 IP 来连接上 Clementine。" msgid "Entire collection" msgstr "整个集合" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "均衡器" @@ -2135,8 +2085,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "相当于 --log-levels *:3" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "错误" @@ -2156,6 +2106,11 @@ msgstr "复制曲目出错" msgid "Error deleting songs" msgstr "删除曲目出错" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "下载Spotify插件出错" @@ -2276,7 +2231,7 @@ msgstr "淡出" msgid "Fading duration" msgstr "淡出时长" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "读取 CD 失败" @@ -2355,27 +2310,23 @@ msgstr "文件扩展名" msgid "File formats" msgstr "文件格式" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "文件名" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "文件名(无路径)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "文件名模式:" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "文件路径" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "文件大小" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2385,7 +2336,7 @@ msgstr "文件类型" msgid "Filename" msgstr "文件名" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "文件" @@ -2397,10 +2348,6 @@ msgstr "要转换的文件" msgid "Find songs in your library that match the criteria you specify." msgstr "在你的媒体库里查找符合条件的歌曲。" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "搜索此艺术家" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "识别音乐" @@ -2469,6 +2416,7 @@ msgid "Form" msgstr "表格" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "格式" @@ -2505,7 +2453,7 @@ msgstr "高音" msgid "Ge&nre" msgstr "流派(&n)" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "一般" @@ -2513,7 +2461,7 @@ msgstr "一般" msgid "General settings" msgstr "常规设置" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2546,11 +2494,11 @@ msgstr "给它起个名字" msgid "Go" msgstr "Go" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "转到下一播放列表标签" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "转到上一播放列表标签" @@ -2582,7 +2530,7 @@ msgstr "按专辑分组" #: library/libraryfilterwidget.cpp:150 msgid "Group by Album artist/Album" -msgstr "" +msgstr "按专辑 艺人/专辑来分组" #: library/libraryfilterwidget.cpp:143 msgid "Group by Artist" @@ -2604,7 +2552,7 @@ msgstr "按流派/专辑分组" msgid "Group by Genre/Artist/Album" msgstr "按流派/艺人/专辑分组" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2794,11 +2742,11 @@ msgstr "已安装" msgid "Integrity check" msgstr "完整性检验" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "互联网" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "互联网提供商" @@ -2815,6 +2763,10 @@ msgstr "代表曲目" msgid "Invalid API key" msgstr "无效的 API 密钥" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "无效格式" @@ -2871,7 +2823,7 @@ msgstr "Jamendo 数据库" msgid "Jump to previous song right away" msgstr "立即跳到上首歌" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "跳转到当前播放的曲目" @@ -2895,7 +2847,7 @@ msgstr "当窗口关闭时仍在后台运行" msgid "Keep the original files" msgstr "保留原始文件" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "小猫咪" @@ -2936,7 +2888,7 @@ msgstr "大侧边栏" msgid "Last played" msgstr "最近播放" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "上次播放的" @@ -2977,12 +2929,12 @@ msgstr "最不喜欢的曲目" msgid "Left" msgstr "左" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "长度" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "媒体库" @@ -2991,7 +2943,7 @@ msgstr "媒体库" msgid "Library advanced grouping" msgstr "媒体库高级分组" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "重新扫描媒体库提示" @@ -3031,7 +2983,7 @@ msgstr "从磁盘载入封面..." msgid "Load playlist" msgstr "载入播放列表" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "载入播放列表..." @@ -3067,8 +3019,7 @@ msgstr "正在加载曲目信息" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "正在载入..." @@ -3077,7 +3028,6 @@ msgstr "正在载入..." msgid "Loads files/URLs, replacing current playlist" msgstr "载入文件或URL,替换当前播放列表" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3087,8 +3037,7 @@ msgstr "载入文件或URL,替换当前播放列表" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "登录" @@ -3096,15 +3045,11 @@ msgstr "登录" msgid "Login failed" msgstr "登录失败" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "注销" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "长期预测 (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "喜爱" @@ -3137,7 +3082,7 @@ msgstr "歌词来自 %1" #: songinfo/taglyricsinfoprovider.cpp:29 msgid "Lyrics from the tag" -msgstr "" +msgstr "此标签中的歌词" #: transcoder/transcoder.cpp:235 msgid "M4A AAC" @@ -3185,7 +3130,7 @@ msgstr "主要档案(MAIN)" msgid "Make it so!" msgstr "就这样吧!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "努力去实现它!" @@ -3231,10 +3176,6 @@ msgstr "匹配每个查询条件(与)" msgid "Match one or more search terms (OR)" msgstr "匹配一个或多个查询条件(或)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "最大全局搜索结果" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "最大位速率" @@ -3265,6 +3206,10 @@ msgstr "最小位速率" msgid "Minimum buffer fill" msgstr "最小缓冲填充" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "projectM 设置缺失" @@ -3285,7 +3230,7 @@ msgstr "单曲循环" msgid "Months" msgstr "月" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "心情" @@ -3298,10 +3243,6 @@ msgstr "心情指示条风格" msgid "Moodbars" msgstr "心情指示条" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "更多" - #: library/library.cpp:84 msgid "Most played" msgstr "最常播放" @@ -3319,7 +3260,7 @@ msgstr "挂载点" msgid "Move down" msgstr "下移" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "移动至媒体库..." @@ -3328,8 +3269,7 @@ msgstr "移动至媒体库..." msgid "Move up" msgstr "上移" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "音乐" @@ -3338,22 +3278,10 @@ msgid "Music Library" msgstr "媒体库" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "静音" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "我的专辑" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "我的音乐" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "我的推荐" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3399,7 +3327,7 @@ msgstr "从未播放" msgid "New folder" msgstr "创建新文件夹" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "新建播放列表" @@ -3428,7 +3356,7 @@ msgid "Next" msgstr "下一首" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "下一个曲目" @@ -3466,7 +3394,7 @@ msgstr "无短块" msgid "None" msgstr "无" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "已选择的曲目均不适合复制到设备" @@ -3515,10 +3443,6 @@ msgstr "未登录" msgid "Not mounted - double click to mount" msgstr "尚未挂载 - 双击进行挂载" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "无内容" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "通知类型" @@ -3600,7 +3524,7 @@ msgstr "不透明度" msgid "Open %1 in browser" msgstr "在浏览器中打开%1" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "打开音频CD...(&a)" @@ -3620,7 +3544,7 @@ msgstr "打开目录导入音乐" msgid "Open device" msgstr "打开设备" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "打开文件..." @@ -3674,7 +3598,7 @@ msgstr "Opus" msgid "Organise Files" msgstr "组织文件" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "组织文件..." @@ -3686,7 +3610,7 @@ msgstr "组织文件" msgid "Original tags" msgstr "原始标签" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3754,7 +3678,7 @@ msgstr "晚会" msgid "Password" msgstr "密码" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "暂停" @@ -3767,7 +3691,7 @@ msgstr "暂停播放" msgid "Paused" msgstr "已暂停" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3782,14 +3706,14 @@ msgstr "像素" msgid "Plain sidebar" msgstr "普通侧边栏" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "播放" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "播放计数" @@ -3820,7 +3744,7 @@ msgstr "播放器选项" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "播放列表" @@ -3837,7 +3761,7 @@ msgstr "播放列表选项" msgid "Playlist type" msgstr "播放列表类型" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "播放列表" @@ -3878,11 +3802,11 @@ msgstr "首选项" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "首选项" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "首选项..." @@ -3942,7 +3866,7 @@ msgid "Previous" msgstr "上一首" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "上一个曲目" @@ -3993,16 +3917,16 @@ msgstr "质量" msgid "Querying device..." msgstr "正在查询设备..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "队列管理器" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "将选定曲目加入队列" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "加入队列" @@ -4014,7 +3938,7 @@ msgstr "电台(所有曲目采用相同的音量)" msgid "Rain" msgstr "雨声" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "雨" @@ -4051,7 +3975,7 @@ msgstr "给当前曲目评级为四星" msgid "Rate the current song 5 stars" msgstr "给当前曲目评级为五星" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "评级" @@ -4118,7 +4042,7 @@ msgstr "删除" msgid "Remove action" msgstr "删除操作" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "从播放列表中移除重复项" @@ -4126,15 +4050,7 @@ msgstr "从播放列表中移除重复项" msgid "Remove folder" msgstr "删除文件夹" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "从我的音乐中移出" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "从书签移除" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "从播放列表中移除" @@ -4146,7 +4062,7 @@ msgstr "删除播放列表" msgid "Remove playlists" msgstr "删除播放列表" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "从播放列表中移除不可用项" @@ -4158,7 +4074,7 @@ msgstr "重命名播放列表" msgid "Rename playlist..." msgstr "重命名播放列表..." -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "以此顺序为曲目重新编号..." @@ -4208,7 +4124,7 @@ msgstr "重现加入队列" msgid "Require authentication code" msgstr "需要验证码" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "重置" @@ -4249,7 +4165,7 @@ msgstr "抓轨" msgid "Rip CD" msgstr "CD 抓轨" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "音乐 CD 抓轨" @@ -4279,8 +4195,9 @@ msgstr "安全移除设备" msgid "Safely remove the device after copying" msgstr "复制后安全移除设备" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "采样率" @@ -4318,7 +4235,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "保存播放列表" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "保存播放列表..." @@ -4358,7 +4275,7 @@ msgstr "可变采样频率 (SSR)" msgid "Scale size" msgstr "缩放" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "得分" @@ -4375,12 +4292,12 @@ msgid "Seafile" msgstr "Seafile" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "搜索" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "搜索" @@ -4523,7 +4440,7 @@ msgstr "服务器详情" msgid "Service offline" msgstr "服务离线" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "将 %1 设置为 %2..." @@ -4532,7 +4449,7 @@ msgstr "将 %1 设置为 %2..." msgid "Set the volume to percent" msgstr "设置音量为 %" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "为全部选中的曲目设置值..." @@ -4599,7 +4516,7 @@ msgstr "显示漂亮的 OSD" msgid "Show above status bar" msgstr "在状态栏之上显示" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "显示所有歌曲" @@ -4619,16 +4536,12 @@ msgstr "显示分频器" msgid "Show fullsize..." msgstr "显示完整尺寸..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "在全局搜索结果中显示分组" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "在文件管理器中打开..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "在媒体库中显示" @@ -4640,29 +4553,25 @@ msgstr "在群星中显示" msgid "Show moodbar" msgstr "显示心情指示条" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "只显示重复" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "只显示未加标签的" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "在您的主页显示正在播放的歌曲" +msgstr "显示或隐藏侧边栏" #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "显示搜索建议" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" -msgstr "" +msgstr "显示侧边栏" #: ../bin/src/ui_lastfmsettingspage.h:136 msgid "Show the \"love\" button" @@ -4696,7 +4605,7 @@ msgstr "乱序专辑" msgid "Shuffle all" msgstr "乱序全部" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "随机播放列表" @@ -4732,7 +4641,7 @@ msgstr "Ska" msgid "Skip backwards in playlist" msgstr "在播放列表中后退" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "跳过计数" @@ -4740,11 +4649,11 @@ msgstr "跳过计数" msgid "Skip forwards in playlist" msgstr "在播放列表中前进" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "跳过所选择的曲目" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "跳过曲目" @@ -4776,7 +4685,7 @@ msgstr "Soft Rock" msgid "Song Information" msgstr "曲目信息" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "曲目信息" @@ -4812,7 +4721,7 @@ msgstr "正在排序" msgid "SoundCloud" msgstr "SoundCloud" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "来源" @@ -4887,7 +4796,7 @@ msgid "Starting..." msgstr "正在开始..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "停止" @@ -4903,7 +4812,7 @@ msgstr "播放完每个曲目后停止" msgid "Stop after every track" msgstr "播放每个曲目前停止" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "在此曲目后停止" @@ -4932,6 +4841,10 @@ msgstr "已停止" msgid "Stream" msgstr "流媒体" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5041,6 +4954,10 @@ msgstr "目前正在播放的音乐的专辑封面" msgid "The directory %1 is not valid" msgstr "文件夹 %1 无效" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "第二音量应该比第一音量还大!" @@ -5059,7 +4976,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "Subsonic 服务器的试用期已过。请捐助来获得许可文件。详情请访问 subsonic.org 。" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5101,7 +5018,7 @@ msgid "" "continue?" msgstr "将从设备中删除这些文件.确定删除吗?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5185,7 +5102,7 @@ msgstr "这种设备不被支持: %1" msgid "Time step" msgstr "时间步长" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5204,11 +5121,11 @@ msgstr "切换漂亮的 OSD" msgid "Toggle fullscreen" msgstr "切换全屏" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "切换队列状态" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "切换歌曲记录" @@ -5248,7 +5165,7 @@ msgstr "已发出网络连接总数" msgid "Trac&k" msgstr "曲目(&k)" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "曲目" @@ -5257,7 +5174,7 @@ msgstr "曲目" msgid "Tracks" msgstr "曲目" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "音乐转码" @@ -5294,6 +5211,10 @@ msgstr "关闭" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL" @@ -5319,9 +5240,9 @@ msgstr "无法下载 %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "未知" @@ -5338,11 +5259,11 @@ msgstr "未知错误" msgid "Unset cover" msgstr "撤销封面" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "取消略过的选定曲目" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "取消掠过曲目" @@ -5355,15 +5276,11 @@ msgstr "取消订阅" msgid "Upcoming Concerts" msgstr "近期音乐会" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "更新" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "更新所有播客" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "更新改变的媒体库文件夹" @@ -5473,7 +5390,7 @@ msgstr "使用音量标准化" msgid "Used" msgstr "已使用" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "用户界面" @@ -5499,7 +5416,7 @@ msgid "Variable bit rate" msgstr "可变比特率" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "群星" @@ -5512,11 +5429,15 @@ msgstr "版本 %1" msgid "View" msgstr "查看" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "视觉效果模式" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "视觉效果" @@ -5524,10 +5445,6 @@ msgstr "视觉效果" msgid "Visualizations Settings" msgstr "视觉效果设置" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "Vk.com" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "语音活动检测" @@ -5550,10 +5467,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "墙" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "关闭播放列表标签时,提示我" @@ -5656,7 +5569,7 @@ msgid "" "well?" msgstr "您想要把此专辑的其它歌曲移动到 群星?" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "您要立即做个全部重新扫描?" @@ -5672,7 +5585,7 @@ msgstr "写入元数据" msgid "Wrong username or password." msgstr "用户名密码错误。" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 diff --git a/src/translations/zh_TW.po b/src/translations/zh_TW.po index 1770a9b3c..f68ada966 100644 --- a/src/translations/zh_TW.po +++ b/src/translations/zh_TW.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2016-09-18 12:46+0000\n" +"PO-Revision-Date: 2017-01-12 13:21+0000\n" "Last-Translator: Clementine Buildbot \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/davidsansome/clementine/language/zh_TW/)\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -66,11 +66,6 @@ msgstr " 秒" msgid " songs" msgstr " 歌曲" -#: internet/vk/vkservice.cpp:149 -#, qt-format -msgid "%1 (%2 songs)" -msgstr "%1 (%2 個歌曲)" - #: widgets/osd.cpp:195 #, qt-format msgid "%1 albums" @@ -102,7 +97,7 @@ msgstr "%2 的 %1" msgid "%1 playlists (%2)" msgstr "%1 播放清單 (%2)" -#: playlist/playlistmanager.cpp:406 +#: playlist/playlistmanager.cpp:416 #, qt-format msgid "%1 selected of" msgstr "%1 選定" @@ -127,7 +122,7 @@ msgstr "%1 首歌曲找到" msgid "%1 songs found (showing %2)" msgstr "發現%1首歌(顯示%2)" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 #, qt-format msgid "%1 tracks" msgstr "%1 歌曲" @@ -187,7 +182,7 @@ msgstr "中間(&C)" msgid "&Custom" msgstr "自訂(&C)" -#: ../bin/src/ui_mainwindow.h:735 +#: ../bin/src/ui_mainwindow.h:739 msgid "&Extras" msgstr "外掛程式(&E)" @@ -195,7 +190,7 @@ msgstr "外掛程式(&E)" msgid "&Grouping" msgstr "" -#: ../bin/src/ui_mainwindow.h:734 +#: ../bin/src/ui_mainwindow.h:738 msgid "&Help" msgstr "幫助(&H)" @@ -220,7 +215,7 @@ msgstr "" msgid "&Lyrics" msgstr "" -#: ../bin/src/ui_mainwindow.h:732 +#: ../bin/src/ui_mainwindow.h:736 msgid "&Music" msgstr "音樂(&M)" @@ -228,15 +223,15 @@ msgstr "音樂(&M)" msgid "&None" msgstr "無(&N)" -#: ../bin/src/ui_mainwindow.h:733 +#: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" msgstr "播放清單(&P)" -#: ../bin/src/ui_mainwindow.h:675 +#: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" msgstr "結束(&Q)" -#: ../bin/src/ui_mainwindow.h:700 +#: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" msgstr "循環播放模式(&R)" @@ -244,7 +239,7 @@ msgstr "循環播放模式(&R)" msgid "&Right" msgstr "右邊(&R)" -#: ../bin/src/ui_mainwindow.h:699 +#: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" msgstr "隨機播放模式(&S)" @@ -252,7 +247,7 @@ msgstr "隨機播放模式(&S)" msgid "&Stretch columns to fit window" msgstr "將列伸展至視窗邊界(&S)" -#: ../bin/src/ui_mainwindow.h:736 +#: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" msgstr "工具(&T)" @@ -288,7 +283,7 @@ msgstr "0px" msgid "1 day" msgstr "1 天" -#: playlist/playlistmanager.cpp:412 +#: playlist/playlistmanager.cpp:422 msgid "1 track" msgstr "1 歌曲" @@ -432,11 +427,11 @@ msgstr "取消" msgid "About %1" msgstr "關於 %1" -#: ../bin/src/ui_mainwindow.h:687 +#: ../bin/src/ui_mainwindow.h:690 msgid "About Clementine..." msgstr "關於 Clementine..." -#: ../bin/src/ui_mainwindow.h:714 +#: ../bin/src/ui_mainwindow.h:717 msgid "About Qt..." msgstr "關於 Qt..." @@ -446,7 +441,7 @@ msgid "Absolute" msgstr "" #: ../bin/src/ui_magnatunesettingspage.h:154 -#: ../bin/src/ui_spotifysettingspage.h:207 ../bin/src/ui_vksettingspage.h:213 +#: ../bin/src/ui_spotifysettingspage.h:207 #: ../bin/src/ui_seafilesettingspage.h:168 msgid "Account details" msgstr "帳戶詳情" @@ -500,19 +495,19 @@ msgstr "加入其它的網路串流" msgid "Add directory..." msgstr "加入目錄..." -#: ui/mainwindow.cpp:1988 +#: ui/mainwindow.cpp:2014 msgid "Add file" msgstr "加入檔案" -#: ../bin/src/ui_mainwindow.h:723 +#: ../bin/src/ui_mainwindow.h:726 msgid "Add file to transcoder" msgstr "加入檔案以便轉碼" -#: ../bin/src/ui_mainwindow.h:721 +#: ../bin/src/ui_mainwindow.h:724 msgid "Add file(s) to transcoder" msgstr "加入檔案以便轉碼" -#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:689 +#: ../bin/src/ui_transcodedialog.h:218 ../bin/src/ui_mainwindow.h:692 msgid "Add file..." msgstr "加入檔案..." @@ -520,12 +515,12 @@ msgstr "加入檔案..." msgid "Add files to transcode" msgstr "加入檔案以轉碼" -#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2015 +#: transcoder/transcodedialog.cpp:306 ui/mainwindow.cpp:2041 #: ripper/ripcddialog.cpp:185 msgid "Add folder" msgstr "加入資料夾" -#: ../bin/src/ui_mainwindow.h:704 +#: ../bin/src/ui_mainwindow.h:707 msgid "Add folder..." msgstr "加入資料夾..." @@ -537,7 +532,7 @@ msgstr "新增資料夾..." msgid "Add podcast" msgstr "加入 Podcast" -#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:719 +#: internet/podcasts/podcastservice.cpp:418 ../bin/src/ui_mainwindow.h:722 msgid "Add podcast..." msgstr "加入 Podcast..." @@ -605,10 +600,6 @@ msgstr "加入歌曲跳過次數" msgid "Add song title tag" msgstr "加入歌曲標題標籤" -#: internet/vk/vkservice.cpp:333 -msgid "Add song to cache" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:409 msgid "Add song track tag" msgstr "加入歌曲曲目標籤" @@ -617,18 +608,10 @@ msgstr "加入歌曲曲目標籤" msgid "Add song year tag" msgstr "加入歌曲年份標籤" -#: ../bin/src/ui_vksettingspage.h:218 -msgid "Add songs to \"My Music\" when the \"Love\" button is clicked" -msgstr "" - -#: ../bin/src/ui_mainwindow.h:690 +#: ../bin/src/ui_mainwindow.h:693 msgid "Add stream..." msgstr "加入網路串流..." -#: internet/vk/vkservice.cpp:325 -msgid "Add to My Music" -msgstr "" - #: internet/spotify/spotifyservice.cpp:623 msgid "Add to Spotify playlists" msgstr "" @@ -637,14 +620,10 @@ msgstr "" msgid "Add to Spotify starred" msgstr "" -#: ui/mainwindow.cpp:1810 +#: ui/mainwindow.cpp:1815 msgid "Add to another playlist" msgstr "加入到其他播放清單" -#: internet/vk/vkservice.cpp:309 -msgid "Add to bookmarks" -msgstr "" - #: ../bin/src/ui_albumcovermanager.h:217 msgid "Add to playlist" msgstr "加入播放清單" @@ -654,10 +633,6 @@ msgstr "加入播放清單" msgid "Add to the queue" msgstr "加入到佇列中" -#: internet/vk/vkservice.cpp:342 -msgid "Add user/group to bookmarks" -msgstr "" - #: ../bin/src/ui_wiimoteshortcutgrabber.h:119 msgid "Add wiimotedev action" msgstr "加入 wiimotedev 功能" @@ -695,7 +670,7 @@ msgstr "" msgid "After copying..." msgstr "複製後 ..." -#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1319 +#: library/savedgroupingmanager.cpp:65 playlist/playlist.cpp:1331 #: ui/organisedialog.cpp:61 ui/qtsystemtrayicon.cpp:251 #: ../bin/src/ui_groupbydialog.h:128 ../bin/src/ui_groupbydialog.h:147 #: ../bin/src/ui_groupbydialog.h:166 ../bin/src/ui_albumcoversearcher.h:110 @@ -708,7 +683,7 @@ msgstr "專輯" msgid "Album (ideal loudness for all tracks)" msgstr "專輯 (為所有歌曲取得理想音量)" -#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1333 +#: library/savedgroupingmanager.cpp:80 playlist/playlist.cpp:1345 #: ui/organisedialog.cpp:64 ../bin/src/ui_groupbydialog.h:130 #: ../bin/src/ui_groupbydialog.h:149 ../bin/src/ui_groupbydialog.h:168 #: ../bin/src/ui_edittagdialog.h:725 @@ -723,10 +698,6 @@ msgstr "專輯封面" msgid "Album info on jamendo.com..." msgstr " jamendo.com上的專輯資訊..." -#: internet/vk/vkservice.cpp:848 -msgid "Albums" -msgstr "" - #: ui/albumcovermanager.cpp:138 msgid "Albums with covers" msgstr "有封面的專輯" @@ -739,11 +710,11 @@ msgstr "無封面的專輯" msgid "All" msgstr "" -#: ui/mainwindow.cpp:160 +#: ui/mainwindow.cpp:158 msgid "All Files (*)" msgstr "所有檔案 (*)" -#: ../bin/src/ui_mainwindow.h:695 +#: ../bin/src/ui_mainwindow.h:698 msgctxt "Label for button to enable/disable Hypnotoad background sound." msgid "All Glory to the Hypnotoad!" msgstr "" @@ -868,7 +839,7 @@ msgid "" "the songs of your library?" msgstr "" -#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1317 +#: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 #: ../bin/src/ui_groupbydialog.h:129 ../bin/src/ui_groupbydialog.h:148 #: ../bin/src/ui_groupbydialog.h:167 ../bin/src/ui_albumcoversearcher.h:106 @@ -877,7 +848,7 @@ msgstr "" msgid "Artist" msgstr "演出者" -#: ui/mainwindow.cpp:283 +#: ui/mainwindow.cpp:282 msgid "Artist info" msgstr "演出者" @@ -948,7 +919,7 @@ msgstr "平均圖片大小" msgid "BBC Podcasts" msgstr "BBC Podcasts" -#: playlist/playlist.cpp:1353 ui/organisedialog.cpp:71 +#: playlist/playlist.cpp:1365 ui/organisedialog.cpp:71 #: ../bin/src/ui_edittagdialog.h:704 msgid "BPM" msgstr "BPM" @@ -1005,7 +976,8 @@ msgstr "最佳" msgid "Biography" msgstr "" -#: playlist/playlist.cpp:1355 ../bin/src/ui_edittagdialog.h:706 +#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:706 +#: ../bin/src/ui_streamdetailsdialog.h:139 msgid "Bit rate" msgstr "位元率" @@ -1058,7 +1030,7 @@ msgstr "瀏覽..." msgid "Buffer duration" msgstr "" -#: engines/gstengine.cpp:898 +#: engines/gstengine.cpp:901 msgid "Buffering" msgstr "緩衝" @@ -1082,19 +1054,6 @@ msgstr "CDDA" msgid "CUE sheet support" msgstr "CUE 表單支援" -#: ../bin/src/ui_vksettingspage.h:223 -msgid "Cache path:" -msgstr "" - -#: ../bin/src/ui_vksettingspage.h:221 -msgid "Caching" -msgstr "" - -#: internet/vk/vkmusiccache.cpp:120 -#, qt-format -msgid "Caching %1" -msgstr "" - #: internet/spotify/spotifyblobdownloader.cpp:57 msgid "Cancel" msgstr "取消" @@ -1103,12 +1062,6 @@ msgstr "取消" msgid "Cancel download" msgstr "" -#: internet/vk/vkservice.cpp:644 -msgid "" -"Captcha is needed.\n" -"Try to login into Vk.com with your browser,to fix this problem." -msgstr "" - #: ../bin/src/ui_edittagdialog.h:700 msgid "Change cover art" msgstr "更換封面圖片" @@ -1147,6 +1100,10 @@ msgid "" "songs" msgstr "" +#: ../bin/src/ui_streamdetailsdialog.h:137 +msgid "Channels" +msgstr "" + #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" msgstr "檢查是否有新的片斷內容" @@ -1155,19 +1112,15 @@ msgstr "檢查是否有新的片斷內容" msgid "Check for updates" msgstr "" -#: ui/mainwindow.cpp:805 +#: ui/mainwindow.cpp:802 msgid "Check for updates..." msgstr "檢查更新..." -#: internet/vk/vksettingspage.cpp:101 -msgid "Choose Vk.com cache directory" -msgstr "" - #: smartplaylists/wizard.cpp:84 msgid "Choose a name for your smart playlist" msgstr "為您智慧型播放清單選擇一個名稱" -#: engines/gstengine.cpp:919 +#: engines/gstengine.cpp:922 msgid "Choose automatically" msgstr "自動選擇" @@ -1213,13 +1166,13 @@ msgstr "清除" msgid "Clear" msgstr "清除" -#: ../bin/src/ui_mainwindow.h:678 ../bin/src/ui_mainwindow.h:680 +#: ../bin/src/ui_mainwindow.h:681 ../bin/src/ui_mainwindow.h:683 msgid "Clear playlist" msgstr "清除播放清單" #: smartplaylists/searchtermwidget.cpp:345 #: visualisations/visualisationcontainer.cpp:215 -#: ../bin/src/ui_mainwindow.h:670 ../bin/src/ui_visualisationoverlay.h:182 +#: ../bin/src/ui_mainwindow.h:673 ../bin/src/ui_visualisationoverlay.h:182 msgid "Clementine" msgstr "Clementine" @@ -1352,24 +1305,20 @@ msgstr "顏色" msgid "Comma separated list of class:level, level is 0-3" msgstr "用逗號化分類別清單:等級為0-3" -#: playlist/playlist.cpp:1372 smartplaylists/searchterm.cpp:370 +#: playlist/playlist.cpp:1384 smartplaylists/searchterm.cpp:370 #: ui/organisedialog.cpp:75 ../bin/src/ui_edittagdialog.h:718 msgid "Comment" msgstr "評論" -#: internet/vk/vkservice.cpp:155 -msgid "Community Radio" -msgstr "社群廣播" - #: ../bin/src/ui_edittagdialog.h:730 msgid "Complete tags automatically" msgstr "標籤完全自動分類" -#: ../bin/src/ui_mainwindow.h:717 +#: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." msgstr "標籤完全自動分類..." -#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1335 +#: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 #: ../bin/src/ui_groupbydialog.h:150 ../bin/src/ui_groupbydialog.h:169 msgid "Composer" @@ -1400,15 +1349,11 @@ msgstr "設定 Spotify..." msgid "Configure Subsonic..." msgstr "設定 Subsonic..." -#: internet/vk/vkservice.cpp:351 -msgid "Configure Vk.com..." -msgstr "設定 Vk.com..." - #: globalsearch/globalsearchview.cpp:149 globalsearch/globalsearchview.cpp:473 msgid "Configure global search..." msgstr "設定全域搜尋..." -#: ui/mainwindow.cpp:655 +#: ui/mainwindow.cpp:651 msgid "Configure library..." msgstr "設定音樂庫" @@ -1442,16 +1387,16 @@ msgid "" "http://localhost:4040/" msgstr "伺服器拒絕連線,請檢查伺服器網址。\n例如: http://localhost:4040/" +#: songinfo/streamdiscoverer.cpp:116 +msgid "Connection timed out" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" msgstr "連線逾時,請檢查伺服器網址。\n例如: http://localhost:4040/" -#: internet/vk/vkservice.cpp:1128 -msgid "Connection trouble or audio is disabled by owner" -msgstr "" - -#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:698 +#: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" msgstr "終端機" @@ -1475,20 +1420,16 @@ msgstr "在上傳到遠端前轉換無損音樂檔。" msgid "Convert lossless files" msgstr "轉換無損檔案" -#: internet/vk/vkservice.cpp:337 -msgid "Copy share url to clipboard" -msgstr "複製分享連結到剪貼簿" - #: internet/core/internetservice.cpp:79 msgid "Copy to clipboard" msgstr "複製到剪貼簿" #: library/libraryview.cpp:409 internet/podcasts/podcastservice.cpp:438 -#: ui/mainwindow.cpp:704 widgets/fileviewlist.cpp:44 +#: ui/mainwindow.cpp:701 widgets/fileviewlist.cpp:44 msgid "Copy to device..." msgstr "複製到裝置..." -#: devices/deviceview.cpp:228 ui/mainwindow.cpp:694 +#: devices/deviceview.cpp:228 ui/mainwindow.cpp:691 #: widgets/fileviewlist.cpp:40 msgid "Copy to library..." msgstr "複製到音樂庫" @@ -1510,6 +1451,15 @@ msgid "" "required GStreamer plugins installed" msgstr "無法建立 GStreamer 元件「%1」- 請確認您安裝了所有需要的GStreamer外掛。" +#: songinfo/streamdiscoverer.cpp:97 +#, qt-format +msgid "Could not detect an audio stream in %1" +msgstr "" + +#: songinfo/streamdiscoverer.cpp:123 +msgid "Could not get details" +msgstr "" + #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" msgstr "" @@ -1536,7 +1486,7 @@ msgstr "無法開啟輸出檔 %1" #: internet/core/cloudfileservice.cpp:103 #: internet/googledrive/googledriveservice.cpp:228 #: ../bin/src/ui_albumcovermanager.h:214 -#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:693 +#: ../bin/src/ui_albumcoversearcher.h:104 ../bin/src/ui_mainwindow.h:696 msgid "Cover Manager" msgstr "封面管理員" @@ -1622,11 +1572,11 @@ msgid "" "recover your database" msgstr "" -#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:715 +#: playlist/playlist.cpp:1381 ../bin/src/ui_edittagdialog.h:715 msgid "Date created" msgstr "創建的日期" -#: playlist/playlist.cpp:1367 ../bin/src/ui_edittagdialog.h:714 +#: playlist/playlist.cpp:1379 ../bin/src/ui_edittagdialog.h:714 msgid "Date modified" msgstr "修改的日期" @@ -1654,7 +1604,7 @@ msgstr "減低音量" msgid "Default background image" msgstr "預設的背景圖片" -#: engines/gstengine.cpp:944 +#: engines/gstengine.cpp:947 #, qt-format msgid "Default device on %1" msgstr "" @@ -1677,7 +1627,7 @@ msgid "Delete downloaded data" msgstr "刪除下載的資料" #: devices/deviceview.cpp:408 library/libraryview.cpp:645 -#: ui/mainwindow.cpp:2342 widgets/fileview.cpp:188 +#: ui/mainwindow.cpp:2368 widgets/fileview.cpp:188 msgid "Delete files" msgstr "刪除檔案" @@ -1685,7 +1635,7 @@ msgstr "刪除檔案" msgid "Delete from device..." msgstr "從裝置中刪除..." -#: library/libraryview.cpp:411 ui/mainwindow.cpp:707 +#: library/libraryview.cpp:411 ui/mainwindow.cpp:704 #: widgets/fileviewlist.cpp:47 msgid "Delete from disk..." msgstr "從硬碟中刪除 ..." @@ -1710,11 +1660,15 @@ msgstr "刪除原本的檔案" msgid "Deleting files" msgstr "檔案刪除中" -#: ui/mainwindow.cpp:1731 +#: ../bin/src/ui_streamdetailsdialog.h:143 +msgid "Depth" +msgstr "" + +#: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" msgstr "將選取的歌曲移出佇列中" -#: ui/mainwindow.cpp:1729 +#: ui/mainwindow.cpp:1734 msgid "Dequeue track" msgstr "將歌曲移出佇列中" @@ -1743,11 +1697,11 @@ msgstr "裝置名稱" msgid "Device properties..." msgstr "裝置屬性..." -#: ui/mainwindow.cpp:276 +#: ui/mainwindow.cpp:275 msgid "Devices" msgstr "裝置" -#: ../bin/src/ui_ripcddialog.h:299 ../bin/src/ui_vksearchdialog.h:60 +#: ../bin/src/ui_ripcddialog.h:299 msgid "Dialog" msgstr "" @@ -1794,7 +1748,7 @@ msgctxt "Refers to search provider's status." msgid "Disabled" msgstr "" -#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1325 +#: library/savedgroupingmanager.cpp:95 playlist/playlist.cpp:1337 #: ui/organisedialog.cpp:70 ../bin/src/ui_groupbydialog.h:139 #: ../bin/src/ui_groupbydialog.h:158 ../bin/src/ui_groupbydialog.h:177 #: ../bin/src/ui_edittagdialog.h:722 ../bin/src/ui_ripcddialog.h:313 @@ -1815,7 +1769,7 @@ msgstr "顯示選項" msgid "Display the on-screen-display" msgstr "顯示螢幕上的顯示" -#: ../bin/src/ui_mainwindow.h:716 +#: ../bin/src/ui_mainwindow.h:719 msgid "Do a full library rescan" msgstr "做一個完整的音樂庫重新掃描" @@ -1986,12 +1940,12 @@ msgstr "動態隨機混合" msgid "Edit smart playlist..." msgstr "編輯智慧型播放清單..." -#: ui/mainwindow.cpp:1773 +#: ui/mainwindow.cpp:1778 #, qt-format msgid "Edit tag \"%1\"..." msgstr "" -#: ../bin/src/ui_mainwindow.h:685 +#: ../bin/src/ui_mainwindow.h:688 msgid "Edit tag..." msgstr "編輯標籤 ..." @@ -2004,7 +1958,7 @@ msgid "Edit track information" msgstr "編輯歌曲資訊" #: library/libraryview.cpp:416 widgets/fileviewlist.cpp:51 -#: ../bin/src/ui_mainwindow.h:682 +#: ../bin/src/ui_mainwindow.h:685 msgid "Edit track information..." msgstr "編輯歌曲資訊..." @@ -2024,10 +1978,6 @@ msgstr "" msgid "Enable Wii Remote support" msgstr "啟用 Wii 遙控器的支持" -#: ../bin/src/ui_vksettingspage.h:222 -msgid "Enable automatic caching" -msgstr "" - #: ../bin/src/ui_equalizer.h:170 msgid "Enable equalizer" msgstr "啟用等化器" @@ -2112,7 +2062,7 @@ msgstr "" msgid "Entire collection" msgstr "整個收藏" -#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:702 +#: ../bin/src/ui_equalizer.h:162 ../bin/src/ui_mainwindow.h:705 msgid "Equalizer" msgstr "等化器" @@ -2125,8 +2075,8 @@ msgid "Equivalent to --log-levels *:3" msgstr "" #: internet/magnatune/magnatunedownloaddialog.cpp:246 -#: library/libraryview.cpp:639 ui/mainwindow.cpp:2044 ui/mainwindow.cpp:2294 -#: ui/mainwindow.cpp:2440 internet/vk/vkservice.cpp:643 +#: library/libraryview.cpp:639 ui/mainwindow.cpp:2070 ui/mainwindow.cpp:2320 +#: ui/mainwindow.cpp:2466 msgid "Error" msgstr "錯誤" @@ -2146,6 +2096,11 @@ msgstr "複製歌曲錯誤" msgid "Error deleting songs" msgstr "刪除歌曲錯誤" +#: songinfo/streamdiscoverer.cpp:56 +#, qt-format +msgid "Error discovering %1: %2" +msgstr "" + #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" msgstr "下載 Spotify 插件出現錯誤" @@ -2266,7 +2221,7 @@ msgstr "淡出" msgid "Fading duration" msgstr "淡出持續時間" -#: ui/mainwindow.cpp:2045 +#: ui/mainwindow.cpp:2071 msgid "Failed reading CD drive" msgstr "" @@ -2345,27 +2300,23 @@ msgstr "副檔名" msgid "File formats" msgstr "檔案格式" -#: playlist/playlist.cpp:1359 ../bin/src/ui_edittagdialog.h:716 +#: playlist/playlist.cpp:1371 ../bin/src/ui_edittagdialog.h:716 msgid "File name" msgstr "檔名" -#: playlist/playlist.cpp:1361 +#: playlist/playlist.cpp:1373 msgid "File name (without path)" msgstr "檔名(不含路徑)" -#: ../bin/src/ui_vksettingspage.h:224 -msgid "File name pattern:" -msgstr "" - #: ../bin/src/ui_playlistsaveoptionsdialog.h:95 msgid "File paths" msgstr "" -#: playlist/playlist.cpp:1363 ../bin/src/ui_edittagdialog.h:710 +#: playlist/playlist.cpp:1375 ../bin/src/ui_edittagdialog.h:710 msgid "File size" msgstr "檔案大小" -#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1365 +#: library/savedgroupingmanager.cpp:83 playlist/playlist.cpp:1377 #: ../bin/src/ui_groupbydialog.h:132 ../bin/src/ui_groupbydialog.h:151 #: ../bin/src/ui_groupbydialog.h:170 ../bin/src/ui_edittagdialog.h:712 msgid "File type" @@ -2375,7 +2326,7 @@ msgstr "檔案型態" msgid "Filename" msgstr "檔名" -#: ui/mainwindow.cpp:266 +#: ui/mainwindow.cpp:265 msgid "Files" msgstr "檔案" @@ -2387,10 +2338,6 @@ msgstr "要轉碼的檔案" msgid "Find songs in your library that match the criteria you specify." msgstr "在您的歌曲庫裡找到符合您指定的歌曲。" -#: internet/vk/vkservice.cpp:320 -msgid "Find this artist" -msgstr "" - #: musicbrainz/tagfetcher.cpp:58 msgid "Fingerprinting song" msgstr "指紋歌曲" @@ -2459,6 +2406,7 @@ msgid "Form" msgstr "表格" #: ../bin/src/ui_magnatunedownloaddialog.h:132 +#: ../bin/src/ui_streamdetailsdialog.h:135 msgid "Format" msgstr "格式" @@ -2495,7 +2443,7 @@ msgstr "全部高音" msgid "Ge&nre" msgstr "" -#: ui/settingsdialog.cpp:137 +#: ui/settingsdialog.cpp:133 msgid "General" msgstr "一般" @@ -2503,7 +2451,7 @@ msgstr "一般" msgid "General settings" msgstr "一般設定" -#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1331 +#: library/savedgroupingmanager.cpp:77 playlist/playlist.cpp:1343 #: ui/organisedialog.cpp:74 ../bin/src/ui_groupbydialog.h:133 #: ../bin/src/ui_groupbydialog.h:152 ../bin/src/ui_groupbydialog.h:171 #: ../bin/src/ui_ripcddialog.h:316 @@ -2536,11 +2484,11 @@ msgstr "給它一個名字:" msgid "Go" msgstr "前往" -#: ../bin/src/ui_mainwindow.h:709 +#: ../bin/src/ui_mainwindow.h:712 msgid "Go to next playlist tab" msgstr "到下一個播放清單分頁" -#: ../bin/src/ui_mainwindow.h:710 +#: ../bin/src/ui_mainwindow.h:713 msgid "Go to previous playlist tab" msgstr "到前一個播放清單分頁" @@ -2594,7 +2542,7 @@ msgstr "依風格/專輯歸類" msgid "Group by Genre/Artist/Album" msgstr "依風格/演出者/專輯歸類" -#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1339 +#: library/savedgroupingmanager.cpp:89 playlist/playlist.cpp:1351 #: ui/organisedialog.cpp:67 ../bin/src/ui_groupbydialog.h:141 #: ../bin/src/ui_groupbydialog.h:160 ../bin/src/ui_groupbydialog.h:179 msgid "Grouping" @@ -2784,11 +2732,11 @@ msgstr "已安裝" msgid "Integrity check" msgstr "" -#: ui/mainwindow.cpp:272 +#: ui/mainwindow.cpp:271 msgid "Internet" msgstr "網路" -#: ui/settingsdialog.cpp:160 +#: ui/settingsdialog.cpp:156 msgid "Internet providers" msgstr "網際網路服務供應商" @@ -2805,6 +2753,10 @@ msgstr "" msgid "Invalid API key" msgstr "無效的 API key" +#: songinfo/streamdiscoverer.cpp:114 +msgid "Invalid URL" +msgstr "" + #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" msgstr "無效的格式" @@ -2861,7 +2813,7 @@ msgstr "Jamendo 資料庫" msgid "Jump to previous song right away" msgstr "" -#: ../bin/src/ui_mainwindow.h:705 +#: ../bin/src/ui_mainwindow.h:708 msgid "Jump to the currently playing track" msgstr "跳轉到目前播放的曲目" @@ -2885,7 +2837,7 @@ msgstr "當視窗關閉時,保持在背景運轉" msgid "Keep the original files" msgstr "保留原本的檔案" -#: ../bin/src/ui_mainwindow.h:697 +#: ../bin/src/ui_mainwindow.h:700 msgctxt "Label for buton to enable/disable kittens in the now playing widget" msgid "Kittens" msgstr "" @@ -2926,7 +2878,7 @@ msgstr "大型側邊欄" msgid "Last played" msgstr "最近播放" -#: playlist/playlist.cpp:1348 ../bin/src/ui_edittagdialog.h:707 +#: playlist/playlist.cpp:1360 ../bin/src/ui_edittagdialog.h:707 msgctxt "A playlist's tag." msgid "Last played" msgstr "" @@ -2967,12 +2919,12 @@ msgstr "最不喜歡的曲目" msgid "Left" msgstr "" -#: playlist/playlist.cpp:1321 ui/organisedialog.cpp:76 +#: playlist/playlist.cpp:1333 ui/organisedialog.cpp:76 #: ui/qtsystemtrayicon.cpp:254 ../bin/src/ui_edittagdialog.h:702 msgid "Length" msgstr "長度" -#: ui/mainwindow.cpp:251 ui/mainwindow.cpp:263 +#: ui/mainwindow.cpp:250 ui/mainwindow.cpp:262 #: ../bin/src/ui_seafilesettingspage.h:177 msgid "Library" msgstr "音樂庫" @@ -2981,7 +2933,7 @@ msgstr "音樂庫" msgid "Library advanced grouping" msgstr "音樂庫進階的歸類" -#: ui/mainwindow.cpp:2532 +#: ui/mainwindow.cpp:2566 msgid "Library rescan notice" msgstr "音樂庫重新掃描提示" @@ -3021,7 +2973,7 @@ msgstr "從磁碟載入封面..." msgid "Load playlist" msgstr "載入播放清單" -#: ../bin/src/ui_mainwindow.h:708 +#: ../bin/src/ui_mainwindow.h:711 msgid "Load playlist..." msgstr "載入播放清單..." @@ -3057,8 +3009,7 @@ msgstr "載入曲目資訊" #: library/librarymodel.cpp:164 #: internet/podcasts/podcastdiscoverymodel.cpp:105 widgets/prettyimage.cpp:168 -#: widgets/widgetfadehelper.cpp:96 internet/vk/vkservice.cpp:513 -#: internet/vk/vksettingspage.cpp:125 ../bin/src/ui_addpodcastdialog.h:179 +#: widgets/widgetfadehelper.cpp:96 ../bin/src/ui_addpodcastdialog.h:179 #: ../bin/src/ui_searchpreview.h:105 ../bin/src/ui_organisedialog.h:261 msgid "Loading..." msgstr "載入中..." @@ -3067,7 +3018,6 @@ msgstr "載入中..." msgid "Loads files/URLs, replacing current playlist" msgstr "載入檔案/網址,取代目前的播放清單" -#: internet/vk/vksettingspage.cpp:114 #: ../bin/src/ui_digitallyimportedsettingspage.h:162 #: ../bin/src/ui_magnatunesettingspage.h:163 #: ../bin/src/ui_soundcloudsettingspage.h:102 @@ -3077,8 +3027,7 @@ msgstr "載入檔案/網址,取代目前的播放清單" #: ../bin/src/ui_googledrivesettingspage.h:101 #: ../bin/src/ui_dropboxsettingspage.h:101 #: ../bin/src/ui_skydrivesettingspage.h:101 -#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_vksettingspage.h:215 -#: ../bin/src/ui_seafilesettingspage.h:172 +#: ../bin/src/ui_boxsettingspage.h:101 ../bin/src/ui_seafilesettingspage.h:172 msgid "Login" msgstr "登錄" @@ -3086,15 +3035,11 @@ msgstr "登錄" msgid "Login failed" msgstr "登錄失敗" -#: internet/vk/vksettingspage.cpp:124 -msgid "Logout" -msgstr "" - #: ../bin/src/ui_transcoderoptionsaac.h:136 msgid "Long term prediction profile (LTP)" msgstr "長時期預測規格 (LTP)" -#: ../bin/src/ui_mainwindow.h:677 +#: ../bin/src/ui_mainwindow.h:680 msgid "Love" msgstr "喜愛" @@ -3175,7 +3120,7 @@ msgstr "主規格 (MAIN)" msgid "Make it so!" msgstr "使它這樣的!" -#: ../bin/src/ui_mainwindow.h:696 +#: ../bin/src/ui_mainwindow.h:699 msgctxt "Label for button to enable/disable Enterprise background sound." msgid "Make it so!" msgstr "" @@ -3221,10 +3166,6 @@ msgstr "符合每個搜尋字詞(AND)" msgid "Match one or more search terms (OR)" msgstr "符合一個或更多搜尋字詞(OR)" -#: ../bin/src/ui_vksettingspage.h:217 -msgid "Max global search results" -msgstr "" - #: ../bin/src/ui_transcoderoptionsvorbis.h:208 msgid "Maximum bitrate" msgstr "最大位元率" @@ -3255,6 +3196,10 @@ msgstr "最小位元率" msgid "Minimum buffer fill" msgstr "" +#: songinfo/streamdiscoverer.cpp:120 +msgid "Missing plugins" +msgstr "" + #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" msgstr "略過 projectM 預設" @@ -3275,7 +3220,7 @@ msgstr "單聲道播放" msgid "Months" msgstr "月" -#: playlist/playlist.cpp:1376 +#: playlist/playlist.cpp:1388 msgid "Mood" msgstr "" @@ -3288,10 +3233,6 @@ msgstr "" msgid "Moodbars" msgstr "" -#: internet/vk/vkservice.cpp:517 -msgid "More" -msgstr "" - #: library/library.cpp:84 msgid "Most played" msgstr "最常播放的" @@ -3309,7 +3250,7 @@ msgstr "掛載點" msgid "Move down" msgstr "下移" -#: ui/mainwindow.cpp:697 widgets/fileviewlist.cpp:42 +#: ui/mainwindow.cpp:694 widgets/fileviewlist.cpp:42 msgid "Move to library..." msgstr "移到音樂庫..." @@ -3318,8 +3259,7 @@ msgstr "移到音樂庫..." msgid "Move up" msgstr "上移" -#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:1989 -#: internet/vk/vkservice.cpp:908 +#: transcoder/transcodedialog.cpp:225 ui/mainwindow.cpp:2016 msgid "Music" msgstr "音樂" @@ -3328,22 +3268,10 @@ msgid "Music Library" msgstr "音樂庫" #: core/globalshortcuts.cpp:63 wiimotedev/wiimotesettingspage.cpp:113 -#: ../bin/src/ui_mainwindow.h:715 +#: ../bin/src/ui_mainwindow.h:718 msgid "Mute" msgstr "靜音" -#: internet/vk/vkservice.cpp:840 -msgid "My Albums" -msgstr "" - -#: internet/vk/vkservice.cpp:901 -msgid "My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:525 -msgid "My Recommendations" -msgstr "我推薦的電台" - #: library/savedgroupingmanager.cpp:35 ui/equalizer.cpp:205 #: ../bin/src/ui_deviceproperties.h:368 ../bin/src/ui_wizardfinishpage.h:83 msgid "Name" @@ -3389,7 +3317,7 @@ msgstr "永不開始播放" msgid "New folder" msgstr "" -#: ui/mainwindow.cpp:1827 ../bin/src/ui_mainwindow.h:706 +#: ui/mainwindow.cpp:1832 ../bin/src/ui_mainwindow.h:709 msgid "New playlist" msgstr "新增播放清單" @@ -3418,7 +3346,7 @@ msgid "Next" msgstr "下一個" #: core/globalshortcuts.cpp:57 wiimotedev/wiimotesettingspage.cpp:104 -#: ../bin/src/ui_mainwindow.h:674 +#: ../bin/src/ui_mainwindow.h:677 msgid "Next track" msgstr "下一首曲目" @@ -3456,7 +3384,7 @@ msgstr "無短區塊" msgid "None" msgstr "沒有" -#: library/libraryview.cpp:640 ui/mainwindow.cpp:2295 ui/mainwindow.cpp:2441 +#: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" msgstr "所選歌曲沒有適合複製到裝置的" @@ -3505,10 +3433,6 @@ msgstr "沒有登錄" msgid "Not mounted - double click to mount" msgstr "未掛載 - 雙擊以掛載" -#: internet/vk/vksearchdialog.cpp:94 -msgid "Nothing found" -msgstr "" - #: ../bin/src/ui_notificationssettingspage.h:437 msgid "Notification type" msgstr "通知型式" @@ -3590,7 +3514,7 @@ msgstr "" msgid "Open %1 in browser" msgstr "在瀏覽器中開啟 %1" -#: ../bin/src/ui_mainwindow.h:692 +#: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." msgstr "開啟音樂光碟(&A)..." @@ -3610,7 +3534,7 @@ msgstr "" msgid "Open device" msgstr "開啟裝置" -#: ../bin/src/ui_mainwindow.h:691 +#: ../bin/src/ui_mainwindow.h:694 msgid "Open file..." msgstr "開啟檔案..." @@ -3664,7 +3588,7 @@ msgstr "" msgid "Organise Files" msgstr "組織檔案" -#: library/libraryview.cpp:405 ui/mainwindow.cpp:700 +#: library/libraryview.cpp:405 ui/mainwindow.cpp:697 msgid "Organise files..." msgstr "組織檔案..." @@ -3676,7 +3600,7 @@ msgstr "組織檔案中" msgid "Original tags" msgstr "原來的標籤" -#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1329 +#: library/savedgroupingmanager.cpp:101 playlist/playlist.cpp:1341 #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" @@ -3744,7 +3668,7 @@ msgstr "派對" msgid "Password" msgstr "密碼" -#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1142 ui/mainwindow.cpp:1638 +#: core/globalshortcuts.cpp:50 ui/mainwindow.cpp:1139 ui/mainwindow.cpp:1639 #: ui/qtsystemtrayicon.cpp:189 wiimotedev/wiimotesettingspage.cpp:114 msgid "Pause" msgstr "暫停" @@ -3757,7 +3681,7 @@ msgstr "暫停播放" msgid "Paused" msgstr "已暫停" -#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1337 +#: library/savedgroupingmanager.cpp:86 playlist/playlist.cpp:1349 #: ui/organisedialog.cpp:66 ../bin/src/ui_groupbydialog.h:140 #: ../bin/src/ui_groupbydialog.h:159 ../bin/src/ui_groupbydialog.h:178 #: ../bin/src/ui_edittagdialog.h:727 @@ -3772,14 +3696,14 @@ msgstr "" msgid "Plain sidebar" msgstr "樸素的側邊欄" -#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:672 ui/mainwindow.cpp:1108 -#: ui/mainwindow.cpp:1127 ui/mainwindow.cpp:1642 ui/qtsystemtrayicon.cpp:177 +#: core/globalshortcuts.cpp:49 ui/mainwindow.cpp:668 ui/mainwindow.cpp:1105 +#: ui/mainwindow.cpp:1124 ui/mainwindow.cpp:1643 ui/qtsystemtrayicon.cpp:177 #: ui/qtsystemtrayicon.cpp:203 wiimotedev/wiimotesettingspage.cpp:107 -#: ../bin/src/ui_mainwindow.h:672 +#: ../bin/src/ui_mainwindow.h:675 msgid "Play" msgstr "播放" -#: playlist/playlist.cpp:1344 ../bin/src/ui_edittagdialog.h:703 +#: playlist/playlist.cpp:1356 ../bin/src/ui_edittagdialog.h:703 msgid "Play count" msgstr "播放計數" @@ -3810,7 +3734,7 @@ msgstr "播放器選項" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 -#: playlist/playlistmanager.cpp:498 playlist/playlisttabbar.cpp:366 +#: playlist/playlistmanager.cpp:508 playlist/playlisttabbar.cpp:366 msgid "Playlist" msgstr "播放清單" @@ -3827,7 +3751,7 @@ msgstr "播放清單選擇" msgid "Playlist type" msgstr "播放清單類型" -#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:269 +#: internet/soundcloud/soundcloudservice.cpp:133 ui/mainwindow.cpp:268 msgid "Playlists" msgstr "播放清單" @@ -3868,11 +3792,11 @@ msgstr "" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 -#: ../bin/src/ui_lastfmsettingspage.h:134 ../bin/src/ui_vksettingspage.h:216 +#: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" msgstr "偏好設定" -#: ../bin/src/ui_mainwindow.h:686 +#: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." msgstr "偏好設定…" @@ -3932,7 +3856,7 @@ msgid "Previous" msgstr "往前" #: core/globalshortcuts.cpp:59 wiimotedev/wiimotesettingspage.cpp:106 -#: ../bin/src/ui_mainwindow.h:671 +#: ../bin/src/ui_mainwindow.h:674 msgid "Previous track" msgstr "上一首歌曲" @@ -3983,16 +3907,16 @@ msgstr "" msgid "Querying device..." msgstr "查詢裝置..." -#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:713 +#: ../bin/src/ui_queuemanager.h:124 ../bin/src/ui_mainwindow.h:716 msgid "Queue Manager" msgstr "佇列管理員" -#: ui/mainwindow.cpp:1735 +#: ui/mainwindow.cpp:1740 msgid "Queue selected tracks" msgstr "將選取的歌曲加入佇列中" #: globalsearch/globalsearchview.cpp:466 library/libraryview.cpp:389 -#: ui/mainwindow.cpp:1733 +#: ui/mainwindow.cpp:1738 msgid "Queue track" msgstr "將歌曲加入佇列中" @@ -4004,7 +3928,7 @@ msgstr "廣播 (為所有歌曲取得相同音量)" msgid "Rain" msgstr "下雨" -#: ../bin/src/ui_mainwindow.h:694 +#: ../bin/src/ui_mainwindow.h:697 msgctxt "Label for button to enable/disable rain background sound." msgid "Rain" msgstr "" @@ -4041,7 +3965,7 @@ msgstr "評價目前的歌曲 4 顆星" msgid "Rate the current song 5 stars" msgstr "評價目前的歌曲 5 顆星" -#: playlist/playlist.cpp:1342 ../bin/src/ui_edittagdialog.h:711 +#: playlist/playlist.cpp:1354 ../bin/src/ui_edittagdialog.h:711 msgid "Rating" msgstr "評分" @@ -4108,7 +4032,7 @@ msgstr "移除" msgid "Remove action" msgstr "刪除功能" -#: ../bin/src/ui_mainwindow.h:720 +#: ../bin/src/ui_mainwindow.h:723 msgid "Remove duplicates from playlist" msgstr "從播放清單中移除重複的" @@ -4116,15 +4040,7 @@ msgstr "從播放清單中移除重複的" msgid "Remove folder" msgstr "移除資料夾" -#: internet/vk/vkservice.cpp:328 -msgid "Remove from My Music" -msgstr "" - -#: internet/vk/vkservice.cpp:313 -msgid "Remove from bookmarks" -msgstr "" - -#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:701 +#: internet/spotify/spotifyservice.cpp:681 ../bin/src/ui_mainwindow.h:704 msgid "Remove from playlist" msgstr "從播放清單移除" @@ -4136,7 +4052,7 @@ msgstr "" msgid "Remove playlists" msgstr "" -#: ../bin/src/ui_mainwindow.h:726 +#: ../bin/src/ui_mainwindow.h:729 msgid "Remove unavailable tracks from playlist" msgstr "" @@ -4148,7 +4064,7 @@ msgstr "變更播放清單名稱" msgid "Rename playlist..." msgstr "重新命名播放清單" -#: ../bin/src/ui_mainwindow.h:683 +#: ../bin/src/ui_mainwindow.h:686 msgid "Renumber tracks in this order..." msgstr "按此順序重新為歌曲編號..." @@ -4198,7 +4114,7 @@ msgstr "重新填充" msgid "Require authentication code" msgstr "" -#: widgets/lineedit.cpp:52 ../bin/src/ui_vksettingspage.h:225 +#: widgets/lineedit.cpp:52 msgid "Reset" msgstr "重置" @@ -4239,7 +4155,7 @@ msgstr "" msgid "Rip CD" msgstr "" -#: ../bin/src/ui_mainwindow.h:725 +#: ../bin/src/ui_mainwindow.h:728 msgid "Rip audio CD" msgstr "" @@ -4269,8 +4185,9 @@ msgstr "安全地移除裝置" msgid "Safely remove the device after copying" msgstr "在複製之後,安全的移除裝置" -#: playlist/playlist.cpp:1357 ../bin/src/ui_edittagdialog.h:708 +#: playlist/playlist.cpp:1369 ../bin/src/ui_edittagdialog.h:708 #: ../bin/src/ui_playbacksettingspage.h:371 +#: ../bin/src/ui_streamdetailsdialog.h:141 msgid "Sample rate" msgstr "取樣頻率" @@ -4308,7 +4225,7 @@ msgctxt "Title of the playlist save dialog." msgid "Save playlist" msgstr "" -#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:707 +#: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." msgstr "儲存播放清單" @@ -4348,7 +4265,7 @@ msgstr "可變取樣率規格 (SSR)" msgid "Scale size" msgstr "" -#: playlist/playlist.cpp:1350 ../bin/src/ui_edittagdialog.h:709 +#: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" msgstr "分數" @@ -4365,12 +4282,12 @@ msgid "Seafile" msgstr "" #: ui/albumcoversearcher.cpp:165 ui/albumcoversearcher.cpp:182 -#: internet/vk/vkservice.cpp:534 ../bin/src/ui_gpoddersearchpage.h:74 -#: ../bin/src/ui_itunessearchpage.h:74 ../bin/src/ui_albumcoversearcher.h:113 +#: ../bin/src/ui_gpoddersearchpage.h:74 ../bin/src/ui_itunessearchpage.h:74 +#: ../bin/src/ui_albumcoversearcher.h:113 msgid "Search" msgstr "搜尋" -#: ui/mainwindow.cpp:260 ../bin/src/ui_globalsearchsettingspage.h:141 +#: ui/mainwindow.cpp:259 ../bin/src/ui_globalsearchsettingspage.h:141 msgctxt "Global search settings dialog title." msgid "Search" msgstr "" @@ -4513,7 +4430,7 @@ msgstr "" msgid "Service offline" msgstr "服務離線" -#: ui/mainwindow.cpp:1772 +#: ui/mainwindow.cpp:1777 #, qt-format msgid "Set %1 to \"%2\"..." msgstr "設定 %1 到「%2」..." @@ -4522,7 +4439,7 @@ msgstr "設定 %1 到「%2」..." msgid "Set the volume to percent" msgstr "設定音量到百分之" -#: ../bin/src/ui_mainwindow.h:684 +#: ../bin/src/ui_mainwindow.h:687 msgid "Set value for all selected tracks..." msgstr "為所有選擇的歌曲設定音量..." @@ -4589,7 +4506,7 @@ msgstr "顯示一個漂亮的螢幕顯示" msgid "Show above status bar" msgstr "顯示在狀態欄上方" -#: ui/mainwindow.cpp:639 +#: ui/mainwindow.cpp:635 msgid "Show all songs" msgstr "顯示所有歌曲" @@ -4609,16 +4526,12 @@ msgstr "顯示分隔線" msgid "Show fullsize..." msgstr "全螢幕..." -#: ../bin/src/ui_vksettingspage.h:219 -msgid "Show groups in global search result" -msgstr "" - -#: library/libraryview.cpp:423 ui/mainwindow.cpp:710 +#: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." msgstr "在檔案瀏覽器顯示..." -#: ui/mainwindow.cpp:712 +#: ui/mainwindow.cpp:709 msgid "Show in library..." msgstr "" @@ -4630,27 +4543,23 @@ msgstr "顯示各演出者" msgid "Show moodbar" msgstr "" -#: ui/mainwindow.cpp:641 +#: ui/mainwindow.cpp:637 msgid "Show only duplicates" msgstr "只顯示重複的" -#: ui/mainwindow.cpp:643 +#: ui/mainwindow.cpp:639 msgid "Show only untagged" msgstr "只顯示未標記的" -#: ../bin/src/ui_mainwindow.h:729 +#: ../bin/src/ui_mainwindow.h:733 msgid "Show or hide the sidebar" msgstr "" -#: ../bin/src/ui_vksettingspage.h:220 -msgid "Show playing song on your page" -msgstr "" - #: ../bin/src/ui_globalsearchsettingspage.h:149 msgid "Show search suggestions" msgstr "" -#: ../bin/src/ui_mainwindow.h:727 +#: ../bin/src/ui_mainwindow.h:731 msgid "Show sidebar" msgstr "" @@ -4686,7 +4595,7 @@ msgstr "隨機播放專輯" msgid "Shuffle all" msgstr "隨機播放所有歌曲" -#: ../bin/src/ui_mainwindow.h:688 +#: ../bin/src/ui_mainwindow.h:691 msgid "Shuffle playlist" msgstr "隨機排列播放清單" @@ -4722,7 +4631,7 @@ msgstr "強節奏流行音樂" msgid "Skip backwards in playlist" msgstr "跳至播放清單開頭" -#: playlist/playlist.cpp:1346 ../bin/src/ui_edittagdialog.h:705 +#: playlist/playlist.cpp:1358 ../bin/src/ui_edittagdialog.h:705 msgid "Skip count" msgstr "略過計數" @@ -4730,11 +4639,11 @@ msgstr "略過計數" msgid "Skip forwards in playlist" msgstr "跳至播放清單最後頭" -#: ui/mainwindow.cpp:1746 +#: ui/mainwindow.cpp:1751 msgid "Skip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1744 +#: ui/mainwindow.cpp:1749 msgid "Skip track" msgstr "" @@ -4766,7 +4675,7 @@ msgstr "比較輕柔的搖滾樂" msgid "Song Information" msgstr "歌曲資訊" -#: ui/mainwindow.cpp:280 +#: ui/mainwindow.cpp:279 msgid "Song info" msgstr "歌曲" @@ -4802,7 +4711,7 @@ msgstr "分類" msgid "SoundCloud" msgstr "" -#: playlist/playlist.cpp:1374 +#: playlist/playlist.cpp:1386 msgid "Source" msgstr "來源" @@ -4877,7 +4786,7 @@ msgid "Starting..." msgstr "開啟..." #: core/globalshortcuts.cpp:53 wiimotedev/wiimotesettingspage.cpp:108 -#: ../bin/src/ui_mainwindow.h:673 +#: ../bin/src/ui_mainwindow.h:676 msgid "Stop" msgstr "停止" @@ -4893,7 +4802,7 @@ msgstr "" msgid "Stop after every track" msgstr "" -#: ui/mainwindow.cpp:676 ../bin/src/ui_mainwindow.h:676 +#: ui/mainwindow.cpp:672 ../bin/src/ui_mainwindow.h:679 msgid "Stop after this track" msgstr "在這首歌之後停止" @@ -4922,6 +4831,10 @@ msgstr "已停止" msgid "Stream" msgstr "串流" +#: ../bin/src/ui_streamdetailsdialog.h:133 +msgid "Stream Details" +msgstr "" + #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " @@ -5031,6 +4944,10 @@ msgstr "目前播放歌曲的專輯封面" msgid "The directory %1 is not valid" msgstr "目錄%1是無效的" +#: songinfo/streamdiscoverer.cpp:118 +msgid "The discoverer is busy" +msgstr "" + #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" msgstr "第二個值必須大於第一個!" @@ -5049,7 +4966,7 @@ msgid "" "license key. Visit subsonic.org for details." msgstr "" -#: ui/mainwindow.cpp:2523 +#: ui/mainwindow.cpp:2557 msgid "" "The version of Clementine you've just updated to requires a full library " "rescan because of the new features listed below:" @@ -5091,7 +5008,7 @@ msgid "" "continue?" msgstr "這些檔案將從裝置上被移除,你確定你要繼續?" -#: library/libraryview.cpp:646 ui/mainwindow.cpp:2343 widgets/fileview.cpp:189 +#: library/libraryview.cpp:646 ui/mainwindow.cpp:2369 widgets/fileview.cpp:189 msgid "" "These files will be permanently deleted from disk, are you sure you want to " "continue?" @@ -5175,7 +5092,7 @@ msgstr "這種裝置不被支援: %1" msgid "Time step" msgstr "" -#: playlist/playlist.cpp:1315 ui/organisedialog.cpp:60 +#: playlist/playlist.cpp:1327 ui/organisedialog.cpp:60 #: ui/qtsystemtrayicon.cpp:247 ../bin/src/ui_about.h:141 #: ../bin/src/ui_edittagdialog.h:719 ../bin/src/ui_trackselectiondialog.h:210 #: ../bin/src/ui_ripcddialog.h:306 @@ -5194,11 +5111,11 @@ msgstr "拖曳漂亮的螢幕顯示" msgid "Toggle fullscreen" msgstr "切換全螢幕模式" -#: ui/mainwindow.cpp:1737 +#: ui/mainwindow.cpp:1742 msgid "Toggle queue status" msgstr "切換佇列狀態" -#: ../bin/src/ui_mainwindow.h:718 +#: ../bin/src/ui_mainwindow.h:721 msgid "Toggle scrobbling" msgstr "切換 scrobbling" @@ -5238,7 +5155,7 @@ msgstr "總發送網路請求" msgid "Trac&k" msgstr "" -#: playlist/playlist.cpp:1323 ui/organisedialog.cpp:69 +#: playlist/playlist.cpp:1335 ui/organisedialog.cpp:69 #: ../bin/src/ui_trackselectiondialog.h:212 ../bin/src/ui_ripcddialog.h:304 msgid "Track" msgstr "歌曲" @@ -5247,7 +5164,7 @@ msgstr "歌曲" msgid "Tracks" msgstr "" -#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:703 +#: ../bin/src/ui_transcodedialog.h:213 ../bin/src/ui_mainwindow.h:706 msgid "Transcode Music" msgstr "音樂轉碼" @@ -5284,6 +5201,10 @@ msgstr "關閉" msgid "URI" msgstr "URI" +#: ../bin/src/ui_streamdetailsdialog.h:134 +msgid "URL" +msgstr "" + #: core/commandlineoptions.cpp:152 msgid "URL(s)" msgstr "URL(s)" @@ -5309,9 +5230,9 @@ msgstr "無法下載 %1 (%2)" #: core/song.cpp:435 library/librarymodel.cpp:374 library/librarymodel.cpp:379 #: library/librarymodel.cpp:383 library/librarymodel.cpp:1156 #: library/savedgroupingmanager.cpp:103 playlist/playlistdelegates.cpp:305 -#: playlist/playlistmanager.cpp:505 playlist/playlistmanager.cpp:506 -#: ui/albumcoverchoicecontroller.cpp:126 ui/edittagdialog.cpp:463 -#: ui/edittagdialog.cpp:507 +#: playlist/playlistmanager.cpp:515 playlist/playlistmanager.cpp:516 +#: songinfo/streamdiscoverer.cpp:87 ui/albumcoverchoicecontroller.cpp:126 +#: ui/edittagdialog.cpp:463 ui/edittagdialog.cpp:507 msgid "Unknown" msgstr "未知的" @@ -5328,11 +5249,11 @@ msgstr "不明的錯誤" msgid "Unset cover" msgstr "未設置封面" -#: ui/mainwindow.cpp:1742 +#: ui/mainwindow.cpp:1747 msgid "Unskip selected tracks" msgstr "" -#: ui/mainwindow.cpp:1740 +#: ui/mainwindow.cpp:1745 msgid "Unskip track" msgstr "" @@ -5345,15 +5266,11 @@ msgstr "" msgid "Upcoming Concerts" msgstr "" -#: internet/vk/vkservice.cpp:347 -msgid "Update" -msgstr "" - #: internet/podcasts/podcastservice.cpp:420 msgid "Update all podcasts" msgstr "更新全部的 podcasts" -#: ../bin/src/ui_mainwindow.h:711 +#: ../bin/src/ui_mainwindow.h:714 msgid "Update changed library folders" msgstr "更新改變的音樂庫資料夾" @@ -5463,7 +5380,7 @@ msgstr "使用音量正常化" msgid "Used" msgstr "已用" -#: ui/settingsdialog.cpp:151 +#: ui/settingsdialog.cpp:147 msgid "User interface" msgstr "使用者介面" @@ -5489,7 +5406,7 @@ msgid "Variable bit rate" msgstr "可變位元率" #: globalsearch/globalsearchmodel.cpp:109 library/librarymodel.cpp:300 -#: playlist/playlistmanager.cpp:517 ui/albumcovermanager.cpp:273 +#: playlist/playlistmanager.cpp:527 ui/albumcovermanager.cpp:273 msgid "Various artists" msgstr "各種演出者" @@ -5502,11 +5419,15 @@ msgstr "版本 %1" msgid "View" msgstr "檢視" +#: ../bin/src/ui_mainwindow.h:730 +msgid "View Stream Details" +msgstr "" + #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" msgstr "視覺化模式" -#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:712 +#: ui/dbusscreensaver.cpp:33 ../bin/src/ui_mainwindow.h:715 msgid "Visualizations" msgstr "視覺化" @@ -5514,10 +5435,6 @@ msgstr "視覺化" msgid "Visualizations Settings" msgstr "視覺化設定" -#: ../bin/src/ui_vksettingspage.h:212 -msgid "Vk.com" -msgstr "" - #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" msgstr "語音活動偵測" @@ -5540,10 +5457,6 @@ msgstr "WAV" msgid "WMA" msgstr "WMA" -#: internet/vk/vkservice.cpp:882 -msgid "Wall" -msgstr "" - #: playlist/playlisttabbar.cpp:192 ../bin/src/ui_behavioursettingspage.h:315 msgid "Warn me when closing a playlist tab" msgstr "" @@ -5646,7 +5559,7 @@ msgid "" "well?" msgstr "" -#: ui/mainwindow.cpp:2530 +#: ui/mainwindow.cpp:2564 msgid "Would you like to run a full rescan right now?" msgstr "您想要立刻執行完整的重新掃描嗎?" @@ -5662,7 +5575,7 @@ msgstr "" msgid "Wrong username or password." msgstr "" -#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1327 +#: library/savedgroupingmanager.cpp:71 playlist/playlist.cpp:1339 #: ui/organisedialog.cpp:72 ../bin/src/ui_groupbydialog.h:134 #: ../bin/src/ui_groupbydialog.h:153 ../bin/src/ui_groupbydialog.h:172 #: ../bin/src/ui_trackselectiondialog.h:211 ../bin/src/ui_ripcddialog.h:312 From 1a477201edbf0294fedecb42d66a66efa5e26692 Mon Sep 17 00:00:00 2001 From: Ilya Selyuminov Date: Thu, 12 Jan 2017 18:58:44 +0300 Subject: [PATCH 23/26] Use CaseInsensitive file type checking #5499 (#5592) * Fix Seafile setting page loading Check access_token instead of QSetting parameters to make sure that we're logged in. * Use CaseInsensitive file type checking (#5499) CloudFileService and TagReader classes use QString::endWith() method for checking file type. This method is CaseSensitive by default. --- ext/libclementine-tagreader/tagreader.cpp | 8 +++++--- src/internet/core/cloudfileservice.cpp | 12 +++++++----- src/internet/seafile/seafilesettingspage.cpp | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/ext/libclementine-tagreader/tagreader.cpp b/ext/libclementine-tagreader/tagreader.cpp index 8969dde36..4440fd159 100644 --- a/ext/libclementine-tagreader/tagreader.cpp +++ b/ext/libclementine-tagreader/tagreader.cpp @@ -1104,19 +1104,21 @@ bool TagReader::ReadCloudFile(const QUrl& download_url, const QString& title, download_url, title, size, authorisation_header, network_)); stream->Precache(); std::unique_ptr tag; - if (mime_type == "audio/mpeg" && title.endsWith(".mp3")) { + if (mime_type == "audio/mpeg" && + title.endsWith(".mp3", Qt::CaseInsensitive)) { tag.reset(new TagLib::MPEG::File(stream.get(), TagLib::ID3v2::FrameFactory::instance(), TagLib::AudioProperties::Accurate)); } else if (mime_type == "audio/mp4" || - (mime_type == "audio/mpeg" && title.endsWith(".m4a"))) { + (mime_type == "audio/mpeg" && + title.endsWith(".m4a", Qt::CaseInsensitive))) { tag.reset(new TagLib::MP4::File(stream.get(), true, TagLib::AudioProperties::Accurate)); } #ifdef TAGLIB_HAS_OPUS else if ((mime_type == "application/opus" || mime_type == "audio/opus" || mime_type == "application/ogg" || mime_type == "audio/ogg") && - title.endsWith(".opus")) { + title.endsWith(".opus", Qt::CaseInsensitive)) { tag.reset(new TagLib::Ogg::Opus::File(stream.get(), true, TagLib::AudioProperties::Accurate)); } diff --git a/src/internet/core/cloudfileservice.cpp b/src/internet/core/cloudfileservice.cpp index a4034c213..896abf14e 100644 --- a/src/internet/core/cloudfileservice.cpp +++ b/src/internet/core/cloudfileservice.cpp @@ -219,15 +219,17 @@ bool CloudFileService::IsSupportedMimeType(const QString& mime_type) const { } QString CloudFileService::GuessMimeTypeForFile(const QString& filename) const { - if (filename.endsWith(".mp3")) { + if (filename.endsWith(".mp3", Qt::CaseInsensitive)) { return "audio/mpeg"; - } else if (filename.endsWith(".m4a") || filename.endsWith(".m4b")) { + } else if (filename.endsWith(".m4a", Qt::CaseInsensitive) || + filename.endsWith(".m4b", Qt::CaseInsensitive)) { return "audio/mpeg"; - } else if (filename.endsWith(".ogg") || filename.endsWith(".opus")) { + } else if (filename.endsWith(".ogg", Qt::CaseInsensitive) || + filename.endsWith(".opus", Qt::CaseInsensitive)) { return "application/ogg"; - } else if (filename.endsWith(".flac")) { + } else if (filename.endsWith(".flac", Qt::CaseInsensitive)) { return "application/x-flac"; - } else if (filename.endsWith(".wma")) { + } else if (filename.endsWith(".wma", Qt::CaseInsensitive)) { return "audio/x-ms-wma"; } return QString::null; diff --git a/src/internet/seafile/seafilesettingspage.cpp b/src/internet/seafile/seafilesettingspage.cpp index e2867ed43..88a5fae15 100644 --- a/src/internet/seafile/seafilesettingspage.cpp +++ b/src/internet/seafile/seafilesettingspage.cpp @@ -63,7 +63,7 @@ void SeafileSettingsPage::Load() { ui_->server->setText(s.value("server").toString()); ui_->mail->setText(s.value("mail").toString()); - if (!ui_->server->text().isEmpty() && !ui_->mail->text().isEmpty()) { + if (service_->has_credentials()) { ui_->login_state->SetLoggedIn(LoginStateWidget::LoggedIn, ui_->mail->text()); From 3485bbe438cbabc62618e102be5702c4d690f470 Mon Sep 17 00:00:00 2001 From: Bigard Florian Date: Thu, 12 Jan 2017 19:00:32 +0100 Subject: [PATCH 24/26] Workaround to spotify loading playlist issue (#5593) --- ext/clementine-spotifyblob/spotifyclient.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/clementine-spotifyblob/spotifyclient.cpp b/ext/clementine-spotifyblob/spotifyclient.cpp index 48af32316..957393060 100644 --- a/ext/clementine-spotifyblob/spotifyclient.cpp +++ b/ext/clementine-spotifyblob/spotifyclient.cpp @@ -433,8 +433,8 @@ void SpotifyClient::SendPlaylistList() { << sp_playlist_name(playlist); if (!is_loaded) { - qLog(Info) << "Playlist is not loaded yet, waiting..."; - return; + qLog(Info) << "Playlist is not loaded yet, jump to the next one..."; + continue; } if (type != SP_PLAYLIST_TYPE_PLAYLIST) { From b463e63dde04bb9a1b81826c7025f2738d83858b Mon Sep 17 00:00:00 2001 From: Clementine Buildbot Date: Mon, 16 Jan 2017 10:00:51 +0000 Subject: [PATCH 25/26] Automatic merge of translations from Transifex (https://www.transifex.com/projects/p/clementine/resource/clementineplayer) --- src/translations/ca.po | 30 +++---- src/translations/cs.po | 30 +++---- src/translations/de.po | 20 ++--- src/translations/el.po | 30 +++---- src/translations/en_GB.po | 30 +++---- src/translations/fr.po | 23 ++--- src/translations/hu.po | 32 +++---- src/translations/it.po | 30 +++---- src/translations/lt.po | 164 +++++++++++++++++------------------ src/translations/nl.po | 30 +++---- src/translations/pt.po | 36 ++++---- src/translations/pt_BR.po | 30 +++---- src/translations/ru.po | 74 ++++++++-------- src/translations/sk.po | 34 ++++---- src/translations/sr.po | 30 +++---- src/translations/sr@latin.po | 30 +++---- src/translations/zh_CN.po | 30 +++---- 17 files changed, 342 insertions(+), 341 deletions(-) diff --git a/src/translations/ca.po b/src/translations/ca.po index 010cf885f..0e896aac5 100644 --- a/src/translations/ca.po +++ b/src/translations/ca.po @@ -12,12 +12,12 @@ # FIRST AUTHOR , 2010 # Juanjo, 2016 # davidsansome , 2013 -# Roger Pueyo Centelles , 2011-2014 +# Roger Pueyo Centelles , 2011-2014,2017 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-12 15:40+0000\n" +"Last-Translator: Roger Pueyo Centelles \n" "Language-Team: Catalan (http://www.transifex.com/davidsansome/clementine/language/ca/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1108,7 +1108,7 @@ msgstr "El canvi en el paràmetre de reproducció monofònic serà efectiu per a #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Canals" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1395,7 +1395,7 @@ msgstr "El servidor ha rebutjat la connexió, comproveu l’URL del servidor. Ex #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "La connexió ha expirat" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1460,11 +1460,11 @@ msgstr "No s’ha pogut crear l’element «%1» de GStreamer. Comproveu que ten #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "No s'ha pogut detectar un flux d'àudio a %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "No s'han pogut obtenir els detalls" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1668,7 +1668,7 @@ msgstr "S’estan suprimint els fitxers" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Profunditat" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2105,7 +2105,7 @@ msgstr "S’ha produït un error en suprimir les cançons" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Hi ha hagut un error en descobrir %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2761,7 +2761,7 @@ msgstr "La clau de l’API no és vàlida" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "URL invàlida" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3204,7 +3204,7 @@ msgstr "Valor mínim de memòria" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Connectors que manquen" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4839,7 +4839,7 @@ msgstr "Flux de dades" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Detalls del flux" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4952,7 +4952,7 @@ msgstr "El directori %1 no es vàlid" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "El descobridor està ocupat" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5209,7 +5209,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5427,7 +5427,7 @@ msgstr "Vista" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Mostra els detalls del flux" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/cs.po b/src/translations/cs.po index 0de732304..42cea5421 100644 --- a/src/translations/cs.po +++ b/src/translations/cs.po @@ -15,14 +15,14 @@ # Pavel Fric , 2010 # Pavel Fric , 2004,2010 # fri, 2011-2012 -# fri, 2013-2016 +# fri, 2013-2017 # fri, 2011-2012 # mandarinki , 2011 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-12 22:00+0000\n" +"Last-Translator: fri\n" "Language-Team: Czech (http://www.transifex.com/davidsansome/clementine/language/cs/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1113,7 +1113,7 @@ msgstr "Změna nastavení jednokanálového přehrávání začne platit s dalš #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Kanály" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1400,7 +1400,7 @@ msgstr "Spojení odmítnuto serverem, prověřte adresu serveru (URL). Příklad #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Spojení vypršelo" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1465,11 +1465,11 @@ msgstr "Nepodařilo se vytvořit prvek GStreamer \"%1\" - ujistěte se, že mát #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Nepodařilo se zjistit zvukový proud v %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Nepodařilo se získat podrobnosti" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1673,7 +1673,7 @@ msgstr "Probíhá mazání souborů" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Hloubka" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2110,7 +2110,7 @@ msgstr "Chyba při mazání písní" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Chyba při objevování %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2766,7 +2766,7 @@ msgstr "Neplatný klíč API" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Neplatná adresa (URL)" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3209,7 +3209,7 @@ msgstr "Nejmenší naplnění vyrovnávací paměti" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Chybějící přídavné moduly" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4844,7 +4844,7 @@ msgstr "Proud" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Podrobnosti o proudu" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4957,7 +4957,7 @@ msgstr "Adresář \"%1\" je neplatný" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "Objevitel je zaneprázdněn" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5214,7 +5214,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "Adresa (URL)" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5432,7 +5432,7 @@ msgstr "Pohled" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Zobrazit podrobnosti o proudu" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/de.po b/src/translations/de.po index 5fda2b0a2..d905cda98 100644 --- a/src/translations/de.po +++ b/src/translations/de.po @@ -19,7 +19,7 @@ # daschuer , 2012 # Eduard Braun , 2015-2016 # El_Zorro_Loco , 2011-2012 -# Ettore Atalan , 2014-2016 +# Ettore Atalan , 2014-2017 # FIRST AUTHOR , 2010 # geroldmittelstaedt , 2012 # geroldmittelstaedt , 2012 @@ -61,8 +61,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-13 18:29+0000\n" +"Last-Translator: Ettore Atalan \n" "Language-Team: German (http://www.transifex.com/davidsansome/clementine/language/de/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1153,7 +1153,7 @@ msgstr "Die Monowiedergabeeinstellung wird für den nächsten Titel wirksam." #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Kanäle" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1440,7 +1440,7 @@ msgstr "Verbindung vom Server verweigert, bitte Server-Adresse überprüfen. Bei #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Zeitüberschreitung der Verbindung" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1509,7 +1509,7 @@ msgstr "" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Details konnten nicht abgerufen werden" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1713,7 +1713,7 @@ msgstr "Dateien werden gelöscht" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Tiefe" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2806,7 +2806,7 @@ msgstr "Ungültiger API-Schlüssel" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Ungültige URL" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -4884,7 +4884,7 @@ msgstr "Datenstrom" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Streamdetails" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -5254,7 +5254,7 @@ msgstr "Adresse" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" diff --git a/src/translations/el.po b/src/translations/el.po index 3600e4b7e..7044f890c 100644 --- a/src/translations/el.po +++ b/src/translations/el.po @@ -9,7 +9,7 @@ # Antony_256 , 2011, 2012 # Achilleas Pipinellis, 2013 # Achilleas Pipinellis, 2012 -# Dimitrios Glentadakis , 2016 +# Dimitrios Glentadakis , 2016-2017 # firewalker , 2013-2015 # firewalker , 2011-2012 # Nisok Kosin , 2012 @@ -23,8 +23,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-15 15:50+0000\n" +"Last-Translator: Dimitrios Glentadakis \n" "Language-Team: Greek (http://www.transifex.com/davidsansome/clementine/language/el/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1115,7 +1115,7 @@ msgstr "Η αλλαγή αναπαραγωγής mono θα ενεργοποιη #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Κανάλια" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1402,7 +1402,7 @@ msgstr "Ο διακομιστής αρνήθηκε τη σύνδεση, ελέγ #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Λήξη χρονικού ορίου σύνδεσης" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1467,11 +1467,11 @@ msgstr "Δεν μπόρεσε να δημιουργηθεί το στοιχεί #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Αδύνατος ο εντοπισμός μιας ροής ήχου στο %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Αδυναμία λήψης πληροφοριών" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1675,7 +1675,7 @@ msgstr "Γίνεται διαγραφή αρχείων" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Βάθος" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2112,7 +2112,7 @@ msgstr "Σφάλμα κατά την διαγραφή τραγουδιών" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Σφάλμα εξερεύνησης του %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2768,7 +2768,7 @@ msgstr "Εσφαλμένο κλειδί API" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Μη έγκυρο URL" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3211,7 +3211,7 @@ msgstr "Ελάχιστο πλήρωσης ρυθμιστικό" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Ελλείποντα πρόσθετα" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4846,7 +4846,7 @@ msgstr "Ροή" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Λεπτομέρειες ροής" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4959,7 +4959,7 @@ msgstr "Ο κατάλογος %1 δεν είναι έγκυρος" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "Ο εξερευνητής είναι απασχολημένος" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5216,7 +5216,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5434,7 +5434,7 @@ msgstr "Προβολή" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Προβολή λεπτομερειών της ροής" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/en_GB.po b/src/translations/en_GB.po index 4216084eb..01c444c68 100644 --- a/src/translations/en_GB.po +++ b/src/translations/en_GB.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the Clementine package. # # Translators: -# Andi Chandler , 2015-2016 +# Andi Chandler , 2015-2017 # davidsansome , 2010 # Luke Hollins , 2015 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-14 16:10+0000\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/davidsansome/clementine/language/en_GB/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1101,7 +1101,7 @@ msgstr "Changing mono playback preference will be effective for the next playing #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Channels" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1388,7 +1388,7 @@ msgstr "Connection refused by server, check server URL. Example: http://localhos #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Connection timed out" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1453,11 +1453,11 @@ msgstr "Could not create the GStreamer element \"%1\" - make sure you have all t #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Could not detect an audio stream in %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Could not get details" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1661,7 +1661,7 @@ msgstr "Deleting files" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Depth" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2098,7 +2098,7 @@ msgstr "Error deleting songs" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Error discovering %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2754,7 +2754,7 @@ msgstr "Invalid API key" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Invalid URL" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3197,7 +3197,7 @@ msgstr "Minimum buffer fill" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Missing plugins" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4832,7 +4832,7 @@ msgstr "Stream" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Stream Details" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4945,7 +4945,7 @@ msgstr "The directory %1 is not valid" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "The discoverer is busy" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5202,7 +5202,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5420,7 +5420,7 @@ msgstr "View" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "View Stream Details" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/fr.po b/src/translations/fr.po index bc49415ec..39d161c40 100644 --- a/src/translations/fr.po +++ b/src/translations/fr.po @@ -23,6 +23,7 @@ # Gabriel Cossette , 2012 # hiveNzin0 , 2011 # Gwenn M , 2011 +# Gregory DC , 2017 # hiveNzin0 , 2011 # Irizion , 2012 # jb78180 , 2012 @@ -48,8 +49,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-12 22:58+0000\n" +"Last-Translator: Gregory DC \n" "Language-Team: French (http://www.transifex.com/davidsansome/clementine/language/fr/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1140,7 +1141,7 @@ msgstr "Le changement de la préférence de lecture monophonique sera effectif p #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Canaux" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1427,7 +1428,7 @@ msgstr "Connexion refusée par le serveur. Vérifiez son URL. Exemple : http://l #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Expiration du délai d'établissement de la connexion" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1492,11 +1493,11 @@ msgstr "Impossible de créer l'élément GStreamer « %1 » - vérifier que les #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Aucun flux audio détecté dans %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Ne peut récupérer les détails" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -2793,7 +2794,7 @@ msgstr "API key invalide" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "URL invalide" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3236,7 +3237,7 @@ msgstr "Remplissage minimum du tampon" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "plugins manquants" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4871,7 +4872,7 @@ msgstr "Flux" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Détails du flux" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -5241,7 +5242,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5459,7 +5460,7 @@ msgstr "Vue" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Afficher détails du flux" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/hu.po b/src/translations/hu.po index a940bf41a..9ba10aac5 100644 --- a/src/translations/hu.po +++ b/src/translations/hu.po @@ -4,7 +4,7 @@ # # Translators: # andrewtranslates , 2014 -# Balázs Meskó , 2015-2016 +# Balázs Meskó , 2015-2017 # FIRST AUTHOR , 2010 # gyeben , 2012 # lukibeni , 2012 @@ -17,8 +17,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-12 16:03+0000\n" +"Last-Translator: Balázs Meskó \n" "Language-Team: Hungarian (http://www.transifex.com/davidsansome/clementine/language/hu/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1109,7 +1109,7 @@ msgstr "A mono lejátszás bekapcsolása csak a következő zeneszámnál lesz #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Csatornák" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1396,7 +1396,7 @@ msgstr "A szerver elutasította a kapcsolódást, ellenőrizd a linket. Példa: #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "A kapcsolat időtúllépés miatt megszakadt" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1461,11 +1461,11 @@ msgstr "Nem hozható létre a \"%1\" GStreamer objektum. Ellenőrizze, hogy tele #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "A hangfolyam nem észlelhető itt: %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "A részletek nem kérhetőek le" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1669,7 +1669,7 @@ msgstr "Fájlok törlése" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Mélység" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2106,7 +2106,7 @@ msgstr "Hiba történt a számok törlése közben" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Hiba a következő feltérképezésekor: %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2762,7 +2762,7 @@ msgstr "Érvénytelen API kulcs" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Érvénytelen URL" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3205,7 +3205,7 @@ msgstr "Minimum puffer" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Hiányzó bővítmények" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4840,13 +4840,13 @@ msgstr "Adatfolyam" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Adatfolyam részletei" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" "Streaming from a Subsonic server requires a valid server license after the " "30-day trial period." -msgstr "A Subsonic szerverről való streamelés érvényes szerver licenszt igényel a 30 napos próbaidő után." +msgstr "A Subsonic szerverről való streamelés érvényes kiszolgáló licenct igényel a 30 napos próbaidő után." #: ../bin/src/ui_magnatunesettingspage.h:159 msgid "Streaming membership" @@ -4953,7 +4953,7 @@ msgstr "A %1 mappa érvénytelen" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "A feltérképező foglalt" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5210,7 +5210,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5428,7 +5428,7 @@ msgstr "Nézet" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Adatfolyam részleteinek megtekintése" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/it.po b/src/translations/it.po index ee4c348d7..9e8b4e9bd 100644 --- a/src/translations/it.po +++ b/src/translations/it.po @@ -8,12 +8,12 @@ # Saverio , 2014-2015 # Vincenzo Reale , 2011, 2012 # Vincenzo Reale , 2010 -# Vincenzo Reale , 2012-2016 +# Vincenzo Reale , 2012-2017 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-12 16:23+0000\n" +"Last-Translator: Vincenzo Reale \n" "Language-Team: Italian (http://www.transifex.com/davidsansome/clementine/language/it/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1104,7 +1104,7 @@ msgstr "La modifica dell'impostazione di riproduzione mono avrà effetto per i p #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Canali" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1391,7 +1391,7 @@ msgstr "Connessione rifiutata dal server, controlla l'URL del server. Esempio: h #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Connessione scaduta" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1456,11 +1456,11 @@ msgstr "Impossibile creare l'elemento «%1» di GStreamer - assicurati che tutti #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Impossibile rilevare un flusso audio in %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Impossibile ottenere i dettagli" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1664,7 +1664,7 @@ msgstr "Eliminazione dei file" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Profondità" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2101,7 +2101,7 @@ msgstr "Errore durante l'eliminazione dei brani" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Errore durante la rilevazione di %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2757,7 +2757,7 @@ msgstr "Chiave API non valida" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "URL non valido" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3200,7 +3200,7 @@ msgstr "Valore minimo buffer" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Estensioni mancanti" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4835,7 +4835,7 @@ msgstr "Flusso" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Dettagli flusso" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4948,7 +4948,7 @@ msgstr "La cartella %1 non è valida" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "Il rilevatore è occupato" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5205,7 +5205,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5423,7 +5423,7 @@ msgstr "Visualizza" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Visualizza dettagli flusso" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/lt.po b/src/translations/lt.po index 1984e8ee9..a4b136736 100644 --- a/src/translations/lt.po +++ b/src/translations/lt.po @@ -6,14 +6,14 @@ # FIRST AUTHOR , 2010 # Kiprianas Spiridonovas , 2012 # Liudas Ališauskas , 2012-2014 -# Moo, 2014-2016 +# Moo, 2014-2017 # pencininkas4 , 2012 # pencininkas4 , 2012 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-12 18:44+0000\n" +"Last-Translator: Moo\n" "Language-Team: Lithuanian (http://www.transifex.com/davidsansome/clementine/language/lt/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -27,7 +27,7 @@ msgid "" "You can favorite playlists by clicking the star icon next to a playlist name\n" "\n" "Favorited playlists will be saved here" -msgstr "\n\nGalite įvertinti grojaraščius spaudžiant žvaigždės piktogramą šalia pavadinimo\n\nĮvertinti grojaraščiai bus išsaugoti čia" +msgstr "\n\nGalite įvertinti grojaraščius spaudžiant žvaigždės piktogramą šalia pavadinimo\n\nĮvertinti grojaraščiai bus įrašyti čia" #: ../bin/src/ui_podcastsettingspage.h:270 msgid " days" @@ -219,7 +219,7 @@ msgstr "&Dainų žodžiai" #: ../bin/src/ui_mainwindow.h:736 msgid "&Music" -msgstr "Muzika" +msgstr "&Muzika" #: ../bin/src/ui_globalshortcutssettingspage.h:175 msgid "&None" @@ -227,7 +227,7 @@ msgstr "&Nieko" #: ../bin/src/ui_mainwindow.h:737 msgid "&Playlist" -msgstr "Grojaraštis" +msgstr "&Grojaraštis" #: ../bin/src/ui_mainwindow.h:678 msgid "&Quit" @@ -235,7 +235,7 @@ msgstr "&Baigti" #: ../bin/src/ui_mainwindow.h:703 msgid "&Repeat mode" -msgstr "Kartojimo režimas" +msgstr "&Kartojimo režimas" #: playlist/playlistheader.cpp:49 msgid "&Right" @@ -243,7 +243,7 @@ msgstr "&Dešinė" #: ../bin/src/ui_mainwindow.h:702 msgid "&Shuffle mode" -msgstr "Maišymo veiksena" +msgstr "&Maišymo veiksena" #: playlist/playlistheader.cpp:34 msgid "&Stretch columns to fit window" @@ -251,7 +251,7 @@ msgstr "&Ištempti stulpelius, kad užpildytų langą" #: ../bin/src/ui_mainwindow.h:740 msgid "&Tools" -msgstr "Įrankiai" +msgstr "Į&rankiai" #: ../bin/src/ui_edittagdialog.h:724 msgid "&Year" @@ -330,7 +330,7 @@ msgid "" "directly into the file each time they changed.

Please note it might " "not work for every format and, as there is no standard for doing so, other " "music players might not be able to read them.

" -msgstr "

Jei nepažymėta, Clementine bandys išsaugoti jūsų vertinimus ir statistiką kitoje duomenų bazėje ir nekeis jūsų failų.

Jei pažymėta, statistika bus saugoma duomenų bazėje ir pačiame faile.

Turėkite omeny jog tai gali neveikti su kai kuriais formatais, nėra standarto kaip tai daryti, nekurie grotuvai gali nesugebėti perskaityti tų duomenų.

" +msgstr "

Jei nepažymėta, Clementine bandys įrašyti jūsų vertinimus ir statistiką kitoje duomenų bazėje ir nekeis jūsų failų.

Jei pažymėta, statistika bus įrašoma duomenų bazėje ir pačiame faile.

Turėkite omenyje, jog tai gali neveikti su kai kuriais formatais, kadangi nėra standarto kaip tai daryti, kiti grotuvai gali nesugebėti perskaityti tų duomenų.

" #: ../bin/src/ui_libraryfilterwidget.h:104 #, qt-format @@ -349,7 +349,7 @@ msgid "" "files tags for all your library's songs.

This is not needed if the " ""Save ratings and statistics in file tags" option has always been " "activated.

" -msgstr "

Tai įrašys dainos įvertinimą ir statistiką į failo žymes visoms jūsų fonotekos dainoms.

Tai nereikalinga jei "Saugoti įvertinimus ir statistiką failo žymėse" pasirinkti visada buvo įjungta.

" +msgstr "

Tai įrašys dainos įvertinimą ir statistiką į failo žymes visoms jūsų fonotekos dainoms.

Tai nereikalinga jei "Įrašyti įvertinimus ir statistiką į failo žymes" parinktis visada buvo įjungta.

" #: songinfo/artistbiography.cpp:265 #, qt-format @@ -358,7 +358,7 @@ msgid "" "href=\"%1\">%2, which is released under the Creative Commons" " Attribution-Share-Alike License 3.0.

" -msgstr "" +msgstr "

Šiame straipsnyje yra naudojama medžiaga iš Vikipedijos straipsnio %2, kuris yra išleistas pagal Creative Commons priskyrimo-analogiško platinimo licenciją 3.0.

" #: ../bin/src/ui_organisedialog.h:250 msgid "" @@ -866,11 +866,11 @@ msgstr "Klausti išsaugant" #: ../bin/src/ui_networkremotesettingspage.h:250 #: ../bin/src/ui_ripcddialog.h:322 msgid "Audio format" -msgstr "Audio formatas" +msgstr "Garso formatas" #: ../bin/src/ui_playbacksettingspage.h:361 msgid "Audio output" -msgstr "Audio išvestis" +msgstr "Garso išvestis" #: internet/digitally/digitallyimportedsettingspage.cpp:82 #: internet/magnatune/magnatunesettingspage.cpp:117 @@ -964,7 +964,7 @@ msgstr "Įprasta mėlyna" #: ../bin/src/ui_digitallyimportedsettingspage.h:166 msgid "Basic audio type" -msgstr "Paprastas audio tipas" +msgstr "Paprastas garso tipas" #: ../bin/src/ui_behavioursettingspage.h:311 msgid "Behavior" @@ -1100,11 +1100,11 @@ msgstr "Pakeitimai įsigalios, pradėjus groti kitai dainai" msgid "" "Changing mono playback preference will be effective for the next playing " "songs" -msgstr "Mono perklausos nustatymų keitimas suveiks kitoms grojamoms dainoms." +msgstr "Mono perklausos nuostatų keitimas suveiks kitoms grojamoms dainoms." #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Kanalai" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1254,7 +1254,7 @@ msgstr "Paspauskite čia, kad pridėti muziką" msgid "" "Click here to favorite this playlist so it will be saved and remain " "accessible through the \"Playlists\" panel on the left side bar" -msgstr "Spauskite, kad pažymėti šį grojaraštį, tam kad jis būtų išsaugotas ir pasiekiamas per „Grojaraščiai“ kortelę kairėje šoninėje juostoje" +msgstr "Spauskite, kad pažymėtumėte šį grojaraštį, tam, kad jis būtų įrašytas ir pasiekiamas per „Grojaraščiai“ kortelę kairėje šoninėje juostoje" #: ../bin/src/ui_trackslider.h:71 msgid "Click to toggle between remaining time and total time" @@ -1273,7 +1273,7 @@ msgstr "Spaudžiant prisijungimo mygtuką atsivers interneto naršyklė. Jūs tu #: widgets/didyoumean.cpp:37 msgid "Close" -msgstr "Uždaryti" +msgstr "Užverti" #: playlist/playlisttabbar.cpp:55 msgid "Close playlist" @@ -1391,7 +1391,7 @@ msgstr "Ryšį serveris atmetė, patikrinkite serverio URL. Pvz.: http://localho #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Baigėsi ryšiui skirtas laikas" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1416,7 +1416,7 @@ msgstr "Konvertuoti visą įrenginio nepalaikomą muziką" #: ../bin/src/ui_networkremotesettingspage.h:247 msgid "Convert lossless audiofiles before sending them to the remote." -msgstr "Konvertuoti nenuostolingus garso įrašų failus prieš išsiunčiant juos į nuotolinę vietą." +msgstr "Konvertuoti nenuostolinguosius garso įrašų failus prieš išsiunčiant juos į nuotolinę vietą." #: ../bin/src/ui_networkremotesettingspage.h:249 msgid "Convert lossless files" @@ -1456,11 +1456,11 @@ msgstr "Nepavyko sukurti „GStreamer“ elemento \"%1\" - įsitikinkite ar įdi #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Nepavyko aptikti garso srauto ties %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Nepavyko gauti išsamesnės informacijos" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1664,7 +1664,7 @@ msgstr "Trinami failai" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Gylis" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -1765,7 +1765,7 @@ msgstr "Nevientisa transliacija" #: internet/core/searchboxwidget.cpp:34 library/libraryfilterwidget.cpp:109 #: ../bin/src/ui_librarysettingspage.h:206 msgid "Display options" -msgstr "Rodymo nuostatos" +msgstr "Rodymo parinktys" #: core/commandlineoptions.cpp:176 msgid "Display the on-screen-display" @@ -1797,7 +1797,7 @@ msgid "" "Doing a full rescan will lose any metadata you've saved in Clementine such " "as cover art, play counts and ratings. Clementine will rescan all your " "music in Google Drive which may take some time." -msgstr "Atlikę pilną perskenavimą, prarasite visus meta duomenis, kuriuos išsaugojote Clementine, tokius kaip viršelio paveikslėliai, grojimo skaitiklis ir įvertinimai. Clementine iš naujo perskenuos visą jūsų muziką Google Drive, o tai gali užtrukti kažkiek laiko." +msgstr "Atlikę pilną perskenavimą, prarasite visus meta duomenis, kuriuos įrašėte Clementine, tokius kaip viršelio paveikslėliai, grojimo skaitiklis ir įvertinimai. Clementine iš naujo perskenuos visą jūsų muziką Google Drive, o tai gali užtrukti kažkiek laiko." #: widgets/osd.cpp:308 ../bin/src/ui_playlistsequence.h:110 msgid "Don't repeat" @@ -1908,7 +1908,7 @@ msgstr "Atsiunčiamas Magnatune katalogas" #: internet/spotify/spotifyblobdownloader.cpp:56 msgid "Downloading Spotify plugin" -msgstr "Siunčiamas Spotify plėtinys" +msgstr "Atsiunčiamas Spotify plėtinys" #: musicbrainz/tagfetcher.cpp:107 msgid "Downloading metadata" @@ -2101,11 +2101,11 @@ msgstr "Klaida trinant dainas" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Klaida aptinkant %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" -msgstr "Klaida siunčiant Spotify plėtinį" +msgstr "Klaida atsisiunčiant Spotify plėtinį" #: playlist/songloaderinserter.cpp:64 #, qt-format @@ -2124,7 +2124,7 @@ msgstr "Klaida apdorojant %1: %2" #: playlist/songloaderinserter.cpp:94 msgid "Error while loading audio CD" -msgstr "Klaida įkeliant audio CD" +msgstr "Klaida įkeliant garso CD" #: library/library.cpp:68 msgid "Ever played" @@ -2423,7 +2423,7 @@ msgstr "Kadrai per buferį" #: internet/subsonic/subsonicservice.cpp:106 msgid "Frequently Played" -msgstr "" +msgstr "Dažnai groti" #: moodbar/moodbarrenderer.cpp:173 msgid "Frozen" @@ -2522,7 +2522,7 @@ msgstr "Grupuoti pagal Albumą" #: library/libraryfilterwidget.cpp:150 msgid "Group by Album artist/Album" -msgstr "" +msgstr "Grupuoti pagal Albumo atlikėją/Albumą" #: library/libraryfilterwidget.cpp:143 msgid "Group by Artist" @@ -2552,11 +2552,11 @@ msgstr "Grupavimas" #: library/libraryfilterwidget.cpp:211 msgid "Grouping Name" -msgstr "" +msgstr "Grupavimo pavadinimas" #: library/libraryfilterwidget.cpp:211 msgid "Grouping name:" -msgstr "" +msgstr "Grupavimo pavadinimas:" #: internet/podcasts/podcasturlloader.cpp:206 msgid "HTML page did not contain any RSS feeds" @@ -2757,7 +2757,7 @@ msgstr "Netinkamas API raktas" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Netinkamas URL" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -2833,7 +2833,7 @@ msgstr "Laikyti mygtukus %1 sekundžių..." #: ../bin/src/ui_behavioursettingspage.h:314 msgid "Keep running in the background when the window is closed" -msgstr "Veikti fone kai langas uždaromas" +msgstr "Veikti fone kai langas užveriamas" #: ../bin/src/ui_organisedialog.h:244 msgid "Keep the original files" @@ -3074,7 +3074,7 @@ msgstr "Žodžiai iš %1" #: songinfo/taglyricsinfoprovider.cpp:29 msgid "Lyrics from the tag" -msgstr "" +msgstr "Dainos žodžiai iš žymės" #: transcoder/transcoder.cpp:235 msgid "M4A AAC" @@ -3137,7 +3137,7 @@ msgstr "Netinkamas atsakymas" #: ../bin/src/ui_libraryfilterwidget.h:102 msgid "Manage saved groupings" -msgstr "" +msgstr "Tvarkyti įrašytus grupavimus" #: ../bin/src/ui_networkproxysettingspage.h:159 msgid "Manual proxy configuration" @@ -3200,7 +3200,7 @@ msgstr "Minimalus buferio užpildas" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Trūksta plėtinių" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -3286,7 +3286,7 @@ msgstr "Pavadinimas" #: ../bin/src/ui_organisedialog.h:248 msgid "Naming options" -msgstr "Pavadinimų nustatymai" +msgstr "Pavadinimų parinktys" #: ../bin/src/ui_transcoderoptionsspeex.h:229 msgid "Narrow band (NB)" @@ -3337,7 +3337,7 @@ msgstr "Nauji takeliai bus pridėti automatiškai." #: internet/subsonic/subsonicservice.cpp:100 msgid "Newest" -msgstr "" +msgstr "Naujausi" #: library/library.cpp:92 msgid "Newest tracks" @@ -3518,7 +3518,7 @@ msgstr "Atverti %1 naršyklėje" #: ../bin/src/ui_mainwindow.h:695 msgid "Open &audio CD..." -msgstr "Atverti &audio CD..." +msgstr "Atverti &garso CD..." #: internet/podcasts/addpodcastdialog.cpp:243 msgid "Open OPML file" @@ -3580,7 +3580,7 @@ msgstr "Optimizuoti kokybei" #: ../bin/src/ui_networkremotesettingspage.h:251 #: ../bin/src/ui_ripcddialog.h:321 msgid "Options..." -msgstr "Pasirinktys..." +msgstr "Parinktys..." #: ../bin/src/ui_transcodersettingspage.h:180 msgid "Opus" @@ -3606,16 +3606,16 @@ msgstr "Originalios žymės" #: ui/organisedialog.cpp:73 ../bin/src/ui_groupbydialog.h:135 #: ../bin/src/ui_groupbydialog.h:154 ../bin/src/ui_groupbydialog.h:173 msgid "Original year" -msgstr "" +msgstr "Pradiniai metai" #: library/savedgroupingmanager.cpp:98 ../bin/src/ui_groupbydialog.h:137 #: ../bin/src/ui_groupbydialog.h:156 ../bin/src/ui_groupbydialog.h:175 msgid "Original year - Album" -msgstr "" +msgstr "Pradiniai metai - Albumas" #: library/library.cpp:118 msgid "Original year tag support" -msgstr "" +msgstr "Pradinių metų žymės palaikymas" #: core/commandlineoptions.cpp:176 msgid "Other options" @@ -3732,7 +3732,7 @@ msgstr "Grojimas" #: core/commandlineoptions.cpp:153 msgid "Player options" -msgstr "Leistuvo parinktys" +msgstr "Grotuvo parinktys" #: playlist/playlistcontainer.cpp:290 playlist/playlistlistcontainer.cpp:228 #: playlist/playlistmanager.cpp:86 playlist/playlistmanager.cpp:155 @@ -3759,7 +3759,7 @@ msgstr "Grojaraščiai" #: ../data/oauthsuccess.html:38 msgid "Please close your browser and return to Clementine." -msgstr "Prašome uždaryti Jūsų naršyklę, kad grįžti į Clementine." +msgstr "Prašome užverti savo naršyklę ir grįžti į Clementine." #: ../bin/src/ui_spotifysettingspage.h:213 msgid "Plugin status:" @@ -3776,7 +3776,7 @@ msgstr "Pop" #: ../bin/src/ui_notificationssettingspage.h:443 msgid "Popup duration" -msgstr "Pranešino rodymo trukmė" +msgstr "Iškylančiojo pranešimo rodymo trukmė" #: ../bin/src/ui_networkproxysettingspage.h:165 #: ../bin/src/ui_networkremotesettingspage.h:224 @@ -3789,18 +3789,18 @@ msgstr "Sustiprinti" #: ../bin/src/ui_seafilesettingspage.h:176 msgid "Preference" -msgstr "Nustatymas" +msgstr "Nuostata" #: ../bin/src/ui_digitallyimportedsettingspage.h:165 #: ../bin/src/ui_magnatunesettingspage.h:165 #: ../bin/src/ui_spotifysettingspage.h:215 ../bin/src/ui_settingsdialog.h:115 #: ../bin/src/ui_lastfmsettingspage.h:134 msgid "Preferences" -msgstr "Nustatymai" +msgstr "Nuostata" #: ../bin/src/ui_mainwindow.h:689 msgid "Preferences..." -msgstr "Nustatymai..." +msgstr "Nuostatos..." #: ../bin/src/ui_librarysettingspage.h:201 msgid "Preferred album art filenames (comma separated)" @@ -3808,7 +3808,7 @@ msgstr "Pageidaujamas viršelio paveikslėlio failo pavadinimas (atskirta kablel #: ../bin/src/ui_magnatunesettingspage.h:166 msgid "Preferred audio format" -msgstr "Pageidaujamas audio formatas" +msgstr "Pageidaujamas garso formatas" #: ../bin/src/ui_spotifysettingspage.h:216 msgid "Preferred bitrate" @@ -3820,7 +3820,7 @@ msgstr "Pageidaujamas formatas" #: ../bin/src/ui_digitallyimportedsettingspage.h:173 msgid "Premium audio type" -msgstr "Premium audio tipas" +msgstr "Premium garso tipas" #: ../bin/src/ui_equalizer.h:163 msgid "Preset:" @@ -3845,7 +3845,7 @@ msgstr "Spaudžiant grotuve mygtuką \"Ankstesnis Takelis\" bus..." #: ../bin/src/ui_notificationssettingspage.h:457 msgid "Pretty OSD options" -msgstr "Gražus OSD" +msgstr "Gražaus OSD parinktys" #: ../bin/src/ui_searchpreview.h:104 ../bin/src/ui_songinfosettingspage.h:157 #: ../bin/src/ui_notificationssettingspage.h:452 @@ -3937,7 +3937,7 @@ msgstr "Lietus" #: internet/subsonic/subsonicservice.cpp:103 msgid "Random" -msgstr "" +msgstr "Atsitiktinai" #: ../bin/src/ui_visualisationselector.h:111 msgid "Random visualization" @@ -3978,7 +3978,7 @@ msgstr "Tikrai atšaukti?" #: internet/subsonic/subsonicservice.cpp:112 msgid "Recently Played" -msgstr "" +msgstr "Neseniai groti" #: internet/subsonic/subsonicsettingspage.cpp:158 msgid "Redirect limit exceeded, verify server configuration." @@ -4177,7 +4177,7 @@ msgstr "SOCKS įgaliotasis serveris" msgid "" "SSL handshake error, verify server configuration. SSLv3 option below may " "workaround some issues." -msgstr "SSL komunikacijos klaida, patikrinkite serverio konfigūraciją. SSLv3 nustatymas žemiau gali padėti išspręsti kai kurias problemas." +msgstr "SSL komunikacijos klaida, patikrinkite serverio konfigūraciją. SSLv3 parinktis žemiau gali padėti išspręsti kai kurias problemas." #: devices/deviceview.cpp:204 msgid "Safely remove device" @@ -4199,33 +4199,33 @@ msgstr "Išrankosdažnis" #: ../bin/src/ui_appearancesettingspage.h:294 msgid "Save .mood files in your music library" -msgstr "Saugoti .mood failus Jūsų fonotekoje" +msgstr "Įrašyti .mood failus jūsų fonotekoje" #: ui/albumcoverchoicecontroller.cpp:129 msgid "Save album cover" -msgstr "Išsaugoti albumo viršelį" +msgstr "Įrašyti albumo viršelį" #: ui/albumcoverchoicecontroller.cpp:62 msgid "Save cover to disk..." -msgstr "Išsaugoti albumo viršelį į diską..." +msgstr "Įrašyti albumo viršelį į diską..." #: ../bin/src/ui_libraryfilterwidget.h:101 msgid "Save current grouping" -msgstr "" +msgstr "Įrašyti esamą grupavimą" #: widgets/prettyimage.cpp:185 widgets/prettyimage.cpp:230 msgid "Save image" -msgstr "Išsaugoti paveikslėlį" +msgstr "Įrašyti paveikslėlį" #: playlist/playlistlistcontainer.cpp:72 msgctxt "Save playlist menu action." msgid "Save playlist" -msgstr "Išsaugoti grojaraštį" +msgstr "Įrašyti grojaraštį" #: playlist/playlistmanager.cpp:229 msgctxt "Title of the playlist save dialog." msgid "Save playlist" -msgstr "Išsaugoti grojaraštį" +msgstr "Įrašyti grojaraštį" #: playlist/playlisttabbar.cpp:59 ../bin/src/ui_mainwindow.h:710 msgid "Save playlist..." @@ -4233,23 +4233,23 @@ msgstr "Įrašyti grojaraštį..." #: ui/equalizer.cpp:205 ../bin/src/ui_equalizer.h:165 msgid "Save preset" -msgstr "Išsaugoti šabloną" +msgstr "Įrašyti šabloną" #: ../bin/src/ui_librarysettingspage.h:192 msgid "Save ratings in file tags when possible" -msgstr "Jei įmanoma, įvertinimus ir failo žymes saugoti" +msgstr "Kai įmanoma, įrašyti įvertinimus į failo žymes" #: ../bin/src/ui_librarysettingspage.h:196 msgid "Save statistics in file tags when possible" -msgstr "Jei įmanoma, statistiką saugoti failo žymėse" +msgstr "Kai įmanoma, įrašyti statistiką į failo žymes" #: ../bin/src/ui_addstreamdialog.h:114 msgid "Save this stream in the Internet tab" -msgstr "Išsaugoti šį srautą interneto kortelėje" +msgstr "Įrašyti šį srautą interneto kortelėje" #: ../bin/src/ui_savedgroupingmanager.h:101 msgid "Saved Grouping Manager" -msgstr "" +msgstr "Įrašytų grupavimų tvarkytuvė" #: library/library.cpp:194 msgid "Saving songs statistics into songs files" @@ -4835,7 +4835,7 @@ msgstr "Srautas" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Išsamesnė srauto informacija" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4926,7 +4926,7 @@ msgstr "Techno" #: ../bin/src/ui_notificationssettingspage.h:466 msgid "Text options" -msgstr "Teksto nustatymai" +msgstr "Teksto parinktys" #: ui/about.cpp:74 msgid "Thanks to" @@ -4948,7 +4948,7 @@ msgstr "Aplankas %1 yra netinkamas" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "Atradėjas užimtas" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5046,7 +5046,7 @@ msgstr "Albumas yra negalimas prašomu formatu" #: ../bin/src/ui_playlistsaveoptionsdialog.h:97 msgid "This can be changed later through the preferences" -msgstr "Vėliau tai gali būti pakeista per nustatymus" +msgstr "Vėliau tai gali būti pakeista nuostatose" #: ../bin/src/ui_deviceproperties.h:380 msgid "" @@ -5079,7 +5079,7 @@ msgstr "Tai pirmas kartas kai prijungėte šį įrenginį. Clementine dabar nusk #: playlist/playlisttabbar.cpp:197 msgid "This option can be changed in the \"Behavior\" preferences" -msgstr "Ši pasirinktis gali būti pakeista „Elgsena“ dalyje" +msgstr "Ši parinktis gali būti pakeista „Elgsenos“ nuostatose" #: internet/lastfm/lastfmservice.cpp:265 msgid "This stream is for paid subscribers only" @@ -5107,7 +5107,7 @@ msgstr "Šiandien" #: core/globalshortcuts.cpp:69 msgid "Toggle Pretty OSD" -msgstr "Išjungti gražųjį OSD" +msgstr "Išjungti gražų OSD" #: visualisations/visualisationcontainer.cpp:102 msgid "Toggle fullscreen" @@ -5185,7 +5185,7 @@ msgstr "Perkoduojami %1 failai naudojant %2 gijų" #: ../bin/src/ui_transcoderoptionsdialog.h:53 msgid "Transcoding options" -msgstr "Perkodavimo pasirinktys" +msgstr "Perkodavimo parinktys" #: core/song.cpp:426 msgid "TrueAudio" @@ -5205,7 +5205,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5423,7 +5423,7 @@ msgstr "Rodymas" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Rodyti išsamesnę srauto informaciją" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" @@ -5435,7 +5435,7 @@ msgstr "Vaizdiniai" #: ../bin/src/ui_visualisationoverlay.h:184 msgid "Visualizations Settings" -msgstr "Vaizdinio nustatymai" +msgstr "Vizualizavimų nustatymai" #: ../bin/src/ui_transcoderoptionsspeex.h:232 msgid "Voice activity detection" @@ -5666,7 +5666,7 @@ msgstr "Jums nebūtina prisijungti, norint ieškoti ir klausytis muzikos sistemo msgid "" "You have been logged out of Spotify, please re-enter your password in the " "Settings dialog." -msgstr "Jūs atsijungėte iš Spotify, prašome įvesti savo slaptažodį nustatymų dialogo lange dar kartą. " +msgstr "Jūs atsijungėte iš Spotify, prašome dar kartą nustatymų dialogo lange įvesti savo slaptažodį. " #: internet/spotify/spotifysettingspage.cpp:160 msgid "You have been logged out of Spotify, please re-enter your password." @@ -5681,7 +5681,7 @@ msgid "" "You need to launch System Preferences and allow Clementine to \"control your computer\" to use global " "shortcuts in Clementine." -msgstr "Norėdami visuotinai naudoti Clementine sparčiuosius klavišus, privalote paleisti Sistemos Nuostatas ir leisti Clementine \"valdyti jūsų kompiuterį\"." +msgstr "Norėdami visuotinai naudoti Clementine sparčiuosius klavišus, privalote paleisti Sistemos nuostatas ir leisti Clementine \"valdyti jūsų kompiuterį\"." #: ../bin/src/ui_behavioursettingspage.h:321 msgid "You will need to restart Clementine if you change the language." diff --git a/src/translations/nl.po b/src/translations/nl.po index cec4028fe..32c622e12 100644 --- a/src/translations/nl.po +++ b/src/translations/nl.po @@ -10,14 +10,14 @@ # Sparkrin , 2011-2012 # TheLastProject, 2012 # Senno Kaasjager , 2014 -# Senno Kaasjager , 2014-2016 +# Senno Kaasjager , 2014-2017 # PapaCoen , 2012 # valorcurse , 2012 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-12 19:59+0000\n" +"Last-Translator: Senno Kaasjager \n" "Language-Team: Dutch (http://www.transifex.com/davidsansome/clementine/language/nl/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1108,7 +1108,7 @@ msgstr "Het aanpassen naar mono afspelen zal actief worden bij het afspelen van #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Kanalen" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1395,7 +1395,7 @@ msgstr "Verbinding geweigerd door server, controleer de URL van de server. Bijvo #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Verbinding time-out" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1460,11 +1460,11 @@ msgstr "Kan GStreamer element ‘%1’ niet aanmaken - zorg ervoor dat u alle ve #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Kon geen audio stream vinden in %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Kon geen details ophalen" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1668,7 +1668,7 @@ msgstr "Bestanden worden verwijderd" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Diepte" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2105,7 +2105,7 @@ msgstr "Fout tijdens het verwijderen van de nummers" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Fout bij ontdekken van %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2761,7 +2761,7 @@ msgstr "Ongeldige API-sleutel" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Ongeldige URL" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3204,7 +3204,7 @@ msgstr "Minimale buffervulling" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Plugins ontbreken" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4839,7 +4839,7 @@ msgstr "Radiostream" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Stream Details" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4952,7 +4952,7 @@ msgstr "De map %1 is niet geldig" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "De ontdekker is bezig" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5209,7 +5209,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5427,7 +5427,7 @@ msgstr "Weergave" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Bekijk Stream Details" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/pt.po b/src/translations/pt.po index ce3c567bb..27c3f4ea6 100644 --- a/src/translations/pt.po +++ b/src/translations/pt.po @@ -10,12 +10,12 @@ # Hugo Carvalho , 2015 # João Santos , 2015 # Alexandro Casanova , 2013 -# Sérgio Marques , 2011-2016 +# Sérgio Marques , 2011-2017 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-14 15:47+0000\n" +"Last-Translator: Sérgio Marques \n" "Language-Team: Portuguese (http://www.transifex.com/davidsansome/clementine/language/pt/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1106,7 +1106,7 @@ msgstr "A alteração a esta preferência de reprodução produzirá efeito nas #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Canais" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1393,7 +1393,7 @@ msgstr "Ligação recusada pelo servidor. Verifique o URL. Por exemplo: http://l #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Ligação expirada" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1458,11 +1458,11 @@ msgstr "Incapaz de criar o elemento GStreamer \"%1\" - certifique-se que tem ins #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Incapaz de detetar a emissão áudio em %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Incapaz de obter os detalhes" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1473,14 +1473,14 @@ msgstr "Não foi possível criar a lista de reprodução" msgid "" "Couldn't find a muxer for %1, check you have the correct GStreamer plugins " "installed" -msgstr "Incapaz de encontrar o recurso para %1 - certifique-se que tem instalados todos os suplementos necessários" +msgstr "Incapaz de encontrar o recurso para %1, verifique se instalou os suplementos GStreamer corretos" #: transcoder/transcoder.cpp:419 #, qt-format msgid "" "Couldn't find an encoder for %1, check you have the correct GStreamer " "plugins installed" -msgstr "Incapaz de encontrar o codificador para %1 - certifique-se que tem instalados todos os suplementos necessários" +msgstr "Incapaz de encontrar o codificador para %1, verifique se instalou os suplementos GStreamer corretos" #: internet/magnatune/magnatunedownloaddialog.cpp:224 #, qt-format @@ -1666,7 +1666,7 @@ msgstr "A eliminar ficheiros" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Extensão" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2103,7 +2103,7 @@ msgstr "Erro ao eliminar faixas" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Erro ao descobrir %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2759,7 +2759,7 @@ msgstr "Chave API inválida" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "URL inválido" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3202,7 +3202,7 @@ msgstr "Valor mínimo de memória" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Suplementos em falta" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4003,7 +4003,7 @@ msgstr "Atualizar lista de estações" #: internet/digitally/digitallyimportedservicebase.cpp:178 msgid "Refresh streams" -msgstr "Atualizar emissões" +msgstr "Recarregar emissões" #: ui/equalizer.cpp:146 msgid "Reggae" @@ -4837,7 +4837,7 @@ msgstr "Emissão" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Detalhes da emissão" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4950,7 +4950,7 @@ msgstr "O diretório %1 é inválido" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "A descoberta está ocupada" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5207,7 +5207,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5425,7 +5425,7 @@ msgstr "Ver" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Ver detalhes da emissão" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/pt_BR.po b/src/translations/pt_BR.po index da7102e74..3eab2183f 100644 --- a/src/translations/pt_BR.po +++ b/src/translations/pt_BR.po @@ -6,7 +6,7 @@ # Alexandro Casanova , 2013-2014 # Amilton Pereira cavalcante , 2013 # bedi1982 , 2012 -# carlo giusepe tadei valente sasaki , 2014-2016 +# carlo giusepe tadei valente sasaki , 2014-2017 # carlo giusepe tadei valente sasaki , 2014 # FIRST AUTHOR , 2010 # Gustavo Brito Sampaio , 2014 @@ -19,8 +19,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-12 16:20+0000\n" +"Last-Translator: carlo giusepe tadei valente sasaki \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/davidsansome/clementine/language/pt_BR/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1111,7 +1111,7 @@ msgstr "Alterar a saída mono terá efeito para as próximas músicas a serem to #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Canais" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1398,7 +1398,7 @@ msgstr "Conexão recusada pelo servidor, verifique a URL do servidor. Exemplo: h #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "A conexão expirou" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1463,11 +1463,11 @@ msgstr "Incapaz de criar o elemento GStreamer \"%1\" - confira se você possui t #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Não foi possível detectar uma transmissão de áudio em %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Não foi possível obter os detalhes" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1671,7 +1671,7 @@ msgstr "Apagando arquivos" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Profundidade" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2108,7 +2108,7 @@ msgstr "Erro ao apagar músicas" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Erro ao descobrir %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2764,7 +2764,7 @@ msgstr "Chave API inválida" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "URL inválida" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3207,7 +3207,7 @@ msgstr "Preenchimento mínimo do buffer" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Plugins ausentes" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4842,7 +4842,7 @@ msgstr "Transmissão" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Detalhes da transmissão" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4955,7 +4955,7 @@ msgstr "O diretório %1 não é válido" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "O detector está ocupado" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5212,7 +5212,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5430,7 +5430,7 @@ msgstr "Exibir" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Ver detalhes da transmissão" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/ru.po b/src/translations/ru.po index bc303edd4..a2bf66299 100644 --- a/src/translations/ru.po +++ b/src/translations/ru.po @@ -8,7 +8,7 @@ # Alexander, 2012 # Alexander Vysotskiy , 2012 # Andrei Demin , 2014 -# Andrei Stepanov, 2014-2016 +# Andrei Stepanov, 2014-2017 # Andy Dufrane <>, 2012 # arnaudbienner , 2011 # Максим Дронь , 2013 @@ -35,8 +35,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-15 14:34+0000\n" +"Last-Translator: Andrei Stepanov\n" "Language-Team: Russian (http://www.transifex.com/davidsansome/clementine/language/ru/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -54,7 +54,7 @@ msgstr "\n\nВы можете занести плейлист в избранн #: ../bin/src/ui_podcastsettingspage.h:270 msgid " days" -msgstr "дней" +msgstr " дней" #: ../bin/src/ui_transcoderoptionsaac.h:129 #: ../bin/src/ui_transcoderoptionsmp3.h:194 @@ -66,30 +66,30 @@ msgstr "дней" #: ../bin/src/ui_transcoderoptionsvorbis.h:210 #: ../bin/src/ui_transcoderoptionswma.h:79 msgid " kbps" -msgstr "кбит/с" +msgstr " кбит/с" #: ../bin/src/ui_playbacksettingspage.h:347 #: ../bin/src/ui_playbacksettingspage.h:350 #: ../bin/src/ui_playbacksettingspage.h:364 msgid " ms" -msgstr "мс" +msgstr " мс" #: ../bin/src/ui_songinfosettingspage.h:156 msgid " pt" -msgstr "пунктов" +msgstr " пунктов" #: ../bin/src/ui_behavioursettingspage.h:367 msgid " s" -msgstr "с" +msgstr " с" #: ../bin/src/ui_notificationssettingspage.h:444 #: ../bin/src/ui_visualisationselector.h:115 msgid " seconds" -msgstr "секунд" +msgstr " секунд" #: ../bin/src/ui_querysortpage.h:143 msgid " songs" -msgstr "песен" +msgstr " песен" #: widgets/osd.cpp:195 #, qt-format @@ -767,7 +767,7 @@ msgstr "Всех переводчиков" #: library/library.cpp:98 msgid "All tracks" -msgstr "Все композиции" +msgstr "Все треки" #: ../bin/src/ui_networkremotesettingspage.h:242 msgid "Allow a client to download music from this computer." @@ -862,7 +862,7 @@ msgstr "Вы действительно хотите сбросить стати msgid "" "Are you sure you want to write song's statistics into song's file for all " "the songs of your library?" -msgstr "Вы действительно хотите записывать статистику во все файлы композиций вашей фонотеки?" +msgstr "Вы действительно хотите записывать статистику во все файлы вашей фонотеки?" #: library/savedgroupingmanager.cpp:62 playlist/playlist.cpp:1329 #: ui/organisedialog.cpp:62 ui/qtsystemtrayicon.cpp:249 @@ -1127,7 +1127,7 @@ msgstr "Изменение настроек воспроизведения мо #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Каналы" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1341,7 +1341,7 @@ msgstr "Заполнить поля автоматически" #: ../bin/src/ui_mainwindow.h:720 msgid "Complete tags automatically..." -msgstr "Заполнить поля автоматически" +msgstr "Заполнить теги автоматически" #: library/savedgroupingmanager.cpp:74 playlist/playlist.cpp:1347 #: ui/organisedialog.cpp:65 ../bin/src/ui_groupbydialog.h:131 @@ -1414,12 +1414,12 @@ msgstr "Соединение отвергнуто сервером, провер #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Время соединения истекло" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" "Connection timed out, check server URL. Example: http://localhost:4040/" -msgstr "Превышено время ожидания при установке соединения, проверьте адрес сервера. Пример: http://localhost:4040/" +msgstr "Время ожидания соединения истекло, проверьте адрес сервера. Пример: http://localhost:4040/" #: ../bin/src/ui_console.h:79 ../bin/src/ui_mainwindow.h:701 msgid "Console" @@ -1479,11 +1479,11 @@ msgstr "Невозможно создать элемент GStreamer \"%1\" - у #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Не удалось определить поток аудио в течении %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Не удалось получить информацию" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1687,7 +1687,7 @@ msgstr "Удаление файлов" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Глубина" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2124,7 +2124,7 @@ msgstr "Ошибка удаления композиций" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Обнаружена ошибка %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2739,7 +2739,7 @@ msgstr "Индексация %1" #: wiimotedev/wiimotesettingspage.cpp:139 ../bin/src/ui_deviceproperties.h:372 msgid "Information" -msgstr "Сведения" +msgstr "Информация" #: ../bin/src/ui_ripcddialog.h:300 msgid "Input options" @@ -2780,7 +2780,7 @@ msgstr "Неверный ключ API" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Недопустимый адрес" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3223,7 +3223,7 @@ msgstr "Наим. заполнение буфера" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Отсутствуют плагины" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -3411,7 +3411,7 @@ msgstr "Ничего" #: library/libraryview.cpp:640 ui/mainwindow.cpp:2321 ui/mainwindow.cpp:2467 msgid "None of the selected songs were suitable for copying to a device" -msgstr "Ни одна из выбранных песен не будет скопирована на устройство" +msgstr "Ни одна из выбранных песен не была скопирована на устройство" #: moodbar/moodbarrenderer.cpp:169 msgid "Normal" @@ -3452,7 +3452,7 @@ msgstr "Не установлен" #: globalsearch/globalsearchsettingspage.cpp:120 #: globalsearch/searchproviderstatuswidget.cpp:47 msgid "Not logged in" -msgstr "Вход не выполнен " +msgstr "Вход не выполнен" #: devices/deviceview.cpp:113 msgid "Not mounted - double click to mount" @@ -4107,7 +4107,7 @@ msgstr "Повторять плейлист" #: widgets/osd.cpp:311 ../bin/src/ui_playlistsequence.h:111 msgid "Repeat track" -msgstr "Повторять композицию" +msgstr "Повторять трек" #: devices/deviceview.cpp:221 globalsearch/globalsearchview.cpp:457 #: internet/core/internetservice.cpp:55 library/libraryview.cpp:381 @@ -4280,7 +4280,7 @@ msgstr "Сохранение статистики композиций в фай #: ui/edittagdialog.cpp:711 ui/trackselectiondialog.cpp:255 msgid "Saving tracks" -msgstr "Сохранение композиций" +msgstr "Сохранение треков" #: ../bin/src/ui_transcoderoptionsaac.h:135 msgid "Scalable sampling rate profile (SSR)" @@ -4292,7 +4292,7 @@ msgstr "Размер масштабирования" #: playlist/playlist.cpp:1362 ../bin/src/ui_edittagdialog.h:709 msgid "Score" -msgstr "Счет" +msgstr "Счёт" #: ../bin/src/ui_lastfmsettingspage.h:135 msgid "Scrobble tracks that I listen to" @@ -4300,7 +4300,7 @@ msgstr "Скробблить треки, которые я слушаю" #: ../bin/src/ui_behavioursettingspage.h:313 msgid "Scroll over icon to change track" -msgstr "Скроллинг над значком переключает композиции" +msgstr "Скроллинг над значком переключает треки" #: ../bin/src/ui_seafilesettingspage.h:164 msgid "Seafile" @@ -4554,7 +4554,7 @@ msgstr "Показать в полный размер…" #: library/libraryview.cpp:423 ui/mainwindow.cpp:707 #: widgets/fileviewlist.cpp:53 msgid "Show in file browser..." -msgstr "Показать в диспетчере файлов" +msgstr "Открыть в диспетчере файлов" #: ui/mainwindow.cpp:709 msgid "Show in library..." @@ -4858,7 +4858,7 @@ msgstr "Поток" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Информация о потоке" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4971,7 +4971,7 @@ msgstr "Каталог %1 неправильный" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "Искатель занят" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5228,7 +5228,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "Адрес" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5446,7 +5446,7 @@ msgstr "Просмотр" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Информация о потоке" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" @@ -5657,7 +5657,7 @@ msgstr "Можно изменить способ организации комп msgid "" "You can listen to Magnatune songs for free without an account. Purchasing a" " membership removes the messages at the end of each track." -msgstr "Прослушивание композиций с Magnatune бесплатно и не требует регистрации. Регистрация убирает сообщения в конце каждой композиции." +msgstr "Прослушивание треков с Magnatune бесплатно и не требует регистрации. Регистрация убирает сообщения в конце каждой композиции." #: ../bin/src/ui_backgroundstreamssettingspage.h:56 msgid "You can listen to background streams at the same time as other music." @@ -5697,7 +5697,7 @@ msgstr "Произошёл выход из Spotify. Введите ваш пар #: songinfo/lastfmtrackinfoprovider.cpp:85 msgid "You love this track" -msgstr "Вам нравится эта композиция" +msgstr "Вам нравится этот трек" #: ../bin/src/ui_globalshortcutssettingspage.h:169 msgid "" @@ -5927,4 +5927,4 @@ msgstr "стоп" #: widgets/osd.cpp:114 #, qt-format msgid "track %1" -msgstr "композиция %1" +msgstr "трек %1" diff --git a/src/translations/sk.po b/src/translations/sk.po index bd7804020..b4c1181d7 100644 --- a/src/translations/sk.po +++ b/src/translations/sk.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the Clementine package. # # Translators: -# Dušan Kazik , 2015-2016 +# Dušan Kazik , 2015-2017 # bs_ , 2013 # Ján Ďanovský , 2011-2016 # LeviTaule , 2015 @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-14 10:37+0000\n" +"Last-Translator: Dušan Kazik \n" "Language-Team: Slovak (http://www.transifex.com/davidsansome/clementine/language/sk/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -450,7 +450,7 @@ msgstr "Detaily účtu" #: ../bin/src/ui_digitallyimportedsettingspage.h:160 msgid "Account details (Premium)" -msgstr "Podrobnosti účtu (prémium)" +msgstr "Podrobnosti o účte (prémium)" #: ../bin/src/ui_wiimotesettingspage.h:181 msgid "Action" @@ -1104,7 +1104,7 @@ msgstr "Zmena nastavenia mono prehrávania bude účinná pre nasledujúce prehr #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Kanály" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1391,7 +1391,7 @@ msgstr "Spojenie odmietnuté serverom, skontrolujte URL adresu serveru. Príklad #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Spojenie vypršalo" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1456,11 +1456,11 @@ msgstr "Nedal sa vytvoriť GStreamer element \"%1\" - uistite sa, že máte nain #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Nepodarilo sa rozpoznať zvukový stream v %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Nepodarilo sa získať podrobnosti" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1664,7 +1664,7 @@ msgstr "Odstraňujú sa súbory" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Hĺbka" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2101,7 +2101,7 @@ msgstr "Chyba pri vymazávaní piesní" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Chyba pri prehľadávaní %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2757,7 +2757,7 @@ msgstr "Neplatný API kľúč" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Neplatná URL" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3200,7 +3200,7 @@ msgstr "Nejmenšie naplnenie vyrovnávacej pamäte" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Chýbajúce zásuvné moduly" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4426,7 +4426,7 @@ msgstr "URL adresa servera" #: ../bin/src/ui_subsonicsettingspage.h:124 msgid "Server details" -msgstr "Podrobnosti servera" +msgstr "Podrobnosti o serveri" #: internet/lastfm/lastfmservice.cpp:263 msgid "Service offline" @@ -4835,7 +4835,7 @@ msgstr "Stream" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Podrobnosti o streame" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4948,7 +4948,7 @@ msgstr "Priečinok %1 nieje platný" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "Nástroj na prehľadávanie je zaneprázdnený" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5205,7 +5205,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5423,7 +5423,7 @@ msgstr "Zobraziť" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Zobraziť podrobnosti o streame" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/sr.po b/src/translations/sr.po index b37064811..3540766d8 100644 --- a/src/translations/sr.po +++ b/src/translations/sr.po @@ -6,12 +6,12 @@ # Mladen Pejaković , 2014 # FIRST AUTHOR , 2010 # Jovana Savic , 2012 -# Mladen Pejaković , 2014-2016 +# Mladen Pejaković , 2014-2017 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-12 16:12+0000\n" +"Last-Translator: Mladen Pejaković \n" "Language-Team: Serbian (http://www.transifex.com/davidsansome/clementine/language/sr/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1102,7 +1102,7 @@ msgstr "Измена ће бити активна за наступајуће п #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Канала" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1389,7 +1389,7 @@ msgstr "Сервер је одбио везу, проверите УРЛ. При #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Истекло прековреме повезивања" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1454,11 +1454,11 @@ msgstr "Не могу да направим Гстример елемент „% #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Не могу да откријем ток звука у %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Не могу да добавим детаље" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1662,7 +1662,7 @@ msgstr "Бришем фајлове" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Дубина" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2099,7 +2099,7 @@ msgstr "Грешка брисања песама" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Грешка откривања %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2755,7 +2755,7 @@ msgstr "Неважећи АПИ кључ" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Неисправан УРЛ" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3198,7 +3198,7 @@ msgstr "Најмањи испун бафера" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Недостају прикључци" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4833,7 +4833,7 @@ msgstr "Ток" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Детаљи тока" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4946,7 +4946,7 @@ msgstr "Директоријум „%1“ није исправан" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "Откривач је заузет" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5203,7 +5203,7 @@ msgstr "УРИ" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "УРЛ" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5421,7 +5421,7 @@ msgstr "Приказ" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Прикажи детаље тока" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/sr@latin.po b/src/translations/sr@latin.po index 9ba94a8e7..8e85a72a5 100644 --- a/src/translations/sr@latin.po +++ b/src/translations/sr@latin.po @@ -6,12 +6,12 @@ # Mladen Pejaković , 2014 # FIRST AUTHOR , 2010-2011 # Jovana Savic , 2012 -# Mladen Pejaković , 2014-2016 +# Mladen Pejaković , 2014-2017 msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-12 16:12+0000\n" +"Last-Translator: Mladen Pejaković \n" "Language-Team: Serbian (Latin) (http://www.transifex.com/davidsansome/clementine/language/sr@latin/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1102,7 +1102,7 @@ msgstr "Izmena će biti aktivna za nastupajuće pesme" #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "Kanala" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1389,7 +1389,7 @@ msgstr "Server je odbio vezu, proverite URL. Primer: http://localhost:4040/" #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "Isteklo prekovreme povezivanja" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1454,11 +1454,11 @@ msgstr "Ne mogu da napravim Gstrimer element „%1“ - proverite da li su insta #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "Ne mogu da otkrijem tok zvuka u %1" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "Ne mogu da dobavim detalje" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1662,7 +1662,7 @@ msgstr "Brišem fajlove" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "Dubina" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2099,7 +2099,7 @@ msgstr "Greška brisanja pesama" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "Greška otkrivanja %1: %2" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2755,7 +2755,7 @@ msgstr "Nevažeći API ključ" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "Neispravan URL" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3198,7 +3198,7 @@ msgstr "Najmanji ispun bafera" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "Nedostaju priključci" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4833,7 +4833,7 @@ msgstr "Tok" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "Detalji toka" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4946,7 +4946,7 @@ msgstr "Direktorijum „%1“ nije ispravan" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "Otkrivač je zauzet" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5203,7 +5203,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5421,7 +5421,7 @@ msgstr "Prikaz" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "Prikaži detalje toka" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" diff --git a/src/translations/zh_CN.po b/src/translations/zh_CN.po index cab8fcd47..382c83998 100644 --- a/src/translations/zh_CN.po +++ b/src/translations/zh_CN.po @@ -9,7 +9,7 @@ # xaojan , 2012 # davidsansome , 2010,2014 # mabier , 2014 -# Tong Hui , 2016 +# Tong Hui , 2016-2017 # walking , 2013 # xaojan , 2012 # Xinkai Chen , 2012 @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: Clementine Music Player\n" -"PO-Revision-Date: 2017-01-12 13:21+0000\n" -"Last-Translator: Clementine Buildbot \n" +"PO-Revision-Date: 2017-01-15 20:23+0000\n" +"Last-Translator: Tong Hui \n" "Language-Team: Chinese (China) (http://www.transifex.com/davidsansome/clementine/language/zh_CN/)\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1112,7 +1112,7 @@ msgstr "单声道回放设置的改变将在下首歌曲播放时生效" #: ../bin/src/ui_streamdetailsdialog.h:137 msgid "Channels" -msgstr "" +msgstr "频道" #: ../bin/src/ui_podcastsettingspage.h:252 msgid "Check for new episodes" @@ -1399,7 +1399,7 @@ msgstr "连接被服务器拒绝,请检查服务器链接。例如: http://loc #: songinfo/streamdiscoverer.cpp:116 msgid "Connection timed out" -msgstr "" +msgstr "连接超时" #: internet/subsonic/subsonicsettingspage.cpp:141 msgid "" @@ -1464,11 +1464,11 @@ msgstr "无法创建GStreamer元素 \"%1\" - 请确认您已安装了所需GStre #: songinfo/streamdiscoverer.cpp:97 #, qt-format msgid "Could not detect an audio stream in %1" -msgstr "" +msgstr "不能在 %1 检测到音频流" #: songinfo/streamdiscoverer.cpp:123 msgid "Could not get details" -msgstr "" +msgstr "不能获取详情" #: playlist/playlistmanager.cpp:166 msgid "Couldn't create playlist" @@ -1672,7 +1672,7 @@ msgstr "删除文件" #: ../bin/src/ui_streamdetailsdialog.h:143 msgid "Depth" -msgstr "" +msgstr "深度" #: ui/mainwindow.cpp:1736 msgid "Dequeue selected tracks" @@ -2109,7 +2109,7 @@ msgstr "删除曲目出错" #: songinfo/streamdiscoverer.cpp:56 #, qt-format msgid "Error discovering %1: %2" -msgstr "" +msgstr "发现 %1: %2 错误" #: internet/spotify/spotifyblobdownloader.cpp:260 msgid "Error downloading Spotify plugin" @@ -2765,7 +2765,7 @@ msgstr "无效的 API 密钥" #: songinfo/streamdiscoverer.cpp:114 msgid "Invalid URL" -msgstr "" +msgstr "无效的 URL" #: internet/lastfm/lastfmservice.cpp:251 msgid "Invalid format" @@ -3208,7 +3208,7 @@ msgstr "最小缓冲填充" #: songinfo/streamdiscoverer.cpp:120 msgid "Missing plugins" -msgstr "" +msgstr "缺少插件" #: visualisations/projectmvisualisation.cpp:131 msgid "Missing projectM presets" @@ -4843,7 +4843,7 @@ msgstr "流媒体" #: ../bin/src/ui_streamdetailsdialog.h:133 msgid "Stream Details" -msgstr "" +msgstr "流详情" #: internet/subsonic/subsonicsettingspage.cpp:51 msgid "" @@ -4956,7 +4956,7 @@ msgstr "文件夹 %1 无效" #: songinfo/streamdiscoverer.cpp:118 msgid "The discoverer is busy" -msgstr "" +msgstr "发现器正在忙" #: smartplaylists/searchtermwidget.cpp:346 msgid "The second value must be greater than the first one!" @@ -5213,7 +5213,7 @@ msgstr "URI" #: ../bin/src/ui_streamdetailsdialog.h:134 msgid "URL" -msgstr "" +msgstr "URL" #: core/commandlineoptions.cpp:152 msgid "URL(s)" @@ -5431,7 +5431,7 @@ msgstr "查看" #: ../bin/src/ui_mainwindow.h:730 msgid "View Stream Details" -msgstr "" +msgstr "查看流详情" #: ../bin/src/ui_visualisationselector.h:108 msgid "Visualization mode" From 69cddf70efccf0ff29a7c537afda8ccf26398109 Mon Sep 17 00:00:00 2001 From: Ted Stein Date: Wed, 18 Jan 2017 05:51:00 -0800 Subject: [PATCH 26/26] macOS: Clear stale native notifications on 10.9+. (#5601) --- src/widgets/osd_mac.mm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/widgets/osd_mac.mm b/src/widgets/osd_mac.mm index 5c580ffc6..77883c8e7 100644 --- a/src/widgets/osd_mac.mm +++ b/src/widgets/osd_mac.mm @@ -17,6 +17,7 @@ #include "osd.h" +#import #import #include @@ -36,6 +37,13 @@ void SendNotificationCenterMessage(NSString* title, NSString* subtitle) { [notification setTitle:title]; [notification setSubtitle:subtitle]; + if ([[NSProcessInfo processInfo] + isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){ + .majorVersion = 10, + .minorVersion = 9, + .patchVersion = 0}]) { + [notification_center removeAllDeliveredNotifications]; + } [notification_center deliverNotification:notification]; }