Compare commits

..

63 Commits
0.8.2 ... 0.8.3

Author SHA1 Message Date
Jonas Kvinge
f91b6c3468 Release 0.8.3 2020-10-24 01:32:25 +02:00
Jonas Kvinge
abe6eeb350 Update Changelog 2020-10-23 19:35:07 +02:00
Jonas Kvinge
64f90a7912 Remove Qt MacExtras, no longer used 2020-10-22 23:11:44 +02:00
Jonas Kvinge
5733966843 Dont reset settingspage changed status when window is shown
This is done by Init in Load() when the settings is opened.
2020-10-22 20:25:31 +02:00
Jonas Kvinge
eb1344fcec Unref caps in HandoffCallback 2020-10-22 17:49:13 +02:00
Strawbs Bot
c5fb29f00e Update translations 2020-10-22 01:02:03 +02:00
Jonas Kvinge
63135b9c54 Engine will never be in playing state on error 2020-10-21 23:27:15 +02:00
Jonas Kvinge
f7c666584e Remove debug line 2020-10-21 21:33:26 +02:00
Jonas Kvinge
6834324de2 Add more unit tests for organizeformat 2020-10-21 21:32:30 +02:00
Jonas Kvinge
3a0d59e66f Only append path if not empty 2020-10-21 21:32:12 +02:00
Jonas Kvinge
ffd2e2188a Fix crash with empty APE tag for MPC files 2020-10-21 20:29:06 +02:00
Jonas Kvinge
0e8d5bdc5d Fix crash with empty APE tag for WavPack and APE files 2020-10-21 20:27:43 +02:00
Jonas Kvinge
14806f6614 Update Changelog 2020-10-21 19:57:00 +02:00
Jonas Kvinge
00ece83b9d Tidal: Set default quality to lossless 2020-10-21 19:56:37 +02:00
Jonas Kvinge
8197ae2a2d Tidal: Guess filetype by filename extension in URL when missing codec. 2020-10-21 01:12:46 +02:00
Strawbs Bot
5fe658bb16 Update translations 2020-10-21 01:02:16 +02:00
Jonas Kvinge
617179f0c6 Always set state to NULL in destructor 2020-10-21 00:32:55 +02:00
Jonas Kvinge
95ac85f642 Move stream discoverer from pipeline to engine
Fixes #491
2020-10-21 00:07:58 +02:00
Jonas Kvinge
ca8877ad47 Revert gst_discoverer_stop 2020-10-20 18:47:40 +02:00
Jonas Kvinge
6d8f31048c Add call to gst_discoverer_stop
Stream discoverer currently only works on Linux
2020-10-20 18:28:09 +02:00
Jonas Kvinge
ac859eb576 Make sure we query empty instead of null 2020-10-20 17:14:38 +02:00
Jonas Kvinge
2dfa171b6a Save effective_albumartist as empty istead of null
Since we use the metadata now instead of the container keys for queries in
the model, there is a regression when the values are null.
2020-10-20 17:12:28 +02:00
Jonas Kvinge
6f72e3e2ea Always append divider key to sort text if the key is a digit 2020-10-20 17:11:14 +02:00
Strawbs Bot
c2b73ae963 Update translations 2020-10-20 01:04:50 +02:00
Jonas Kvinge
6c50077409 Fix concurrentrun test 2020-10-19 22:33:08 +02:00
Jonas Kvinge
06746449a1 Disable TestContainerNodes 2020-10-19 22:32:50 +02:00
Jonas Kvinge
da7b8edf51 Revert back to using PathWithoutFilenameExtension in organizedialog 2020-10-19 21:35:39 +02:00
Jonas Kvinge
6e29b41f23 Update Changelog 2020-10-19 21:07:25 +02:00
Jonas Kvinge
912bb069af Fix updating album cover to collection for edit tag dialog 2020-10-19 21:05:59 +02:00
Jonas Kvinge
6b2d7a67d8 Use Utilities::FiddleFileExtension in organize 2020-10-19 19:56:40 +02:00
Jonas Kvinge
dbb8ec0290 Remove debug in bus callbacks 2020-10-19 19:09:48 +02:00
Strawbs Bot
60b32760f2 Update translations 2020-10-19 01:03:27 +02:00
Jonas Kvinge
73a40bcb49 Update Changelog 2020-10-18 17:08:28 +02:00
Jonas Kvinge
0e258a5a32 Remove unused utilities functions 2020-10-18 14:12:01 +02:00
Jonas Kvinge
7ca65c81d8 Use QFileInfo instead of custom functions 2020-10-18 14:07:48 +02:00
Jonas Kvinge
2ad1a60e59 Use correct file extension in organize preview and resulting filename
Fixes #564
2020-10-18 13:24:33 +02:00
Jonas Kvinge
cf17ff4478 Update Changelog 2020-10-18 00:29:28 +02:00
Jonas Kvinge
fffc3aac68 Update Changelog 2020-10-17 21:11:06 +02:00
Jonas Kvinge
295ac3c458 Add back thumbbar 2020-10-17 21:10:57 +02:00
Jonas Kvinge
b6693a71f9 Rename initialise to initialize 2020-10-17 17:29:09 +02:00
Jonas Kvinge
5b21118a8c Replace gst_tag_list_free with gst_tag_list_unref 2020-10-17 04:54:46 +02:00
Jonas Kvinge
0235b19801 Only update buttons once 2020-10-17 04:21:11 +02:00
Jonas Kvinge
7426399aa2 Enable thumbbar for debug build 2020-10-17 03:41:28 +02:00
Jonas Kvinge
6861b0d668 Possible fix Windows thumbbar 2020-10-17 03:37:39 +02:00
Jonas Kvinge
c30fb0d38c Log errors in MM device finder 2020-10-17 03:19:13 +02:00
Jonas Kvinge
e45521c6c0 Fix updating playing widget song details in small mode 2020-10-16 23:57:18 +02:00
Strawbs Bot
d11fe8d4fc Update translations 2020-10-16 01:01:51 +02:00
Jonas Kvinge
8e83e63e3d Add snap warning dialog 2020-10-15 21:47:52 +02:00
Jonas Kvinge
c8fd0ac4b3 Update snapcraft.yaml 2020-10-15 18:51:21 +02:00
Jonas Kvinge
d78419eb33 Enable WASAPI plugin
Fixes #283
2020-10-15 16:08:59 +02:00
Jonas Kvinge
e44a3d013d Disable windows thumbbar
Fixes stability issues with WASAPI
2020-10-15 16:07:20 +02:00
Jonas Kvinge
aeb0d05017 Add CoInitializeEx() to mmdevice finder and refactor code 2020-10-15 16:06:07 +02:00
Jonas Kvinge
62702e4b3d Add space 2020-10-14 22:53:58 +02:00
Jonas Kvinge
5146cdfa2f Improve windows thumbbar code 2020-10-14 22:53:08 +02:00
Jonas Kvinge
246e7018c3 Remove concurrentrun.h 2020-10-14 22:50:19 +02:00
Jonas Kvinge
24286dbe9d Use QtConcurrent::run directly 2020-10-14 22:49:37 +02:00
Jonas Kvinge
2f442dfbe1 Ignore return value 2020-10-14 22:38:32 +02:00
Jonas Kvinge
b2fb01ee9c Use QtConcurrent 2020-10-14 22:35:54 +02:00
Jonas Kvinge
45e0a9a4ef Remove build-snap from CI 2020-10-14 18:36:29 +02:00
Jonas Kvinge
675b7b4bf4 Fix CI 2020-10-14 18:05:04 +02:00
Jonas Kvinge
be7a35443e Add gdb to nsi 2020-10-14 16:55:17 +02:00
Strawbs Bot
9918615fcd Update translations 2020-10-14 01:02:02 +02:00
Jonas Kvinge
4b72ef77c1 Turn back git revision 2020-10-14 00:26:35 +02:00
92 changed files with 2269 additions and 1753 deletions

View File

@@ -1000,10 +1000,10 @@ jobs:
runs-on: macos-latest
steps:
- uses: actions/checkout@v1.2.0
- name: Update
run: brew update
- name: Upgrade
run: brew upgrade
#- name: Update
# run: brew update
#- name: Upgrade
# run: brew upgrade
- name: Install packages
run: >
brew install
@@ -1230,22 +1230,3 @@ jobs:
for i in $(find uploads -type f -name '*.dmg'); do
rsync -e "ssh -p 50220 -o StrictHostKeyChecking=no" -va $i travis@echoes.jkvinge.net:/home/travis/builds/macos/catalina/
done
build_snap:
name: Build Snap
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1.2.0
- uses: snapcore/action-build@v1
id: snapcraft
- uses: snapcore/action-publish@v1
if: github.ref == 'refs/heads/master'
with:
store_login: ${{ secrets.SNAP_STORE_LOGIN }}
snap: ${{ steps.snapcraft.outputs.snap }}
release: beta
- uses: actions/upload-artifact@v2
with:
name: release_snap
path: ${{ steps.snapcraft.outputs.snap }}

View File

@@ -151,9 +151,6 @@ endif()
if(DBUS_FOUND)
list(APPEND QT_COMPONENTS DBus)
endif()
if(APPLE)
list(APPEND QT_COMPONENTS MacExtras)
endif()
if(WIN32)
list(APPEND QT_COMPONENTS WinExtras)
endif()
@@ -176,10 +173,6 @@ if(BUILD_WITH_QT6)
set(QtX11Extras_LIBRARIES Qt6::X11Extras)
list(APPEND QT_LIBRARIES Qt6::X11Extras)
endif()
if(Qt6MacExtras_FOUND)
set(QtMacExtras_LIBRARIES Qt6::MacExtras)
list(APPEND QT_LIBRARIES Qt6::MacExtras)
endif()
if(Qt6WinExtras_FOUND)
set(QtWinExtras_LIBRARIES Qt6::WinExtras)
list(APPEND QT_LIBRARIES Qt6::WinExtras)
@@ -209,11 +202,6 @@ elseif(BUILD_WITH_QT5)
list(APPEND QT_LIBRARIES ${Qt5X11Extras_LIBRARIES})
list(APPEND QT_INCLUDE_DIRS ${Qt5X11Extras_INCLUDE_DIRS})
endif()
if(Qt5MacExtras_FOUND)
set(QtMacExtras_LIBRARIES ${Qt5MacExtras_LIBRARIES})
list(APPEND QT_LIBRARIES ${Qt5MacExtras_LIBRARIES})
list(APPEND QT_INCLUDE_DIRS ${Qt5MacExtras_INCLUDE_DIRS})
endif()
if(Qt5WinExtras_FOUND)
set(QtWinExtras_LIBRARIES ${Qt5WinExtras_LIBRARIES})
list(APPEND QT_LIBRARIES ${Qt5WinExtras_LIBRARIES})

View File

@@ -2,6 +2,21 @@ Strawberry Music Player
=======================
ChangeLog
0.8.3:
Bugfixes:
* Fixed updating playing widget song details in small cover mode.
* Fixed file extension when transcoding songs.
* Fixed updating album cover to collection in edit tag dialog when pressing save.
* Fixed songs with empty artist in collection.
* Fixed possible crashes with stream discovery.
* Fixed setting engine state to null.
* Fixed tagreader crash with empty APE tags.
* Fixed a gstreamer memory leak.
Enhancements:
* (Windows) Added WASAPI plugin.
0.8.2:
Bugfixes:

View File

@@ -65,11 +65,11 @@ To build Strawberry from source you need the following installed on your system
* [GLib](https://developer.gnome.org/glib/)
* [Protobuf library and compiler](https://developers.google.com/protocol-buffers/)
* [Qt 5.8 or higher (or Qt 6) with components Core, Gui, Widgets, Concurrent, Network and Sql](https://www.qt.io/)
* [Qt components X11Extras and DBus for Linux/BSD, MacExtras for macOS and WinExtras for Windows](https://www.qt.io/)
* [Qt components X11Extras and D-Bus for Linux/BSD and WinExtras for Windows](https://www.qt.io/)
* [SQLite 3.9 or newer with FTS5](https://www.sqlite.org)
* [Chromaprint library](https://acoustid.org/chromaprint)
* [ALSA library (linux)](https://www.alsa-project.org/)
* [DBus (linux)](https://www.freedesktop.org/wiki/Software/dbus/)
* [D-Bus (linux)](https://www.freedesktop.org/wiki/Software/dbus/)
* [PulseAudio (linux optional)](https://www.freedesktop.org/wiki/Software/PulseAudio/?)
* [GStreamer](https://gstreamer.freedesktop.org/) or [VLC](https://www.videolan.org)
* [GnuTLS](https://www.gnutls.org/)

View File

@@ -1,6 +1,6 @@
set(STRAWBERRY_VERSION_MAJOR 0)
set(STRAWBERRY_VERSION_MINOR 8)
set(STRAWBERRY_VERSION_PATCH 2)
set(STRAWBERRY_VERSION_PATCH 3)
#set(STRAWBERRY_VERSION_PRERELEASE rc1)
set(INCLUDE_GIT_REVISION OFF)

1
dist/CMakeLists.txt vendored
View File

@@ -7,7 +7,6 @@ endif (APPLE)
if (WIN32)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/windows/strawberry.nsi.in ${CMAKE_CURRENT_SOURCE_DIR}/windows/strawberry.nsi @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/windows/strawberry-wasapi.nsi.in ${CMAKE_CURRENT_SOURCE_DIR}/windows/strawberry-wasapi.nsi @ONLY)
endif (WIN32)
if (UNIX AND NOT APPLE)

View File

@@ -1,182 +0,0 @@
!if "@ARCH@" == x86
!define arch_x86
!endif
!if "@ARCH@" == i686-w64-mingw32.shared
!define arch_x86
!endif
!if "@ARCH@" == x86_64
!define arch_x64
!endif
!if "@ARCH@" == x86_64-w64-mingw32.shared
!define arch_x64
!endif
!if "@CMAKE_BUILD_TYPE@" == Debug
!define debug
!endif
!if "@BUILD_WITH_QT6@" == "ON"
!define with_qt6
!endif
!ifdef debug
!define PRODUCT_NAME "Strawberry Music Player Debug WASAPI plugin"
!define PRODUCT_NAME_SHORT "StrawberryWASAPI"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME_SHORT}Debug"
!ifdef arch_x86
!define PRODUCT_INSTALL_DIR "$PROGRAMFILES\Strawberry Music Player Debug"
!endif
!ifdef arch_x64
!define PRODUCT_INSTALL_DIR "$PROGRAMFILES64\Strawberry Music Player Debug"
!endif
!else
!define PRODUCT_NAME "Strawberry Music Player WASAPI plugin"
!define PRODUCT_NAME_SHORT "StrawberryWASAPI"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME_SHORT}"
!ifdef arch_x86
!define PRODUCT_INSTALL_DIR "$PROGRAMFILES\Strawberry Music Player"
!endif
!ifdef arch_x64
!define PRODUCT_INSTALL_DIR "$PROGRAMFILES64\Strawberry Music Player"
!endif
!endif
!define PRODUCT_VERSION_MAJOR @STRAWBERRY_VERSION_MAJOR@
!define PRODUCT_VERSION_MINOR @STRAWBERRY_VERSION_MINOR@
!define PRODUCT_VERSION_PATCH @STRAWBERRY_VERSION_PATCH@
!define PRODUCT_DISPLAY_VERSION "@STRAWBERRY_VERSION_PACKAGE@"
!define PRODUCT_DISPLAY_VERSION_SHORT "@STRAWBERRY_VERSION_PACKAGE@"
!define PRODUCT_PUBLISHER "Jonas Kvinge"
!define PRODUCT_WEB_SITE "https://www.strawberrymusicplayer.org/"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
SetCompressor /SOLID lzma
!addplugindir nsisplugins
!include "MUI2.nsh"
!include "FileAssociation.nsh"
!include "Capabilities.nsh"
!include LogicLib.nsh
!include x64.nsh
!define MUI_ICON "strawberry.ico"
!define MUI_COMPONENTSPAGE_SMALLDESC
; Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
Name "${PRODUCT_NAME}"
!ifdef arch_x86
!ifdef debug
!ifdef with_qt6
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt6-Debug-x86.exe"
!else
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Debug-x86.exe"
!endif
!else
!ifdef with_qt6
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt6-x86.exe"
!else
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-x86.exe"
!endif
!endif
!endif
!ifdef arch_x64
!ifdef debug
!ifdef with_qt6
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt6-Debug-x64.exe"
!else
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Debug-x64.exe"
!endif
!else
!ifdef with_qt6
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-Qt6-x64.exe"
!else
OutFile "${PRODUCT_NAME_SHORT}Setup-${PRODUCT_DISPLAY_VERSION}-x64.exe"
!endif
!endif
!endif
InstallDir "${PRODUCT_INSTALL_DIR}"
; Get the path where Strawberry was installed previously and set it as default path
InstallDirRegKey ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "UninstallString"
ShowInstDetails show
ShowUnInstDetails show
RequestExecutionLevel admin
; Check for previous installation, and call the uninstaller if any
Function CheckPreviousInstall
ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "UninstallString"
StrCmp $R0 "" done
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
"${PRODUCT_NAME} is already installed. $\n$\nClick `OK` to remove the \
previous version or `Cancel` to cancel this upgrade." \
IDOK uninst
Abort
; Run the uninstaller
uninst:
ClearErrors
ExecWait '$R0' ; Do not copy the uninstaller to a temp file
done:
FunctionEnd
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
Call CheckPreviousInstall
FunctionEnd
Section "Gstreamer wasapi plugin" gstreamer-wasapi-plugin
SetOutPath "$INSTDIR\gstreamer-plugins"
File "/oname=libgstwasapi.dll" "gstreamer-plugins\libgstwasapi.dll"
SectionEnd
Section "Uninstaller"
; Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall-WASAPI.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall-WASAPI.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\strawberry.ico"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_DISPLAY_VERSION}"
WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "VersionMajor" "${PRODUCT_VERSION_MAJOR}"
WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "VersionMinor" "${PRODUCT_VERSION_MINOR}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd
Section "Uninstall"
Delete "$INSTDIR\gstreamer-plugins\libgstwasapi.dll"
Delete "$INSTDIR\Uninstall-WASAPI.exe"
; Remove the entry from 'installed programs list'
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
SectionEnd

View File

@@ -279,6 +279,16 @@ Section "Strawberry" Strawberry
File "libqtsparkle-qt5.dll"
!endif
!ifdef debug
File "gdb.exe"
File "libdl.dll"
File "libexpat-1.dll"
File "libmman.dll"
File "libmpfr-6.dll"
File "libreadline8.dll"
File "libtermcap.dll"
!endif
File "killproc.exe"
; Register Strawberry with Default Programs
@@ -361,7 +371,7 @@ Section "Gstreamer plugins" gstreamer-plugins
File "/oname=libgsttypefindfunctions.dll" "gstreamer-plugins\libgsttypefindfunctions.dll"
File "/oname=libgstgio.dll" "gstreamer-plugins\libgstgio.dll"
File "/oname=libgstdirectsound.dll" "gstreamer-plugins\libgstdirectsound.dll"
;File "/oname=libgstwasapi.dll" "gstreamer-plugins\libgstwasapi.dll"
File "/oname=libgstwasapi.dll" "gstreamer-plugins\libgstwasapi.dll"
File "/oname=libgstapetag.dll" "gstreamer-plugins\libgstapetag.dll"
File "/oname=libgsticydemux.dll" "gstreamer-plugins\libgsticydemux.dll"
File "/oname=libgstid3demux.dll" "gstreamer-plugins\libgstid3demux.dll"
@@ -533,6 +543,16 @@ Section "Uninstall"
Delete "$INSTDIR\swscale-5.dll"
Delete "$INSTDIR\zlib1.dll"
!ifdef debug
Delete "$INSTDIR\gdb.exe"
Delete "$INSTDIR\libdl.dll"
Delete "$INSTDIR\libexpat-1.dll"
Delete "$INSTDIR\libmman.dll"
Delete "$INSTDIR\libmpfr-6.dll"
Delete "$INSTDIR\libreadline8.dll"
Delete "$INSTDIR\libtermcap.dll"
!endif
Delete "$INSTDIR\gio-modules\libgiognutls.dll"
Delete "$INSTDIR\platforms\qwindows.dll"
Delete "$INSTDIR\sqldrivers\qsqlite.dll"

View File

@@ -115,7 +115,7 @@ static void gst_fastspectrum_init (GstFastSpectrum * spectrum) {
spectrum->interval = DEFAULT_INTERVAL;
spectrum->bands = DEFAULT_BANDS;
spectrum->channel_data_initialised = false;
spectrum->channel_data_initialized = false;
g_mutex_init (&spectrum->lock);
@@ -137,14 +137,14 @@ static void gst_fastspectrum_alloc_channel_data (GstFastSpectrum * spectrum) {
QMutexLocker l(klass->fftw_lock);
spectrum->plan = fftw_plan_dft_r2c_1d(nfft, spectrum->fft_input, spectrum->fft_output, FFTW_ESTIMATE);
}
spectrum->channel_data_initialised = true;
spectrum->channel_data_initialized = true;
}
static void gst_fastspectrum_free_channel_data (GstFastSpectrum * spectrum) {
GstFastSpectrumClass* klass = reinterpret_cast<GstFastSpectrumClass*>(G_OBJECT_GET_CLASS(spectrum));
if (spectrum->channel_data_initialised) {
if (spectrum->channel_data_initialized) {
{
QMutexLocker l(klass->fftw_lock);
fftw_destroy_plan(spectrum->plan);
@@ -154,7 +154,7 @@ static void gst_fastspectrum_free_channel_data (GstFastSpectrum * spectrum) {
delete[] spectrum->input_ring_buffer;
delete[] spectrum->spect_magnitude;
spectrum->channel_data_initialised = false;
spectrum->channel_data_initialized = false;
}
}
@@ -422,7 +422,7 @@ static GstFlowReturn gst_fastspectrum_transform_ip (GstBaseTransform *trans, Gst
/* If we don't have a FFT context yet (or it was reset due to parameter
* changes) get one and allocate memory for everything
*/
if (!spectrum->channel_data_initialised) {
if (!spectrum->channel_data_initialized) {
GST_DEBUG_OBJECT (spectrum, "allocating for bands %u", bands);
gst_fastspectrum_alloc_channel_data (spectrum);

View File

@@ -65,7 +65,7 @@ struct GstFastSpectrum {
GstClockTime message_ts; /* starttime for next message */
/* <private> */
bool channel_data_initialised;
bool channel_data_initialized;
double* input_ring_buffer;
double* fft_input;
fftw_complex* fft_output;

View File

@@ -1,123 +0,0 @@
/* This file is part of Strawberry.
Copyright 2012, David Sansome <me@davidsansome.com>
Strawberry 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.
Strawberry 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 Strawberry. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef CONCURRENTRUN_H
#define CONCURRENTRUN_H
#include <functional>
#include <QFuture>
#include <QRunnable>
#include <QThreadPool>
/*
The aim of ThreadFunctor classes and ConcurrentRun::Run() functions is to
complete QtConcurrentRun, which lack support for using a particular
QThreadPool, as it always uses QThreadPool::globalInstance().
This is problematic when we do not want to share the same thread pool over
all the application, but want to keep the convenient QtConcurrent::run()
functor syntax.
With ConcurrentRun::Run(), time critical changes can be performed in their
own pool, which is not empty by other actions (as it happens when using
QtConcurrentRun::run()).
ThreadFunctor classes are used to store a functor and its arguments, and
Run() functions are used for convenience: to directly create a new
ThreadFunctor object and start it.
*/
/*
Base abstract classes ThreadFunctorBase and ThreadFunctor (for void and
non-void result):
*/
template<typename ReturnType>
class ThreadFunctorBase : public QFutureInterface<ReturnType>, public QRunnable {
public:
ThreadFunctorBase() {}
QFuture<ReturnType> Start(QThreadPool* thread_pool) {
this->setRunnable(this);
this->reportStarted();
Q_ASSERT(thread_pool);
QFuture<ReturnType> future = this->future();
thread_pool->start(this, 0 /* priority: currently we do not support changing the priority. Might be added later if needed */);
return future;
}
void run() override = 0;
};
template <typename ReturnType, typename... Args>
class ThreadFunctor : public ThreadFunctorBase<ReturnType> {
public:
explicit ThreadFunctor(std::function<ReturnType (Args...)> function, Args... args)
: function_(std::bind(function, args...)) {
}
void run() override {
this->reportResult(function_());
this->reportFinished();
}
private:
std::function<ReturnType()> function_;
};
// Partial specialisation for void return type.
template <typename... Args>
class ThreadFunctor <void, Args...> : public ThreadFunctorBase<void> {
public:
explicit ThreadFunctor(std::function<void (Args...)> function, Args... args)
: function_(std::bind(function, args...)) {
}
void run() override {
function_();
this->reportFinished();
}
private:
std::function<void()> function_;
};
/*
Run functions
*/
namespace ConcurrentRun {
// Empty argument form.
template <typename ReturnType>
QFuture<ReturnType> Run(QThreadPool* threadpool, std::function<ReturnType ()> function) {
return (new ThreadFunctor<ReturnType>(function))->Start(threadpool);
}
// Function object with arguments form.
template <typename ReturnType, typename... Args>
QFuture<ReturnType> Run(QThreadPool* threadpool, std::function<ReturnType (Args...)> function, const Args&... args) {
return (new ThreadFunctor<ReturnType, Args...>(function, args...))->Start(threadpool);
}
// Support passing C function pointers instead of function objects.
template <typename ReturnType, typename... Args>
QFuture<ReturnType> Run(QThreadPool* threadpool, ReturnType (*function) (Args...), const Args&... args) {
return Run(threadpool, std::function<ReturnType (Args...)>(function), args...);
}
}
#endif // CONCURRENTRUN_H

View File

@@ -34,25 +34,25 @@ class Lazy {
Lazy() : init_([]() { return new T; }) {}
T* get() const {
CheckInitialised();
CheckInitialized();
return ptr_.get();
}
typename std::add_lvalue_reference<T>::type operator*() const {
CheckInitialised();
CheckInitialized();
return *ptr_;
}
T* operator->() const { return get(); }
// Returns true if the object is not yet initialised.
// Returns true if the object is not yet initialized.
explicit operator bool() const { return ptr_; }
// Deletes the underlying object and will re-run the initialisation function if the object is requested again.
// Deletes the underlying object and will re-run the initialization function if the object is requested again.
void reset() { ptr_.reset(); }
private:
void CheckInitialised() const {
void CheckInitialized() const {
if (!ptr_) {
ptr_.reset(init_(), [](T*obj) { obj->deleteLater(); });
}

View File

@@ -235,14 +235,14 @@ void TagReader::ReadFile(const QString &filename, pb::tagreader::SongMetadata *s
else if (TagLib::WavPack::File *file_wavpack = dynamic_cast<TagLib::WavPack::File *>(fileref->file())) {
song->set_bitdepth(file_wavpack->audioProperties()->bitsPerSample());
if (file_wavpack->tag()) {
if (file_wavpack->APETag()) {
ParseAPETag(file_wavpack->APETag()->itemListMap(), nullptr, &disc, &compilation, song);
}
if (tag) Decode(tag->comment(), nullptr, song->mutable_comment());
}
else if (TagLib::APE::File *file_ape = dynamic_cast<TagLib::APE::File*>(fileref->file())) {
if (file_ape->tag()) {
if (file_ape->APETag()) {
ParseAPETag(file_ape->APETag()->itemListMap(), nullptr, &disc, &compilation, song);
}
song->set_bitdepth(file_ape->audioProperties()->bitsPerSample());
@@ -368,7 +368,7 @@ void TagReader::ReadFile(const QString &filename, pb::tagreader::SongMetadata *s
}
else if (TagLib::MPC::File* file_mpc = dynamic_cast<TagLib::MPC::File*>(fileref->file())) {
if (file_mpc->tag()) {
if (file_mpc->APETag()) {
ParseAPETag(file_mpc->APETag()->itemListMap(), nullptr, &disc, &compilation, song);
}
if (tag) Decode(tag->comment(), nullptr, song->mutable_comment());

View File

@@ -1,10 +1,9 @@
name: strawberry
version: '0.8.2+git'
adopt-info: strawberry
summary: music player and collection organizer
description: |
Strawberry is a music player and collection organizer.
It is a fork of Clementine released in 2018 aimed at music collectors,
audio enthusiasts and audiophiles
It is a fork of Clementine released in 2018 aimed at music collectors and audiophiles
grade: stable
confinement: strict
@@ -43,7 +42,7 @@ parts:
alsa-lib:
plugin: autotools
source: https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.1.2.tar.bz2
source: https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.3.tar.bz2
configflags:
- --prefix=/usr
- --sysconfdir=/etc
@@ -71,6 +70,9 @@ parts:
after:
- alsa-lib
- desktop-qt5
override-pull: |
snapcraftctl pull
snapcraftctl set-version "$(git describe --tags | sed 's/^v//' | cut -d "-" -f1-2)"
override-build: |
cmake ../src -DCMAKE_INSTALL_PREFIX=/usr
make -j $(getconf _NPROCESSORS_ONLN)
@@ -84,6 +86,7 @@ parts:
- gcc
- g++
- protobuf-compiler
- gettext
- libglib2.0-dev
- libgnutls28-dev
- libdbus-1-dev
@@ -96,6 +99,7 @@ parts:
- qtbase5-dev
- qtbase5-dev-tools
- qtbase5-private-dev
- qttools5-dev
- libqt5x11extras5-dev
- libgstreamer1.0-dev
- libgstreamer-plugins-base1.0-dev
@@ -154,6 +158,10 @@ parts:
- gstreamer1.0-plugins-bad
- gstreamer1.0-plugins-ugly
- gstreamer1.0-libav
- qt5-gtk-platformtheme
- plasma-integration
- kde-style-breeze
- qtwayland5
apps:
strawberry:
@@ -174,7 +182,7 @@ apps:
- x11
- wayland
- alsa
- pulseaudio
- audio-playback
- removable-media
- optical-drive
- raw-usb

View File

@@ -184,6 +184,7 @@ set(SOURCES
dialogs/userpassdialog.cpp
dialogs/deleteconfirmationdialog.cpp
dialogs/lastfmimportdialog.cpp
dialogs/snapdialog.cpp
widgets/autoexpandingtreeview.cpp
widgets/busyindicator.cpp
@@ -399,6 +400,7 @@ set(HEADERS
dialogs/userpassdialog.h
dialogs/deleteconfirmationdialog.h
dialogs/lastfmimportdialog.h
dialogs/snapdialog.h
widgets/autoexpandingtreeview.h
widgets/busyindicator.h
@@ -513,6 +515,7 @@ set(UI
dialogs/addstreamdialog.ui
dialogs/userpassdialog.ui
dialogs/lastfmimportdialog.ui
dialogs/snapdialog.ui
widgets/trackslider.ui
widgets/fileview.ui

View File

@@ -40,7 +40,7 @@
// INSTRUCTIONS Base2D
// 1. do anything that depends on height() in init(), Base2D will call it before you are shown
// 2. otherwise you can use the constructor to initialise things
// 2. otherwise you can use the constructor to initialize things
// 3. reimplement analyze(), and paint to canvas(), Base2D will update the widget when you return control to it
// 4. if you want to manipulate the scope, reimplement transform()
// 5. for convenience <vector> <qpixmap.h> <qwdiget.h> are pre-included

View File

@@ -136,7 +136,7 @@ void AnalyzerContainer::ChangeAnalyzer(int id) {
QObject *instance = analyzer_types_[id]->newInstance(Q_ARG(QWidget*, this));
if (!instance) {
qLog(Warning) << "Couldn't initialise a new" << analyzer_types_[id]->className();
qLog(Warning) << "Couldn't initialize a new" << analyzer_types_[id]->className();
return;
}

View File

@@ -92,7 +92,7 @@ class RainbowAnalyzer : public Analyzer::Base {
}
private:
// "constants" that get initialised in the constructor
// "constants" that get initialized in the constructor
float band_scale_[kRainbowBands];
QPen colors_[kRainbowBands];

View File

@@ -817,7 +817,7 @@ CollectionModel::QueryResult CollectionModel::RunQuery(CollectionItem *parent) {
int child_level = parent == root_ ? 0 : parent->container_level + 1;
GroupBy child_type = child_level >= 3 ? GroupBy_None : group_by_[child_level];
// Initialise the query. child_type says what type of thing we want (artists, songs, etc.)
// Initialize the query. child_type says what type of thing we want (artists, songs, etc.)
CollectionQuery q(query_options_);
InitQuery(child_type, &q);
@@ -1133,7 +1133,7 @@ CollectionItem *CollectionModel::InitItem(const GroupBy type, const bool signal,
if (signal) beginInsertRows(ItemToIndex(parent), parent->children.count(), parent->children.count());
// Initialise the item depending on what type it's meant to be
// Initialize the item depending on what type it's meant to be
CollectionItem *item = new CollectionItem(item_type, parent);
item->compilation_artist_node_ = nullptr;
item->container_level = container_level;
@@ -1566,7 +1566,7 @@ void CollectionModel::FinishItem(const GroupBy type, const bool signal, const bo
// Create the divider entry if we're supposed to
if (create_divider && show_dividers_) {
QString divider_key = DividerKey(type, item);
if (item->sort_text.isEmpty() || item->sort_text[0].toLower() != divider_key)
if (!divider_key.isEmpty() && (item->sort_text.isEmpty() || item->sort_text[0].toLower() != divider_key || divider_key[0].isDigit()))
item->sort_text.prepend(divider_key);
if (!divider_key.isEmpty() && !divider_nodes_.contains(divider_key)) {

View File

@@ -136,6 +136,10 @@ void CollectionQuery::AddWhere(const QString &column, const QVariant &value, con
if (value.type() == QVariant::Int) {
where_clauses_ << QString("%1 %2 %3").arg(column, op, value.toString());
}
else if (value.type() == QVariant::String && value.toString().isNull()) {
where_clauses_ << QString("%1 %2 ?").arg(column, op);
bound_values_ << QString("");
}
else {
where_clauses_ << QString("%1 %2 ?").arg(column, op);
bound_values_ << value;

View File

@@ -202,7 +202,7 @@ QSqlDatabase Database::Connect() {
UpdateMainSchema(&db);
}
// We might have to initialise the schema in some attached databases now, if they were deleted and don't match up with the main schema version.
// We might have to initialize the schema in some attached databases now, if they were deleted and don't match up with the main schema version.
for (const QString &key : attached_databases_.keys()) {
if (attached_databases_[key].is_temporary_ && attached_databases_[key].schema_.isEmpty())
continue;

View File

@@ -104,6 +104,7 @@
#include "dialogs/addstreamdialog.h"
#include "dialogs/deleteconfirmationdialog.h"
#include "dialogs/lastfmimportdialog.h"
#include "dialogs/snapdialog.h"
#include "organize/organizedialog.h"
#include "widgets/fancytabwidget.h"
#include "widgets/playingwidget.h"
@@ -320,7 +321,7 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSDBase *osd
connect(app, SIGNAL(ErrorAdded(QString)), SLOT(ShowErrorDialog(QString)));
connect(app, SIGNAL(SettingsDialogRequested(SettingsDialog::Page)), SLOT(OpenSettingsDialogAtPage(SettingsDialog::Page)));
// Initialise the UI
// Initialize the UI
ui_->setupUi(this);
album_cover_choice_controller_->Init(app);
@@ -329,7 +330,7 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSDBase *osd
context_view_->Init(app_, collection_view_->view(), album_cover_choice_controller_);
ui_->widget_playing->Init(app_, album_cover_choice_controller_);
// Initialise the search widget
// Initialize the search widget
StyleHelper::setBaseColor(palette().color(QPalette::Highlight).darker());
// Add tabs to the fancy tab widget
@@ -362,8 +363,8 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSDBase *osd
track_slider_timer_->setInterval(kTrackSliderUpdateTimeMs);
connect(track_slider_timer_, SIGNAL(timeout()), SLOT(UpdateTrackSliderPosition()));
// Start initialising the player
qLog(Debug) << "Initialising player";
// Start initializing the player
qLog(Debug) << "Initializing player";
app_->player()->SetAnalyzer(ui_->analyzer);
app_->player()->SetEqualizer(equalizer_.get());
app_->player()->Init();
@@ -986,6 +987,18 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSDBase *osd
}
#endif
#ifdef Q_OS_LINUX
if (!Utilities::GetEnv("SNAP").isEmpty() && !Utilities::GetEnv("SNAP_NAME").isEmpty()) {
s.beginGroup(kSettingsGroup);
if (!s.value("ignore_snap", false).toBool()) {
SnapDialog *snap_dialog = new SnapDialog();
snap_dialog->setAttribute(Qt::WA_DeleteOnClose);
snap_dialog->show();
}
s.endGroup();
}
#endif
qLog(Debug) << "Started" << QThread::currentThread();
initialized_ = true;

View File

@@ -166,7 +166,7 @@ void Player::Init() {
CreateEngine(enginetype);
}
if (!engine_->Init()) { qFatal("Error initialising audio engine"); }
if (!engine_->Init()) { qFatal("Error initializing audio engine"); }
analyzer_->SetEngine(engine_.get());

View File

@@ -1372,7 +1372,7 @@ void Song::BindToQuery(QSqlQuery *query) const {
query->bindValue(":art_automatic", d->art_automatic_.toString(QUrl::FullyEncoded));
query->bindValue(":art_manual", d->art_manual_.toString(QUrl::FullyEncoded));
query->bindValue(":effective_albumartist", this->effective_albumartist());
query->bindValue(":effective_albumartist", strval(this->effective_albumartist()));
query->bindValue(":effective_originalyear", intval(this->effective_originalyear()));
query->bindValue(":cue_path", d->cue_path_);

View File

@@ -762,29 +762,6 @@ bool IsLaptop() {
}
bool UrlOnSameDriveAsStrawberry(const QUrl &url) {
if (!url.isValid() || !url.isLocalFile() || url.toLocalFile().isEmpty()) return false;
#ifdef Q_OS_WIN
QUrl appUrl = QUrl::fromLocalFile(QCoreApplication::applicationDirPath());
if (url.toLocalFile().left(1) == appUrl.toLocalFile().left(1))
return true;
else
return false;
#else
// Non windows systems have always a / in the path
return true;
#endif
}
QUrl GetRelativePathToStrawberryBin(const QUrl &url) {
if (!url.isValid()) return QUrl();
QDir appPath(QCoreApplication::applicationDirPath());
return QUrl::fromLocalFile(appPath.relativeFilePath(url.toLocalFile()));
}
QString PathWithoutFilenameExtension(const QString &filename) {
if (filename.section('/', -1, -1).contains('.')) return filename.section('.', 0, -2);
return filename;

View File

@@ -108,12 +108,6 @@ const char *EnumToString(const QMetaObject &meta, const char *name, int value);
QStringList Prepend(const QString &text, const QStringList &list);
QStringList Updateify(const QStringList &list);
// Check if two urls are on the same drive (mainly for windows)
bool UrlOnSameDriveAsStrawberry(const QUrl &url);
// Get relative path to Strawberry binary
QUrl GetRelativePathToStrawberryBin(const QUrl &url);
// Get the path without the filename extension
QString PathWithoutFilenameExtension(const QString &filename);
QString FiddleFileExtension(const QString &filename, const QString &new_extension);

View File

@@ -2,6 +2,7 @@
* Strawberry Music Player
* This file was part of Clementine.
* Copyright 2010, David Sansome <me@davidsansome.com>
* Copyright 2020, Jonas Kvinge <jonas@jkvinge.net>
*
* Strawberry is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -25,14 +26,17 @@
#include <QList>
#include <QPixmap>
#include <QAction>
#include <QTimer>
#include <QtDebug>
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0600
#endif
#include <windows.h>
#include <commctrl.h>
#include <shobjidl.h>
extern HICON qt_pixmapToWinHICON(const QPixmap &p);
#include "core/logging.h"
@@ -44,10 +48,16 @@ const int Windows7ThumbBar::kMaxButtonCount = 7;
Windows7ThumbBar::Windows7ThumbBar(QWidget *widget)
: QObject(widget),
widget_(widget),
button_created_message_id_(0),
taskbar_list_(nullptr) {}
timer_(new QTimer(this)),
button_created_message_id_(0) {
void Windows7ThumbBar::SetActions(const QList<QAction*>& actions) {
timer_->setSingleShot(true);
timer_->setInterval(300);
connect(timer_, SIGNAL(timeout()), SLOT(ActionChanged()));
}
void Windows7ThumbBar::SetActions(const QList<QAction*> &actions) {
qLog(Debug) << "Setting actions";
Q_ASSERT(actions.count() <= kMaxButtonCount);
@@ -55,14 +65,39 @@ void Windows7ThumbBar::SetActions(const QList<QAction*>& actions) {
actions_ = actions;
for (QAction *action : actions) {
if (action) {
connect(action, SIGNAL(changed()), SLOT(ActionChanged()));
connect(action, SIGNAL(changed()), SLOT(ActionChangedTriggered()));
}
}
qLog(Debug) << "Done";
}
static void SetupButton(const QAction *action, THUMBBUTTON *button) {
ITaskbarList3 *Windows7ThumbBar::CreateTaskbarList() {
ITaskbarList3 *taskbar_list = nullptr;
// Copied from win7 SDK shobjidl.h
static const GUID CLSID_ITaskbarList = { 0x56FDF344,0xFD6D,0x11d0,{0x95,0x8A,0x00,0x60,0x97,0xC9,0xA0,0x90}};
// Create the taskbar list
HRESULT hr = CoCreateInstance(CLSID_ITaskbarList, nullptr, CLSCTX_ALL, IID_ITaskbarList3, (void**)&taskbar_list);
if (hr != S_OK) {
qLog(Warning) << "Error creating the ITaskbarList3 interface" << Qt::hex << DWORD (hr);
return nullptr;
}
hr = taskbar_list->HrInit();
if (hr != S_OK) {
qLog(Warning) << "Error initializing taskbar list" << Qt::hex << DWORD (hr);
taskbar_list->Release();
return nullptr;
}
return taskbar_list;
}
void Windows7ThumbBar::SetupButton(const QAction *action, THUMBBUTTON *button) {
if (action) {
button->hIcon = qt_pixmapToWinHICON(action->icon().pixmap(Windows7ThumbBar::kIconSize));
@@ -77,7 +112,7 @@ static void SetupButton(const QAction *action, THUMBBUTTON *button) {
button->dwMask = THUMBBUTTONMASK(THB_ICON | THB_TOOLTIP | THB_FLAGS);
}
else {
button->hIcon = 0;
button->hIcon = nullptr;
button->szTip[0] = L'\0';
button->dwFlags = THBF_NOBACKGROUND;
button->dwMask = THUMBBUTTONMASK(THB_FLAGS);
@@ -94,51 +129,33 @@ void Windows7ThumbBar::HandleWinEvent(MSG *msg) {
}
if (msg->message == button_created_message_id_) {
HRESULT hr;
qLog(Debug) << "Button created";
// Unref the old taskbar list if we had one
if (taskbar_list_) {
qLog(Debug) << "Releasing old taskbar list";
reinterpret_cast<ITaskbarList3*>(taskbar_list_)->Release();
taskbar_list_ = nullptr;
}
// Copied from win7 SDK shobjidl.h
static const GUID CLSID_ITaskbarList ={ 0x56FDF344,0xFD6D,0x11d0,{0x95,0x8A,0x00,0x60,0x97,0xC9,0xA0,0x90}};
// Create the taskbar list
hr = CoCreateInstance(CLSID_ITaskbarList, nullptr, CLSCTX_ALL, IID_ITaskbarList3, (void**)&taskbar_list_);
if (hr != S_OK) {
qLog(Warning) << "Error creating the ITaskbarList3 interface" << Qt::hex << DWORD (hr);
return;
}
ITaskbarList3 *taskbar_list = reinterpret_cast<ITaskbarList3*>(taskbar_list_);
hr = taskbar_list->HrInit();
if (hr != S_OK) {
qLog(Warning) << "Error initialising taskbar list" << Qt::hex << DWORD (hr);
taskbar_list->Release();
taskbar_list_ = nullptr;
return;
}
ITaskbarList3 *taskbar_list = CreateTaskbarList();
if (!taskbar_list) return;
// Add the buttons
qLog(Debug) << "Initialising" << actions_.count() << "buttons";
THUMBBUTTON buttons[kMaxButtonCount];
for (int i = 0; i < actions_.count(); ++i) {
for (int i = 0 ; i < actions_.count() ; ++i) {
const QAction *action = actions_[i];
THUMBBUTTON *button = &buttons[i];
button->iId = i;
SetupButton(action, button);
}
qLog(Debug) << "Adding buttons";
hr = taskbar_list->ThumbBarAddButtons((HWND)widget_->winId(), actions_.count(), buttons);
if (hr != S_OK)
qLog(Debug) << "Adding" << actions_.count() << "buttons";
HRESULT hr = taskbar_list->ThumbBarAddButtons(reinterpret_cast<HWND>(widget_->winId()), actions_.count(), buttons);
if (hr != S_OK) {
qLog(Debug) << "Failed to add buttons" << Qt::hex << DWORD (hr);
for (int i = 0; i < actions_.count(); i++) {
if (buttons[i].hIcon)
DestroyIcon (buttons[i].hIcon);
}
for (int i = 0 ; i < actions_.count() ; ++i) {
if (buttons[i].hIcon) {
DestroyIcon (buttons[i].hIcon);
}
}
taskbar_list->Release();
}
else if (msg->message == WM_COMMAND) {
const int button_id = LOWORD(msg->wParam);
@@ -153,21 +170,38 @@ void Windows7ThumbBar::HandleWinEvent(MSG *msg) {
}
void Windows7ThumbBar::ActionChangedTriggered() {
if (!timer_->isActive()) timer_->start();
}
void Windows7ThumbBar::ActionChanged() {
if (!taskbar_list_) return;
ITaskbarList3 *taskbar_list = reinterpret_cast<ITaskbarList3*>(taskbar_list_);
ITaskbarList3 *taskbar_list = CreateTaskbarList();
if (!taskbar_list) return;
qLog(Debug) << "Updating" << actions_.count() << "buttons";
THUMBBUTTON buttons[kMaxButtonCount];
for (int i = 0; i < actions_.count(); ++i) {
const QAction *action = actions_[i];
for (int i = 0 ; i < actions_.count() ; ++i) {
QAction *action = actions_[i];
THUMBBUTTON *button = &buttons[i];
button->iId = i;
SetupButton(action, button);
if (buttons->hIcon) DestroyIcon(buttons->hIcon);
}
taskbar_list->ThumbBarUpdateButtons((HWND)widget_->winId(), actions_.count(), buttons);
HRESULT hr = taskbar_list->ThumbBarUpdateButtons(reinterpret_cast<HWND>(widget_->winId()), actions_.count(), buttons);
if (hr != S_OK) {
qLog(Debug) << "Failed to update buttons" << Qt::hex << DWORD (hr);
}
for (int i = 0 ; i < actions_.count() ; ++i) {
if (buttons[i].hIcon) {
DestroyIcon(buttons[i].hIcon);
}
}
taskbar_list->Release();
}

View File

@@ -2,6 +2,7 @@
* Strawberry Music Player
* This file was part of Clementine.
* Copyright 2010, David Sansome <me@davidsansome.com>
* Copyright 2020, Jonas Kvinge <jonas@jkvinge.net>
*
* Strawberry is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -21,24 +22,22 @@
#ifndef WINDOWS7THUMBBAR_H
#define WINDOWS7THUMBBAR_H
#include "config.h"
#include <windows.h>
#include <shobjidl.h>
#include <QObject>
#include <QWidget>
#include <QList>
#include <QString>
#include <QAction>
#ifndef Q_OS_WIN32
typedef void MSG;
#endif // Q_OS_WIN32
class QTimer;
class QAction;
class Windows7ThumbBar : public QObject {
Q_OBJECT
public:
// Creates a list of buttons in the taskbar icon for this window. Does nothing and is safe to use on other operating systems too.
explicit Windows7ThumbBar(QWidget *widget = 0);
public:
// Creates a list of buttons in the taskbar icon for this window.
explicit Windows7ThumbBar(QWidget *widget = nullptr);
static const int kIconSize;
static const int kMaxButtonCount;
@@ -49,17 +48,20 @@ public:
// Call this from the parent's winEvent() function.
void HandleWinEvent(MSG *msg);
private slots:
private:
ITaskbarList3 *CreateTaskbarList();
void SetupButton(const QAction *action, THUMBBUTTON *button);
private slots:
void ActionChangedTriggered();
void ActionChanged();
private:
private:
QWidget *widget_;
QTimer *timer_;
QList<QAction*> actions_;
unsigned int button_created_message_id_;
// Really an ITaskbarList3* but I don't want to have to include windows.h here
void *taskbar_list_;
};
#endif // WINDOWS7THUMBBAR_H

View File

@@ -199,7 +199,7 @@ void CddaSongLoader::LoadSongs() {
musicbrainz_client->StartDiscIdRequest(musicbrainz_discid);
g_free(string_mb);
gst_message_unref(msg_tag);
gst_tag_list_free(tags);
gst_tag_list_unref(tags);
}
}
#endif

View File

@@ -40,7 +40,7 @@ class DeviceLister : public QObject {
DeviceLister();
~DeviceLister() override;
// Tries to start the thread and initialise the engine. This object will be moved to the new thread.
// Tries to start the thread and initialize the engine. This object will be moved to the new thread.
void Start();
virtual void ExitAsync();

View File

@@ -29,6 +29,7 @@
#include <QObject>
#include <QMetaObject>
#include <QThread>
#include <QtConcurrent>
#include <QAbstractItemModel>
#include <QDir>
#include <QList>
@@ -46,7 +47,6 @@
#include "devicemanager.h"
#include "core/application.h"
#include "core/concurrentrun.h"
#include "core/database.h"
#include "core/iconloader.h"
#include "core/logging.h"
@@ -102,7 +102,7 @@ DeviceManager::DeviceManager(Application *app, QObject *parent)
connect(this, SIGNAL(DeviceCreatedFromDB(DeviceInfo*)), SLOT(AddDeviceFromDB(DeviceInfo*)));
// This reads from the database and contents on the database mutex, which can be very slow on startup.
ConcurrentRun::Run<void>(&thread_pool_, std::bind(&DeviceManager::LoadAllDevices, this));
(void)QtConcurrent::run(&thread_pool_, std::bind(&DeviceManager::LoadAllDevices, this));
// This proxy model only shows connected devices
connected_devices_model_ = new DeviceStateFilterModel(this);

View File

@@ -47,7 +47,7 @@
class DeviceLister;
class DeviceManager;
bool MtpDevice::sInitialisedLibMTP = false;
bool MtpDevice::sInitializedLibMTP = false;
MtpDevice::MtpDevice(const QUrl &url, DeviceLister *lister, const QString &unique_id, DeviceManager *manager, Application *app, int database_id, bool first_time)
: ConnectedDevice(url, lister, unique_id, manager, app, database_id, first_time),
@@ -55,9 +55,9 @@ MtpDevice::MtpDevice(const QUrl &url, DeviceLister *lister, const QString &uniqu
loader_thread_(nullptr),
closing_(false) {
if (!sInitialisedLibMTP) {
if (!sInitializedLibMTP) {
LIBMTP_Init();
sInitialisedLibMTP = true;
sInitializedLibMTP = true;
}
}

View File

@@ -80,7 +80,7 @@ class MtpDevice : public ConnectedDevice {
int GetCapacity(LIBMTP_mtpdevice_struct* device);
private:
static bool sInitialisedLibMTP;
static bool sInitializedLibMTP;
MtpLoader *loader_;
QThread *loader_thread_;

View File

@@ -721,13 +721,16 @@ void EditTagDialog::UpdateCoverOf(const Song &selected, const QModelIndexList &s
// Now check if we have any other songs cached that share that artist and album (and would therefore be changed as well)
for (int i = 0; i < data_.count(); ++i) {
if (i == sel.first().row()) // Already changed this one
continue;
Song *other_song = &data_[i].original_;
if (selected.artist() == other_song->artist() && selected.album() == other_song->album()) {
other_song->set_art_manual(cover_url);
if (i != sel.first().row()) {
Song *other_song = &data_[i].original_;
if (selected.effective_albumartist() == other_song->effective_albumartist() && selected.album() == other_song->album()) {
other_song->set_art_manual(cover_url);
}
}
data_[i].current_.set_art_manual(data_[i].original_.art_manual());
}
}

View File

@@ -0,0 +1,87 @@
/*
* Strawberry Music Player
* Copyright 2020, Jonas Kvinge <jonas@jkvinge.net>
*
* Strawberry 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.
*
* Strawberry 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 Strawberry. If not, see <http://www.gnu.org/licenses/>.
*
*/
#include "config.h"
#include <QDialog>
#include <QDialogButtonBox>
#include <QString>
#include <QFont>
#include <QLabel>
#include <QPushButton>
#include <QKeySequence>
#include <QSettings>
#include "snapdialog.h"
#include "ui_snapdialog.h"
#include "core/mainwindow.h"
SnapDialog::SnapDialog(QWidget *parent) : QDialog(parent), ui_(new Ui_SnapDialog) {
ui_->setupUi(this);
setWindowFlags(this->windowFlags() | Qt::WindowStaysOnTopHint);
setWindowTitle(tr("Strawberry is running as a Snap"));
QString text;
text += QString("<p>");
text += tr("It is detected that Strawberry is running as a Snap");
text += QString("</p>");
text += QString("<p>");
text += tr("Strawberry is slower, and has restrictions when running as a Snap. Accessing the root filesystem (/) will not work. There also might be other restrictions such as accessing certain devices or network shares.");
text += QString("</p>");
text += QString("<p>");
text += QString("Strawberry is available natively in the official package repositories for Fedora, openSUSE, Mageia, Arch, Manjaro, MX Linux and most other popular Linux distributions.");
text += QString("</p>");
text += QString("<p>");
text += tr("For Ubuntu there is an official PPA repository available at %1.").arg(QString("<a style=\"color:%1;\" href=\"https://launchpad.net/~jonaski/+archive/ubuntu/strawberry\">https://launchpad.net/~jonaski/+archive/ubuntu/strawberry</a>").arg(palette().text().color().name()));
text += QString("</p>");
text += QString("<p>");
text += tr("Official releases are available for Debian and Ubuntu which also work on most of their derivatives. See %1 for more information.").arg(QString("<a style=\"color:%1;\" href=\"https://www.strawberrymusicplayer.org/\">https://www.strawberrymusicplayer.org/</a>").arg(palette().text().color().name()));
text += QString("</p>");
text += QString("<p>");
text += tr("For a better experience please consider the other options above.");
text += QString("</p>");
text += QString("<p></p>");
ui_->label_text->setText(text);
ui_->label_text->adjustSize();
ui_->buttonBox->button(QDialogButtonBox::Ok)->setShortcut(QKeySequence::Close);
connect(ui_->checkbox_do_not_show_message_again, SIGNAL(toggled(bool)), SLOT(DoNotShowMessageAgain()));
}
SnapDialog::~SnapDialog() { delete ui_; }
void SnapDialog::DoNotShowMessageAgain() {
QSettings s;
s.beginGroup(MainWindow::kSettingsGroup);
s.setValue("ignore_snap", ui_->checkbox_do_not_show_message_again->isChecked());
s.endGroup();
}

41
src/dialogs/snapdialog.h Normal file
View File

@@ -0,0 +1,41 @@
/*
* Strawberry Music Player
* Copyright 2020, Jonas Kvinge <jonas@jkvinge.net>
*
* Strawberry 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.
*
* Strawberry 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 Strawberry. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef SNAPDIALOG_H
#define SNAPDIALOG_H
#include <QDialog>
class Ui_SnapDialog;
class SnapDialog : public QDialog {
Q_OBJECT
public:
explicit SnapDialog(QWidget *parent = nullptr);
~SnapDialog() override;
private slots:
void DoNotShowMessageAgain();
private:
Ui_SnapDialog *ui_;
};
#endif // SNAPDIALOG_H

160
src/dialogs/snapdialog.ui Normal file
View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SnapDialog</class>
<widget class="QDialog" name="SnapDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<height>300</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="windowTitle">
<string>Strawberry is running as a snap</string>
</property>
<property name="windowIcon">
<iconset resource="../../data/icons.qrc">
<normaloff>:/icons/64x64/strawberry.png</normaloff>:/icons/64x64/strawberry.png</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
<item>
<layout class="QVBoxLayout" name="layout_left">
<item>
<widget class="QLabel" name="label_logo">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../../data/icons.qrc">:/icons/64x64/dialog-warning.png</pixmap>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="layout_right">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
<item>
<widget class="QLabel" name="label_text">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="checkbox_do_not_show_message_again">
<property name="text">
<string>Do not show this message again.</string>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<resources>
<include location="../../data/data.qrc"/>
<include location="../../data/icons.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>SnapDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>SnapDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@@ -35,8 +35,7 @@
#include "alsadevicefinder.h"
AlsaDeviceFinder::AlsaDeviceFinder()
: DeviceFinder("alsa", {"alsa","alsasink"}) {
}
: DeviceFinder("alsa", {"alsa","alsasink"}) {}
QList<DeviceFinder::Device> AlsaDeviceFinder::ListDevices() {
@@ -45,7 +44,7 @@ QList<DeviceFinder::Device> AlsaDeviceFinder::ListDevices() {
snd_pcm_stream_name(SND_PCM_STREAM_PLAYBACK);
int card = -1;
snd_ctl_card_info_t* cardinfo;
snd_ctl_card_info_t *cardinfo = nullptr;
snd_ctl_card_info_alloca(&cardinfo);
while (true) {
@@ -59,7 +58,7 @@ QList<DeviceFinder::Device> AlsaDeviceFinder::ListDevices() {
char str[32];
snprintf(str, sizeof(str) - 1, "hw:%d", card);
snd_ctl_t* handle;
snd_ctl_t *handle = nullptr;
result = snd_ctl_open(&handle, str, 0);
if (result < 0) {
qLog(Error) << "Unable to open soundcard" << card << ":" << snd_strerror(result);
@@ -75,7 +74,7 @@ QList<DeviceFinder::Device> AlsaDeviceFinder::ListDevices() {
}
int dev = -1;
snd_pcm_info_t* pcminfo;
snd_pcm_info_t *pcminfo = nullptr;
snd_pcm_info_alloca(&pcminfo);
while (true) {

View File

@@ -30,7 +30,7 @@ class AlsaDeviceFinder : public DeviceFinder {
public:
explicit AlsaDeviceFinder();
bool Initialise() override { return true; }
bool Initialize() override { return true; }
QList<Device> ListDevices() override;
};

View File

@@ -47,7 +47,7 @@ class DeviceFinder {
void add_output(const QString output) { outputs_.append(output); }
// Does any necessary setup, returning false if this DeviceFinder cannot be used.
virtual bool Initialise() = 0;
virtual bool Initialize() = 0;
// Returns a list of available devices.
virtual QList<Device> ListDevices() = 0;

View File

@@ -70,8 +70,8 @@ void DeviceFinders::Init() {
#endif
for (DeviceFinder *finder : device_finders) {
if (!finder->Initialise()) {
qLog(Warning) << "Failed to initialise DeviceFinder for" << finder->name();
if (!finder->Initialize()) {
qLog(Warning) << "Failed to initialize DeviceFinder for" << finder->name();
delete finder;
continue;
}

View File

@@ -31,7 +31,7 @@ class DirectSoundDeviceFinder : public DeviceFinder {
public:
explicit DirectSoundDeviceFinder();
virtual bool Initialise() { return true; }
virtual bool Initialize() { return true; }
virtual QList<Device> ListDevices();
private:

View File

@@ -31,6 +31,7 @@
#include <string>
#include <gst/gst.h>
#include <gst/pbutils/pbutils.h>
#include <QtGlobal>
#include <QFuture>
@@ -53,6 +54,7 @@
#include "core/logging.h"
#include "core/taskmanager.h"
#include "core/timeconstants.h"
#include "core/signalchecker.h"
#include "enginebase.h"
#include "enginetype.h"
#include "gstengine.h"
@@ -71,9 +73,12 @@ const char *GstEngine::kAVDTPSink = "avdtpsink";
const char *GstEngine::InterAudiosink = "interaudiosink";
const char *GstEngine::kDirectSoundSink = "directsoundsink";
const char *GstEngine::kOSXAudioSink = "osxaudiosink";
const int GstEngine::kDiscoveryTimeoutS = 10;
GstEngine::GstEngine(TaskManager *task_manager)
: task_manager_(task_manager),
gst_startup_(nullptr),
discoverer_(nullptr),
buffering_task_id_(-1),
latest_buffer_(nullptr),
stereo_balancer_enabled_(false),
@@ -86,7 +91,10 @@ GstEngine::GstEngine(TaskManager *task_manager)
is_fading_out_to_pause_(false),
has_faded_out_(false),
scope_chunk_(0),
have_new_buffer_(false) {
have_new_buffer_(false),
discovery_finished_cb_id_(-1),
discovery_discovered_cb_id_(-1)
{
type_ = Engine::GStreamer;
seek_timer_->setSingleShot(true);
@@ -99,7 +107,7 @@ GstEngine::GstEngine(TaskManager *task_manager)
GstEngine::~GstEngine() {
EnsureInitialised();
EnsureInitialized();
current_pipeline_.reset();
if (latest_buffer_) {
@@ -107,6 +115,19 @@ GstEngine::~GstEngine() {
latest_buffer_ = nullptr;
}
if (discoverer_) {
if (discovery_discovered_cb_id_ != -1)
g_signal_handler_disconnect(G_OBJECT(discoverer_), discovery_discovered_cb_id_);
if (discovery_finished_cb_id_ != -1)
g_signal_handler_disconnect(G_OBJECT(discoverer_), discovery_finished_cb_id_);
gst_discoverer_stop(discoverer_);
g_object_unref(discoverer_);
discoverer_ = nullptr;
}
}
bool GstEngine::Init() {
@@ -136,19 +157,28 @@ Engine::State GstEngine::state() const {
void GstEngine::StartPreloading(const QUrl &stream_url, const QUrl &original_url, const bool force_stop_at_end, const qint64 beginning_nanosec, const qint64 end_nanosec) {
EnsureInitialised();
EnsureInitialized();
QByteArray gst_url = FixupUrl(stream_url);
// No crossfading, so we can just queue the new URL in the existing pipeline and get gapless playback (hopefully)
if (current_pipeline_)
if (current_pipeline_) {
current_pipeline_->SetNextUrl(gst_url, original_url, beginning_nanosec, force_stop_at_end ? end_nanosec : 0);
// Add request to discover the stream
#ifdef Q_OS_LINUX
if (discoverer_) {
if (!gst_discoverer_discover_uri_async(discoverer_, gst_url.toStdString().c_str())) {
qLog(Error) << "Failed to start stream discovery for" << gst_url;
}
}
#endif
}
}
bool GstEngine::Load(const QUrl &stream_url, const QUrl &original_url, Engine::TrackChangeFlags change, const bool force_stop_at_end, const quint64 beginning_nanosec, const qint64 end_nanosec) {
EnsureInitialised();
EnsureInitialized();
Engine::Base::Load(stream_url, original_url, change, force_stop_at_end, beginning_nanosec, end_nanosec);
@@ -180,13 +210,34 @@ bool GstEngine::Load(const QUrl &stream_url, const QUrl &original_url, Engine::T
if (crossfade)
current_pipeline_->StartFader(fadeout_duration_nanosec_, QTimeLine::Forward);
// Setting up stream discoverer
#ifdef Q_OS_LINUX
if (!discoverer_) {
discoverer_ = gst_discoverer_new(kDiscoveryTimeoutS * GST_SECOND, nullptr);
if (discoverer_) {
discovery_discovered_cb_id_ = CHECKED_GCONNECT(G_OBJECT(discoverer_), "discovered", &StreamDiscovered, this);
discovery_finished_cb_id_ = CHECKED_GCONNECT(G_OBJECT(discoverer_), "finished", &StreamDiscoveryFinished, this);
gst_discoverer_start(discoverer_);
}
}
#endif
// Add request to discover the stream
#ifdef Q_OS_LINUX
if (discoverer_) {
if (!gst_discoverer_discover_uri_async(discoverer_, gst_url.toStdString().c_str())) {
qLog(Error) << "Failed to start stream discovery for" << gst_url;
}
}
#endif
return true;
}
bool GstEngine::Play(const quint64 offset_nanosec) {
EnsureInitialised();
EnsureInitialized();
if (!current_pipeline_ || current_pipeline_->is_buffering()) return false;
@@ -344,7 +395,7 @@ const Engine::Scope &GstEngine::scope(const int chunk_length) {
EngineBase::OutputDetailsList GstEngine::GetOutputsList() const {
const_cast<GstEngine*>(this)->EnsureInitialised();
const_cast<GstEngine*>(this)->EnsureInitialized();
EngineBase::OutputDetailsList ret;
@@ -369,7 +420,7 @@ EngineBase::OutputDetailsList GstEngine::GetOutputsList() const {
bool GstEngine::ValidOutput(const QString &output) {
EnsureInitialised();
EnsureInitialized();
PluginDetailsList plugins = GetPluginList("Sink/Audio");
for (const PluginDetails &plugin : plugins) {
@@ -645,7 +696,7 @@ void GstEngine::BufferingFinished() {
GstEngine::PluginDetailsList GstEngine::GetPluginList(const QString &classname) const {
const_cast<GstEngine*>(this)->EnsureInitialised();
const_cast<GstEngine*>(this)->EnsureInitialized();
PluginDetailsList ret;
@@ -672,7 +723,7 @@ GstEngine::PluginDetailsList GstEngine::GetPluginList(const QString &classname)
QByteArray GstEngine::FixupUrl(const QUrl &url) {
EnsureInitialised();
EnsureInitialized();
QByteArray uri;
@@ -749,7 +800,7 @@ void GstEngine::StopTimers() {
std::shared_ptr<GstEnginePipeline> GstEngine::CreatePipeline() {
EnsureInitialised();
EnsureInitialized();
std::shared_ptr<GstEnginePipeline> ret(new GstEnginePipeline(this));
ret->set_output_device(output_, device_);
@@ -845,3 +896,69 @@ void GstEngine::UpdateScope(const int chunk_length) {
}
}
void GstEngine::StreamDiscovered(GstDiscoverer*, GstDiscovererInfo *info, GError*, gpointer self) {
GstEngine *instance = reinterpret_cast<GstEngine*>(self);
if (!instance->current_pipeline_) return;
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) << QString("Stream discovery for %1 failed: %2").arg(discovered_url).arg(error_message);
return;
}
GList *audio_streams = gst_discoverer_info_get_audio_streams(info);
if (audio_streams) {
GstDiscovererStreamInfo *stream_info = reinterpret_cast<GstDiscovererStreamInfo*>(g_list_first(audio_streams)->data);
Engine::SimpleMetaBundle bundle;
if (discovered_url == instance->current_pipeline_->stream_url()) {
bundle.url = instance->current_pipeline_->original_url();
}
else if (discovered_url == instance->current_pipeline_->next_stream_url()) {
bundle.url = instance->current_pipeline_->next_original_url();
}
bundle.stream_url = QUrl(discovered_url);
bundle.samplerate = gst_discoverer_audio_info_get_sample_rate(GST_DISCOVERER_AUDIO_INFO(stream_info));
bundle.bitdepth = gst_discoverer_audio_info_get_depth(GST_DISCOVERER_AUDIO_INFO(stream_info));
bundle.bitrate = gst_discoverer_audio_info_get_bitrate(GST_DISCOVERER_AUDIO_INFO(stream_info)) / 1000;
GstCaps *caps = gst_discoverer_stream_info_get_caps(stream_info);
gchar *codec_description = gst_pb_utils_get_codec_description(caps);
QString filetype_description = (codec_description ? QString(codec_description) : QString("Unknown"));
g_free(codec_description);
gst_caps_unref(caps);
gst_discoverer_stream_info_list_free(audio_streams);
bundle.filetype = Song::FiletypeByDescription(filetype_description);
qLog(Info) << "Got stream info for" << discovered_url + ":" << filetype_description;
emit instance->MetaData(bundle);
}
else {
qLog(Error) << "Could not detect an audio stream in" << discovered_url;
}
}
void GstEngine::StreamDiscoveryFinished(GstDiscoverer*, gpointer) {}
QString GstEngine::GSTdiscovererErrorMessage(GstDiscovererResult result) {
switch (result) {
case GST_DISCOVERER_URI_INVALID: return "The URI is invalid";
case GST_DISCOVERER_TIMEOUT: return "The discovery timed-out";
case GST_DISCOVERER_BUSY: return "The discoverer was already discovering a file";
case GST_DISCOVERER_MISSING_PLUGINS: return "Some plugins are missing for full discovery";
case GST_DISCOVERER_ERROR:
default: return "An error happened and the GError is set";
}
}

View File

@@ -28,6 +28,7 @@
#include <memory>
#include <gst/gst.h>
#include <gst/pbutils/pbutils.h>
#include <QtGlobal>
#include <QObject>
@@ -85,7 +86,7 @@ class GstEngine : public Engine::Base, public GstBufferConsumer {
bool ALSADeviceSupport(const QString &output) override;
void SetStartup(GstStartup *gst_startup) { gst_startup_ = gst_startup; }
void EnsureInitialised() { gst_startup_->EnsureInitialised(); }
void EnsureInitialized() { gst_startup_->EnsureInitialized(); }
GstElement *CreateElement(const QString &factoryName, GstElement *bin = nullptr, const bool showerror = true);
void ConsumeBuffer(GstBuffer *buffer, const int pipeline_id, const QString &format) override;
@@ -126,19 +127,6 @@ class GstEngine : public Engine::Base, public GstBufferConsumer {
void BufferingFinished();
private:
static const char *kAutoSink;
static const char *kALSASink;
static const char *kOpenALSASink;
static const char *kOSSSink;
static const char *kOSS4Sink;
static const char *kJackAudioSink;
static const char *kPulseSink;
static const char *kA2DPSink;
static const char *kAVDTPSink;
static const char *InterAudiosink;
static const char *kDirectSoundSink;
static const char *kOSXAudioSink;
PluginDetailsList GetPluginList(const QString &classname) const;
QByteArray FixupUrl(const QUrl &url);
@@ -153,13 +141,32 @@ class GstEngine : public Engine::Base, public GstBufferConsumer {
void UpdateScope(int chunk_length);
static void StreamDiscovered(GstDiscoverer*, GstDiscovererInfo *info, GError*, gpointer self);
static void StreamDiscoveryFinished(GstDiscoverer*, gpointer);
static QString GSTdiscovererErrorMessage(GstDiscovererResult result);
private:
static const char *kAutoSink;
static const char *kALSASink;
static const char *kOpenALSASink;
static const char *kOSSSink;
static const char *kOSS4Sink;
static const char *kJackAudioSink;
static const char *kPulseSink;
static const char *kA2DPSink;
static const char *kAVDTPSink;
static const char *InterAudiosink;
static const char *kDirectSoundSink;
static const char *kOSXAudioSink;
static const int kDiscoveryTimeoutS;
static const qint64 kTimerIntervalNanosec = 1000 * kNsecPerMsec; // 1s
static const qint64 kPreloadGapNanosec = 5000 * kNsecPerMsec; // 5s
static const qint64 kSeekDelayNanosec = 100 * kNsecPerMsec; // 100msec
TaskManager *task_manager_;
GstStartup *gst_startup_;
GstDiscoverer *discoverer_;
int buffering_task_id_;
std::shared_ptr<GstEnginePipeline> current_pipeline_;
@@ -197,6 +204,9 @@ class GstEngine : public Engine::Base, public GstBufferConsumer {
int scope_chunks_;
QString buffer_format_;
int discovery_finished_cb_id_;
int discovery_discovered_cb_id_;
};
#endif /* GSTENGINE_H */

View File

@@ -28,11 +28,11 @@
#include <glib-object.h>
#include <gst/gst.h>
#include <gst/audio/audio.h>
#include <gst/pbutils/pbutils.h>
#include <QtGlobal>
#include <QObject>
#include <QCoreApplication>
#include <QtConcurrent>
#include <QMutex>
#include <QByteArray>
#include <QList>
@@ -45,7 +45,6 @@
#include <QUuid>
#include <QtDebug>
#include "core/concurrentrun.h"
#include "core/logging.h"
#include "core/signalchecker.h"
#include "core/timeconstants.h"
@@ -59,7 +58,6 @@
const int GstEnginePipeline::kGstStateTimeoutNanosecs = 10000000;
const int GstEnginePipeline::kFaderFudgeMsec = 2000;
const int GstEnginePipeline::kDiscoveryTimeoutS = 10;
const int GstEnginePipeline::kEqBandCount = 10;
const int GstEnginePipeline::kEqBandFrequencies[] = { 60, 170, 310, 600, 1000, 3000, 6000, 12000, 14000, 16000 };
@@ -92,7 +90,7 @@ GstEnginePipeline::GstEnginePipeline(GstEngine *engine)
next_end_offset_nanosec_(-1),
ignore_next_seek_(false),
ignore_tags_(false),
pipeline_is_initialised_(false),
pipeline_is_initialized_(false),
pipeline_is_connected_(false),
pending_seek_nanosec_(-1),
last_known_position_ns_(0),
@@ -107,13 +105,10 @@ GstEnginePipeline::GstEnginePipeline(GstEngine *engine)
audiopanorama_(nullptr),
equalizer_(nullptr),
equalizer_preamp_(nullptr),
discoverer_(nullptr),
pad_added_cb_id_(-1),
notify_source_cb_id_(-1),
about_to_finish_cb_id_(-1),
bus_cb_id_(-1),
discovery_finished_cb_id_(-1),
discovery_discovered_cb_id_(-1),
unsupported_analyzer_(false)
{
@@ -127,18 +122,6 @@ GstEnginePipeline::GstEnginePipeline(GstEngine *engine)
GstEnginePipeline::~GstEnginePipeline() {
if (discoverer_) {
if (discovery_discovered_cb_id_ != -1)
g_signal_handler_disconnect(G_OBJECT(discoverer_), discovery_discovered_cb_id_);
if (discovery_finished_cb_id_ != -1)
g_signal_handler_disconnect(G_OBJECT(discoverer_), discovery_finished_cb_id_);
g_object_unref(discoverer_);
discoverer_ = nullptr;
}
if (pipeline_) {
if (pad_added_cb_id_ != -1)
@@ -159,8 +142,7 @@ GstEnginePipeline::~GstEnginePipeline() {
gst_object_unref(bus);
}
if (state() != GST_STATE_NULL)
gst_element_set_state(pipeline_, GST_STATE_NULL);
gst_element_set_state(pipeline_, GST_STATE_NULL);
gst_object_unref(GST_OBJECT(pipeline_));
@@ -234,14 +216,6 @@ bool GstEnginePipeline::InitFromUrl(const QByteArray &stream_url, const QUrl ori
notify_source_cb_id_ = CHECKED_GCONNECT(G_OBJECT(pipeline_), "notify::source", &SourceSetupCallback, this);
about_to_finish_cb_id_ = CHECKED_GCONNECT(G_OBJECT(pipeline_), "about-to-finish", &AboutToFinishCallback, this);
// Setting up a discoverer
discoverer_ = gst_discoverer_new(kDiscoveryTimeoutS * GST_SECOND, nullptr);
if (discoverer_) {
discovery_discovered_cb_id_ = CHECKED_GCONNECT(G_OBJECT(discoverer_), "discovered", &StreamDiscovered, this);
discovery_finished_cb_id_ = CHECKED_GCONNECT(G_OBJECT(discoverer_), "finished", &StreamDiscoveryFinished, this);
gst_discoverer_start(discoverer_);
}
if (!InitAudioBin()) return false;
// Set playbin's sink to be our custom audio-sink.
@@ -440,13 +414,6 @@ bool GstEnginePipeline::InitAudioBin() {
bus_cb_id_ = gst_bus_add_watch(bus, BusCallback, this);
gst_object_unref(bus);
// Add request to discover the stream
if (discoverer_) {
if (!gst_discoverer_discover_uri_async(discoverer_, stream_url_.toStdString().c_str())) {
qLog(Error) << "Failed to start stream discovery for" << stream_url_;
}
}
unsupported_analyzer_ = false;
return true;
@@ -480,7 +447,7 @@ GstPadProbeReturn GstEnginePipeline::EventHandoffCallback(GstPad*, GstPadProbeIn
}
void GstEnginePipeline::SourceSetupCallback(GstPlayBin *bin, GParamSpec *, gpointer self) {
void GstEnginePipeline::SourceSetupCallback(GstPlayBin *bin, GParamSpec*, gpointer self) {
GstEnginePipeline *instance = reinterpret_cast<GstEnginePipeline*>(self);
@@ -537,7 +504,7 @@ void GstEnginePipeline::NewPadCallback(GstElement*, GstPad *pad, gpointer self)
gst_pad_add_probe(pad, static_cast<GstPadProbeType>(GST_PAD_PROBE_TYPE_BUFFER | GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM | GST_PAD_PROBE_TYPE_EVENT_FLUSH), PlaybinProbe, instance, nullptr);
instance->pipeline_is_connected_ = true;
if (instance->pending_seek_nanosec_ != -1 && instance->pipeline_is_initialised_) {
if (instance->pending_seek_nanosec_ != -1 && instance->pipeline_is_initialized_) {
QMetaObject::invokeMethod(instance, "Seek", Qt::QueuedConnection, Q_ARG(qint64, instance->pending_seek_nanosec_));
}
@@ -594,6 +561,7 @@ GstPadProbeReturn GstEnginePipeline::HandoffCallback(GstPad *pad, GstPadProbeInf
int rate = 0;
gst_structure_get_int(structure, "channels", &channels);
gst_structure_get_int(structure, "rate", &rate);
gst_caps_unref(caps);
GstBuffer *buf = gst_pad_probe_info_get_buffer(info);
GstBuffer *buf16 = nullptr;
@@ -731,8 +699,6 @@ gboolean GstEnginePipeline::BusCallback(GstBus*, GstMessage *msg, gpointer self)
GstEnginePipeline *instance = reinterpret_cast<GstEnginePipeline*>(self);
qLog(Debug) << instance->id() << "bus message" << GST_MESSAGE_TYPE_NAME(msg);
switch (GST_MESSAGE_TYPE(msg)) {
case GST_MESSAGE_ERROR:
instance->ErrorMessageReceived(msg);
@@ -758,8 +724,6 @@ GstBusSyncReply GstEnginePipeline::BusCallbackSync(GstBus*, GstMessage *msg, gpo
GstEnginePipeline *instance = reinterpret_cast<GstEnginePipeline*>(self);
qLog(Debug) << instance->id() << "sync bus message" << GST_MESSAGE_TYPE_NAME(msg);
switch (GST_MESSAGE_TYPE(msg)) {
case GST_MESSAGE_EOS:
emit instance->EndOfStreamReached(instance->id(), false);
@@ -804,7 +768,7 @@ GstBusSyncReply GstEnginePipeline::BusCallbackSync(GstBus*, GstMessage *msg, gpo
void GstEnginePipeline::StreamStatusMessageReceived(GstMessage *msg) {
GstStreamStatusType type;
GstElement *owner;
GstElement *owner = nullptr;
gst_message_parse_stream_status(msg, &type, &owner);
if (type == GST_STREAM_STATUS_TYPE_CREATE) {
@@ -835,9 +799,9 @@ void GstEnginePipeline::StreamStartMessageReceived() {
}
void GstEnginePipeline::TaskEnterCallback(GstTask *, GThread *, gpointer) {
void GstEnginePipeline::TaskEnterCallback(GstTask*, GThread*, gpointer) {
// Bump the priority of the thread only on OS X
// Bump the priority of the thread only on macOS
#ifdef Q_OS_MACOS
sched_param param;
@@ -875,13 +839,13 @@ void GstEnginePipeline::ErrorMessageReceived(GstMessage *msg) {
g_error_free(error);
g_free(debugs);
if (state() == GST_STATE_PLAYING && pipeline_is_initialised_ && next_uri_set_ && (domain == GST_RESOURCE_ERROR || domain == GST_STREAM_ERROR)) {
if (pipeline_is_initialized_ && next_uri_set_ && (domain == GST_RESOURCE_ERROR || domain == GST_STREAM_ERROR)) {
// A track is still playing and the next uri is not playable. We ignore the error here so it can play until the end.
// But there is no message send to the bus when the current track finishes, we have to add an EOS ourself.
qLog(Info) << "Ignoring error when loading next track";
GstPad *sinkpad = gst_element_get_static_pad(audiobin_, "sink");
gst_pad_send_event(sinkpad, gst_event_new_eos());
gst_object_unref(sinkpad);
GstPad *pad = gst_element_get_static_pad(audiobin_, "sink");
gst_pad_send_event(pad, gst_event_new_eos());
gst_object_unref(pad);
return;
}
@@ -949,7 +913,7 @@ void GstEnginePipeline::TagMessageReceived(GstMessage *msg) {
}
}
gst_tag_list_free(taglist);
gst_tag_list_unref(taglist);
emit MetadataFound(id(), bundle);
@@ -990,29 +954,21 @@ void GstEnginePipeline::StateChangedMessageReceived(GstMessage *msg) {
GstState old_state, new_state, pending;
gst_message_parse_state_changed(msg, &old_state, &new_state, &pending);
if (!pipeline_is_initialised_ && (new_state == GST_STATE_PAUSED || new_state == GST_STATE_PLAYING)) {
pipeline_is_initialised_ = true;
if (!pipeline_is_initialized_ && (new_state == GST_STATE_PAUSED || new_state == GST_STATE_PLAYING)) {
pipeline_is_initialized_ = true;
if (pending_seek_nanosec_ != -1 && pipeline_is_connected_) {
QMetaObject::invokeMethod(this, "Seek", Qt::QueuedConnection, Q_ARG(qint64, pending_seek_nanosec_));
}
}
if (pipeline_is_initialised_ && new_state != GST_STATE_PAUSED && new_state != GST_STATE_PLAYING) {
pipeline_is_initialised_ = false;
if (pipeline_is_initialized_ && new_state != GST_STATE_PAUSED && new_state != GST_STATE_PLAYING) {
pipeline_is_initialized_ = false;
if (next_uri_set_ && new_state == GST_STATE_READY) {
// Revert uri and go back to PLAY state again
next_uri_set_ = false;
g_object_set(G_OBJECT(pipeline_), "uri", stream_url_.constData(), nullptr);
SetState(GST_STATE_PLAYING);
// Add request to discover the stream
if (discoverer_) {
if (!gst_discoverer_discover_uri_async(discoverer_, stream_url_.toStdString().c_str())) {
qLog(Error) << "Failed to start stream discovery for" << stream_url_;
}
}
}
}
@@ -1050,7 +1006,7 @@ void GstEnginePipeline::BufferingMessageReceived(GstMessage *msg) {
qint64 GstEnginePipeline::position() const {
if (pipeline_is_initialised_)
if (pipeline_is_initialized_)
gst_element_query_position(pipeline_, GST_FORMAT_TIME, &last_known_position_ns_);
return last_known_position_ns_;
@@ -1077,7 +1033,7 @@ GstState GstEnginePipeline::state() const {
}
QFuture<GstStateChangeReturn> GstEnginePipeline::SetState(const GstState state) {
return ConcurrentRun::Run<GstStateChangeReturn, GstElement*, GstState>(&set_state_threadpool_, &gst_element_set_state, pipeline_, state);
return QtConcurrent::run(&set_state_threadpool_, &gst_element_set_state, pipeline_, state);
}
bool GstEnginePipeline::Seek(const qint64 nanosec) {
@@ -1087,7 +1043,7 @@ bool GstEnginePipeline::Seek(const qint64 nanosec) {
return true;
}
if (!pipeline_is_connected_ || !pipeline_is_initialised_) {
if (!pipeline_is_connected_ || !pipeline_is_initialized_) {
pending_seek_nanosec_ = nanosec;
return true;
}
@@ -1261,76 +1217,4 @@ void GstEnginePipeline::SetNextUrl(const QByteArray &stream_url, const QUrl &ori
next_beginning_offset_nanosec_ = beginning_nanosec;
next_end_offset_nanosec_ = end_nanosec;
// Add request to discover the stream
if (discoverer_) {
if (!gst_discoverer_discover_uri_async(discoverer_, next_stream_url_.toStdString().c_str())) {
qLog(Error) << "Failed to start stream discovery for" << next_stream_url_;
}
}
}
void GstEnginePipeline::StreamDiscovered(GstDiscoverer*, GstDiscovererInfo *info, GError*, gpointer self) {
GstEnginePipeline *instance = reinterpret_cast<GstEnginePipeline*>(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) << QString("Stream discovery for %1 failed: %2").arg(discovered_url).arg(error_message);
return;
}
GList *audio_streams = gst_discoverer_info_get_audio_streams(info);
if (audio_streams) {
GstDiscovererStreamInfo *stream_info = reinterpret_cast<GstDiscovererStreamInfo*>(g_list_first(audio_streams)->data);
Engine::SimpleMetaBundle bundle;
if (discovered_url == instance->stream_url_) {
bundle.url = instance->original_url_;
}
else if (discovered_url == instance->next_stream_url_) {
bundle.url = instance->next_original_url_;
}
bundle.stream_url = QUrl(discovered_url);
bundle.samplerate = gst_discoverer_audio_info_get_sample_rate(GST_DISCOVERER_AUDIO_INFO(stream_info));
bundle.bitdepth = gst_discoverer_audio_info_get_depth(GST_DISCOVERER_AUDIO_INFO(stream_info));
bundle.bitrate = gst_discoverer_audio_info_get_bitrate(GST_DISCOVERER_AUDIO_INFO(stream_info)) / 1000;
GstCaps *caps = gst_discoverer_stream_info_get_caps(stream_info);
gchar *codec_description = gst_pb_utils_get_codec_description(caps);
QString filetype_description = (codec_description ? QString(codec_description) : QString("Unknown"));
g_free(codec_description);
gst_caps_unref(caps);
gst_discoverer_stream_info_list_free(audio_streams);
bundle.filetype = Song::FiletypeByDescription(filetype_description);
qLog(Info) << "Got stream info for" << discovered_url + ":" << filetype_description;
emit instance->MetadataFound(instance->id(), bundle);
}
else {
qLog(Error) << "Could not detect an audio stream in" << discovered_url;
}
}
void GstEnginePipeline::StreamDiscoveryFinished(GstDiscoverer*, gpointer) {}
QString GstEnginePipeline::GSTdiscovererErrorMessage(GstDiscovererResult result) {
switch (result) {
case GST_DISCOVERER_URI_INVALID: return "The URI is invalid";
case GST_DISCOVERER_TIMEOUT: return "The discovery timed-out";
case GST_DISCOVERER_BUSY: return "The discoverer was already discovering a file";
case GST_DISCOVERER_MISSING_PLUGINS: return "Some plugins are missing for full discovery";
case GST_DISCOVERER_ERROR:
default: return "An error happened and the GError is set";
}
}

View File

@@ -29,7 +29,6 @@
#include <glib-object.h>
#include <glib/gtypes.h>
#include <gst/gst.h>
#include <gst/pbutils/pbutils.h>
#include <QtGlobal>
#include <QObject>
@@ -100,7 +99,9 @@ class GstEnginePipeline : public QObject {
// Get information about the music playback
QByteArray stream_url() const { return stream_url_; }
QByteArray next_stream_url() const { return next_stream_url_; }
QUrl original_url() const { return original_url_; }
QUrl next_original_url() const { return next_original_url_; }
bool is_valid() const { return valid_; }
// Please note that this method (unlike GstEngine's.position()) is multiple-section media unaware.
@@ -149,9 +150,6 @@ class GstEnginePipeline : public QObject {
static GstBusSyncReply BusCallbackSync(GstBus*, GstMessage*, gpointer);
static gboolean BusCallback(GstBus*, GstMessage*, gpointer);
static void TaskEnterCallback(GstTask*, GThread*, gpointer);
static void StreamDiscovered(GstDiscoverer*, GstDiscovererInfo *info, GError*, gpointer self);
static void StreamDiscoveryFinished(GstDiscoverer*, gpointer);
static QString GSTdiscovererErrorMessage(GstDiscovererResult result);
void TagMessageReceived(GstMessage*);
void ErrorMessageReceived(GstMessage*);
@@ -174,7 +172,6 @@ class GstEnginePipeline : public QObject {
private:
static const int kGstStateTimeoutNanosecs;
static const int kFaderFudgeMsec;
static const int kDiscoveryTimeoutS;
static const int kEqBandCount;
static const int kEqBandFrequencies[];
@@ -249,7 +246,7 @@ class GstEnginePipeline : public QObject {
// Seeking while the pipeline is in the READY state doesn't work, so we have to wait until it goes to PAUSED or PLAYING.
// Also we have to wait for the playbin to be connected.
bool pipeline_is_initialised_;
bool pipeline_is_initialized_;
bool pipeline_is_connected_;
qint64 pending_seek_nanosec_;
@@ -275,14 +272,11 @@ class GstEnginePipeline : public QObject {
GstElement *audiopanorama_;
GstElement *equalizer_;
GstElement *equalizer_preamp_;
GstDiscoverer *discoverer_;
int pad_added_cb_id_;
int notify_source_cb_id_;
int about_to_finish_cb_id_;
int bus_cb_id_;
int discovery_finished_cb_id_;
int discovery_discovered_cb_id_;
QThreadPool set_state_threadpool_;

View File

@@ -41,14 +41,12 @@
#include "gststartup.h"
GstStartup::GstStartup(QObject *parent) : QObject(parent) {
initialising_ = QtConcurrent::run([=]{ InitialiseGStreamer(); });
initializing_ = QtConcurrent::run([=]{ InitializeGStreamer(); });
}
GstStartup::~GstStartup() {
//gst_deinit();
}
GstStartup::~GstStartup() {}
void GstStartup::InitialiseGStreamer() {
void GstStartup::InitializeGStreamer() {
SetEnvironment();

View File

@@ -34,12 +34,12 @@ class GstStartup : public QObject {
explicit GstStartup(QObject *parent = nullptr);
~GstStartup() override;
void EnsureInitialised() { initialising_.waitForFinished(); }
void EnsureInitialized() { initializing_.waitForFinished(); }
private:
void InitialiseGStreamer();
void InitializeGStreamer();
void SetEnvironment();
QFuture<void> initialising_;
QFuture<void> initializing_;
};

View File

@@ -31,7 +31,7 @@ class MacOsDeviceFinder : public DeviceFinder {
public:
explicit MacOsDeviceFinder();
virtual bool Initialise() { return true; }
virtual bool Initialize() { return true; }
virtual QList<Device> ListDevices();
};

View File

@@ -36,28 +36,7 @@ MMDeviceFinder::MMDeviceFinder() : DeviceFinder("mmdevice", { "wasapisink" }) {}
QList<DeviceFinder::Device> MMDeviceFinder::ListDevices() {
HRESULT hr = S_OK;
IMMDeviceEnumerator *enumerator = nullptr;
hr = CoCreateInstance(CLSID_MMDeviceEnumerator, nullptr, CLSCTX_ALL, IID_IMMDeviceEnumerator, (void**)&enumerator);
if (FAILED(hr)) {
return QList<Device>();
}
IMMDeviceCollection *collection = nullptr;
hr = enumerator->EnumAudioEndpoints(eRender, DEVICE_STATE_ACTIVE, &collection);
if (FAILED(hr)) {
enumerator->Release();
return QList<Device>();
}
UINT count;
hr = collection->GetCount(&count);
if (FAILED(hr)) {
collection->Release();
enumerator->Release();
return QList<Device>();
}
HRESULT hr_coinit = CoInitializeEx(NULL, COINIT_MULTITHREADED);
QList<Device> devices;
Device default_device;
@@ -65,51 +44,71 @@ QList<DeviceFinder::Device> MMDeviceFinder::ListDevices() {
default_device.iconname = GuessIconName(default_device.description);
devices.append(default_device);
for (ULONG i = 0 ; i < count ; i++) {
IMMDevice *endpoint = nullptr;
hr = collection->Item(i, &endpoint);
if (FAILED(hr)) { return devices; }
LPWSTR pwszid = nullptr;
hr = endpoint->GetId(&pwszid);
if (FAILED(hr)) {
endpoint->Release();
continue;
IMMDeviceEnumerator *enumerator = nullptr;
HRESULT hr = CoCreateInstance(CLSID_MMDeviceEnumerator, nullptr, CLSCTX_ALL, IID_IMMDeviceEnumerator, (void**)&enumerator);
if (hr == S_OK) {
IMMDeviceCollection *collection = nullptr;
hr = enumerator->EnumAudioEndpoints(eRender, DEVICE_STATE_ACTIVE, &collection);
if (hr == S_OK) {
UINT count;
hr = collection->GetCount(&count);
if (hr == S_OK) {
for (ULONG i = 0 ; i < count ; i++) {
IMMDevice *endpoint = nullptr;
hr = collection->Item(i, &endpoint);
if (hr == S_OK) {
LPWSTR pwszid = nullptr;
hr = endpoint->GetId(&pwszid);
if (hr == S_OK) {
IPropertyStore *props = nullptr;
hr = endpoint->OpenPropertyStore(STGM_READ, &props);
if (hr == S_OK) {
PROPVARIANT var_name;
PropVariantInit(&var_name);
hr = props->GetValue(PKEY_Device_FriendlyName, &var_name);
if (hr == S_OK) {
Device device;
device.description = QString::fromWCharArray(var_name.pwszVal);
device.iconname = GuessIconName(device.description);
device.value = QString::fromStdWString(pwszid);
devices.append(device);
PropVariantClear(&var_name);
}
else {
qLog(Error) << "IPropertyStore::GetValue failed." << Qt::hex << DWORD(hr);
}
props->Release();
}
else {
qLog(Error) << "IPropertyStore::OpenPropertyStore failed." << Qt::hex << DWORD(hr);
}
CoTaskMemFree(pwszid);
}
else {
qLog(Error) << "IMMDevice::GetId failed." << Qt::hex << DWORD(hr);
}
endpoint->Release();
}
else {
qLog(Error) << "IMMDeviceCollection::Item failed." << Qt::hex << DWORD(hr);
}
}
}
else {
qLog(Error) << "IMMDeviceCollection::GetCount failed." << Qt::hex << DWORD(hr);
}
collection->Release();
}
IPropertyStore *props = nullptr;
hr = endpoint->OpenPropertyStore(STGM_READ, &props);
if (FAILED(hr)) {
CoTaskMemFree(pwszid);
endpoint->Release();
continue;
else {
qLog(Error) << "EnumAudioEndpoints failed." << Qt::hex << DWORD(hr);
}
PROPVARIANT var_name;
PropVariantInit(&var_name);
hr = props->GetValue(PKEY_Device_FriendlyName, &var_name);
if (FAILED(hr)) {
props->Release();
CoTaskMemFree(pwszid);
endpoint->Release();
continue;
}
Device device;
device.description = QString::fromWCharArray(var_name.pwszVal);
device.iconname = GuessIconName(device.description);
device.value = QString::fromStdWString(pwszid);
devices.append(device);
PropVariantClear(&var_name);
props->Release();
CoTaskMemFree(pwszid);
endpoint->Release();
enumerator->Release();
}
collection->Release();
enumerator->Release();
else {
qLog(Error) << "CoCreateInstance failed." << Qt::hex << DWORD(hr);
}
if (hr_coinit == S_OK || hr_coinit == S_FALSE) CoUninitialize();
return devices;

View File

@@ -28,7 +28,7 @@ class MMDeviceFinder : public DeviceFinder {
public:
explicit MMDeviceFinder();
virtual bool Initialise() { return true; }
virtual bool Initialize() { return true; }
virtual QList<Device> ListDevices();
};

View File

@@ -37,7 +37,7 @@
PulseDeviceFinder::PulseDeviceFinder() : DeviceFinder("pulseaudio", {"pulseaudio", "pulse", "pulsesink"} ), mainloop_(nullptr), context_(nullptr) {
}
bool PulseDeviceFinder::Initialise() {
bool PulseDeviceFinder::Initialize() {
mainloop_ = pa_mainloop_new();
if (!mainloop_) {

View File

@@ -36,7 +36,7 @@ class PulseDeviceFinder : public DeviceFinder {
explicit PulseDeviceFinder();
~PulseDeviceFinder() override;
bool Initialise() override;
bool Initialize() override;
QList<Device> ListDevices() override;
private:

View File

@@ -108,7 +108,7 @@ bool VLCEngine::Load(const QUrl &stream_url, const QUrl &original_url, const Eng
Q_UNUSED(beginning_nanosec);
Q_UNUSED(end_nanosec);
if (!Initialised()) return false;
if (!Initialized()) return false;
// Create the media object
VlcScopedRef<libvlc_media_t> media(libvlc_media_new_location(instance_, stream_url.toEncoded().constData()));
@@ -121,7 +121,7 @@ bool VLCEngine::Load(const QUrl &stream_url, const QUrl &original_url, const Eng
bool VLCEngine::Play(const quint64 offset_nanosec) {
if (!Initialised()) return false;
if (!Initialized()) return false;
// Set audio output
if (!output_.isEmpty() && output_ != "auto") {
@@ -147,28 +147,28 @@ void VLCEngine::Stop(const bool stop_after) {
Q_UNUSED(stop_after);
if (!Initialised()) return;
if (!Initialized()) return;
libvlc_media_player_stop(player_);
}
void VLCEngine::Pause() {
if (!Initialised()) return;
if (!Initialized()) return;
libvlc_media_player_pause(player_);
}
void VLCEngine::Unpause() {
if (!Initialised()) return;
if (!Initialized()) return;
libvlc_media_player_play(player_);
}
void VLCEngine::Seek(const quint64 offset_nanosec) {
if (!Initialised()) return;
if (!Initialized()) return;
int offset = (offset_nanosec / kNsecPerMsec);
@@ -182,7 +182,7 @@ void VLCEngine::Seek(const quint64 offset_nanosec) {
}
void VLCEngine::SetVolumeSW(const uint percent) {
if (!Initialised()) return;
if (!Initialized()) return;
if (!volume_control_ && percent != 100) return;
libvlc_audio_set_volume(player_, percent);
}
@@ -248,7 +248,7 @@ bool VLCEngine::ALSADeviceSupport(const QString &output) {
uint VLCEngine::position() const {
if (!Initialised()) return (0);
if (!Initialized()) return (0);
bool is_playing = libvlc_media_player_is_playing(player_);
if (!is_playing) return 0;
@@ -260,7 +260,7 @@ uint VLCEngine::position() const {
uint VLCEngine::length() const {
if (!Initialised()) return(0);
if (!Initialized()) return(0);
bool is_playing = libvlc_media_player_is_playing(player_);
if (!is_playing) return 0;

View File

@@ -72,7 +72,7 @@ class VLCEngine : public Engine::Base {
libvlc_media_player_t *player_;
Engine::State state_;
bool Initialised() const { return (instance_ && player_); }
bool Initialized() const { return (instance_ && player_); }
uint position() const;
uint length() const;
bool CanDecode(const QUrl &url);

View File

@@ -110,7 +110,7 @@ int main(int argc, char* argv[]) {
#ifdef Q_OS_MACOS
// Do Mac specific startup to get media keys working.
// This must go before QApplication initialisation.
// This must go before QApplication initialization.
mac::MacMain();
#endif
@@ -134,7 +134,7 @@ int main(int argc, char* argv[]) {
RegisterMetaTypes();
// Initialise logging. Log levels are set after the commandline options are parsed below.
// Initialize logging. Log levels are set after the commandline options are parsed below.
logging::Init();
g_log_set_default_handler(reinterpret_cast<GLogFunc>(&logging::GLog), nullptr);

View File

@@ -174,6 +174,7 @@ void Organize::ProcessSomeFiles() {
// Fiddle the filename extension as well to match the new type
song.set_url(QUrl::fromLocalFile(Utilities::FiddleFileExtension(song.basefilename(), task.new_extension_)));
song.set_basefilename(Utilities::FiddleFileExtension(song.basefilename(), task.new_extension_));
task.song_info_.new_filename_ = Utilities::FiddleFileExtension(task.song_info_.new_filename_, task.new_extension_);
// Have to set this to the size of the new file or else funny stuff happens
song.set_filesize(QFileInfo(task.transcoded_filename_).size());

View File

@@ -68,6 +68,9 @@
#include "organizedialog.h"
#include "organizeerrordialog.h"
#include "ui_organizedialog.h"
#ifdef HAVE_GSTREAMER
# include "transcoder/transcoder.h"
#endif
const char *OrganizeDialog::kDefaultFormat = "%albumartist/%album{ (Disc %disc)}/{%track - }{%albumartist - }%album{ (Disc %disc)} - %title.%extension";
@@ -405,7 +408,7 @@ void OrganizeDialog::InsertTag(const QString &tag) {
ui_->naming->insertPlainText("%" + tag);
}
Organize::NewSongInfoList OrganizeDialog::ComputeNewSongsFilenames(const SongList &songs, const OrganizeFormat &format) {
Organize::NewSongInfoList OrganizeDialog::ComputeNewSongsFilenames(const SongList &songs, const OrganizeFormat &format, const QString &extension) {
// Check if we will have multiple files with the same name.
// If so, they will erase each other if the overwrite flag is set.
@@ -414,7 +417,7 @@ Organize::NewSongInfoList OrganizeDialog::ComputeNewSongsFilenames(const SongLis
Organize::NewSongInfoList new_songs_info;
for (const Song &song : songs) {
QString new_filename = format.GetFilenameForSong(song);
QString new_filename = format.GetFilenameForSong(song, extension);
if (filenames.contains(new_filename)) {
QString song_number = QString::number(++filenames[new_filename]);
new_filename = Utilities::PathWithoutFilenameExtension(new_filename) + "(" + song_number + ")." + QFileInfo(new_filename).suffix();
@@ -473,7 +476,15 @@ void OrganizeDialog::UpdatePreviews() {
ui_->button_box->button(QDialogButtonBox::Ok)->setEnabled(ok);
if (!format_valid) return;
new_songs_info_ = ComputeNewSongsFilenames(songs_, format_);
QString extension;
#ifdef HAVE_GSTREAMER
if (storage && storage->GetTranscodeMode() == MusicStorage::Transcode_Always) {
const Song::FileType format = storage->GetTranscodeFormat();
TranscoderPreset preset = Transcoder::PresetForFileType(format);
extension = preset.extension_;
}
#endif
new_songs_info_ = ComputeNewSongsFilenames(songs_, format_, extension);
// Update the previews
ui_->preview->clear();

View File

@@ -73,7 +73,7 @@ class OrganizeDialog : public QDialog {
void SetCopy(bool copy);
static Organize::NewSongInfoList ComputeNewSongsFilenames(const SongList &songs, const OrganizeFormat &format);
static Organize::NewSongInfoList ComputeNewSongsFilenames(const SongList &songs, const OrganizeFormat &format, const QString &extension = QString());
void SetPlaylist(const QString &playlist);

View File

@@ -108,14 +108,22 @@ bool OrganizeFormat::IsValid() const {
}
QString OrganizeFormat::GetFilenameForSong(const Song &song) const {
QString OrganizeFormat::GetFilenameForSong(const Song &song, QString extension) const {
QString filename = ParseBlock(format_, song);
if (QFileInfo(filename).completeBaseName().isEmpty()) {
// Avoid having empty filenames, or filenames with extension only: in this case, keep the original filename.
// We remove the extension from "filename" if it exists, as song.basefilename() also contains the extension.
filename = Utilities::PathWithoutFilenameExtension(filename) + song.basefilename();
QString path = QFileInfo(filename).path();
filename.clear();
if (!path.isEmpty()) {
filename.append(path);
if (path.right(1) != '/' && path.right(1) != '\\') {
filename.append('/');
}
}
filename.append(song.basefilename());
}
if (remove_problematic_) filename = filename.remove(kProblematicCharacters);
@@ -144,7 +152,7 @@ QString OrganizeFormat::GetFilenameForSong(const Song &song) const {
filename = filename.simplified();
QFileInfo info(filename);
QString extension = info.suffix();
if (extension.isEmpty()) extension = info.suffix();
QString filepath;
if (!info.path().isEmpty() && info.path() != ".") {
filepath.append(info.path());

View File

@@ -65,7 +65,7 @@ class OrganizeFormat {
void set_replace_spaces(const bool v) { replace_spaces_ = v; }
bool IsValid() const;
QString GetFilenameForSong(const Song &song) const;
QString GetFilenameForSong(const Song &song, QString extension = QString()) const;
class Validator : public QValidator {
public:

View File

@@ -104,7 +104,7 @@ void BackendSettingsPage::Load() {
device_current_ = s.value("device", QVariant());
ui_->combobox_engine->setCurrentIndex(ui_->combobox_engine->findData(static_cast<int>(enginetype)));
if (EngineInitialised()) Load_Engine(enginetype);
if (EngineInitialized()) Load_Engine(enginetype);
ui_->checkbox_volume_control->setChecked(s.value("volume_control", true).toBool());
@@ -152,7 +152,7 @@ void BackendSettingsPage::Load() {
ui_->widget_alsa_plugin->hide();
#endif
if (!EngineInitialised()) return;
if (!EngineInitialized()) return;
if (engine()->state() == Engine::Empty) {
if (ui_->combobox_engine->count() > 1) ui_->combobox_engine->setEnabled(true);
@@ -207,7 +207,7 @@ void BackendSettingsPage::Load() {
}
bool BackendSettingsPage::EngineInitialised() {
bool BackendSettingsPage::EngineInitialized() {
if (!engine() || engine()->type() == Engine::None) {
errordialog_.ShowMessage("Engine is not initialized! Please restart.");
@@ -219,7 +219,7 @@ bool BackendSettingsPage::EngineInitialised() {
void BackendSettingsPage::Load_Engine(const Engine::EngineType enginetype) {
if (!EngineInitialised()) return;
if (!EngineInitialized()) return;
QString output = output_current_;
QVariant device = device_current_;
@@ -253,7 +253,7 @@ void BackendSettingsPage::Load_Engine(const Engine::EngineType enginetype) {
void BackendSettingsPage::Load_Output(QString output, QVariant device) {
if (!EngineInitialised()) return;
if (!EngineInitialized()) return;
if (output.isEmpty()) output = engine()->DefaultOutput();
@@ -301,7 +301,7 @@ void BackendSettingsPage::Load_Output(QString output, QVariant device) {
void BackendSettingsPage::Load_Device(const QString &output, const QVariant &device) {
if (!EngineInitialised()) return;
if (!EngineInitialized()) return;
int devices = 0;
DeviceFinder::Device df_device;
@@ -385,7 +385,7 @@ void BackendSettingsPage::Load_Device(const QString &output, const QVariant &dev
void BackendSettingsPage::Save() {
if (!EngineInitialised()) return;
if (!EngineInitialized()) return;
QVariant enginetype_v = ui_->combobox_engine->itemData(ui_->combobox_engine->currentIndex());
Engine::EngineType enginetype = enginetype_v.value<Engine::EngineType>();
@@ -447,7 +447,7 @@ void BackendSettingsPage::Cancel() {
void BackendSettingsPage::EngineChanged(const int index) {
if (!configloaded_ || !EngineInitialised()) return;
if (!configloaded_ || !EngineInitialized()) return;
QVariant v = ui_->combobox_engine->itemData(index);
Engine::EngineType enginetype = v.value<Engine::EngineType>();
@@ -467,7 +467,7 @@ void BackendSettingsPage::EngineChanged(const int index) {
void BackendSettingsPage::OutputChanged(const int index) {
if (!configloaded_ || !EngineInitialised()) return;
if (!configloaded_ || !EngineInitialized()) return;
EngineBase::OutputDetails output = ui_->combobox_output->itemData(index).value<EngineBase::OutputDetails>();
Load_Device(output.name, QVariant());
@@ -476,7 +476,7 @@ void BackendSettingsPage::OutputChanged(const int index) {
void BackendSettingsPage::DeviceSelectionChanged(int index) {
if (!configloaded_ || !EngineInitialised()) return;
if (!configloaded_ || !EngineInitialized()) return;
EngineBase::OutputDetails output = ui_->combobox_output->itemData(ui_->combobox_output->currentIndex()).value<EngineBase::OutputDetails>();
QVariant device = ui_->combobox_device->itemData(index).value<QVariant>();
@@ -499,7 +499,7 @@ void BackendSettingsPage::DeviceSelectionChanged(int index) {
void BackendSettingsPage::DeviceStringChanged() {
if (!configloaded_ || !EngineInitialised()) return;
if (!configloaded_ || !EngineInitialized()) return;
EngineBase::OutputDetails output = ui_->combobox_output->itemData(ui_->combobox_output->currentIndex()).value<EngineBase::OutputDetails>();
bool found(false);
@@ -588,7 +588,7 @@ void BackendSettingsPage::radiobutton_alsa_hw_clicked(const bool checked) {
#ifdef HAVE_ALSA
if (!configloaded_ || !EngineInitialised()) return;
if (!configloaded_ || !EngineInitialized()) return;
EngineBase::OutputDetails output = ui_->combobox_output->itemData(ui_->combobox_output->currentIndex()).value<EngineBase::OutputDetails>();
if (!engine()->ALSADeviceSupport(output.name)) return;
@@ -619,7 +619,7 @@ void BackendSettingsPage::radiobutton_alsa_plughw_clicked(const bool checked) {
#ifdef HAVE_ALSA
if (!configloaded_ || !EngineInitialised()) return;
if (!configloaded_ || !EngineInitialized()) return;
EngineBase::OutputDetails output = ui_->combobox_output->itemData(ui_->combobox_output->currentIndex()).value<EngineBase::OutputDetails>();
if (!engine()->ALSADeviceSupport(output.name)) return;
@@ -646,7 +646,7 @@ void BackendSettingsPage::radiobutton_alsa_plughw_clicked(const bool checked) {
void BackendSettingsPage::FadingOptionsChanged() {
if (!configloaded_ || !EngineInitialised()) return;
if (!configloaded_ || !EngineInitialized()) return;
EngineBase::OutputDetails output = ui_->combobox_output->itemData(ui_->combobox_output->currentIndex()).value<EngineBase::OutputDetails>();
if (engine()->type() == Engine::GStreamer && !(engine()->ALSADeviceSupport(output.name) && !ui_->lineedit_device->text().isEmpty()) && ui_->checkbox_volume_control->isChecked()) {

View File

@@ -76,7 +76,7 @@ private:
Ui_BackendSettingsPage *ui_;
bool EngineInitialised();
bool EngineInitialized();
void EngineChanged(Engine::EngineType enginetype);

View File

@@ -64,7 +64,7 @@ const QStringList CollectionSettingsPage::cacheUnitNames = { "KB", "MB", "GB", "
CollectionSettingsPage::CollectionSettingsPage(SettingsDialog *dialog)
: SettingsPage(dialog),
ui_(new Ui_CollectionSettingsPage),
initialised_model_(false)
initialized_model_(false)
{
ui_->setupUi(this);
@@ -137,13 +137,13 @@ void CollectionSettingsPage::DiskCacheEnable(const int state) {
void CollectionSettingsPage::Load() {
if (!initialised_model_) {
if (!initialized_model_) {
if (ui_->list->selectionModel()) {
disconnect(ui_->list->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), this, SLOT(CurrentRowChanged(QModelIndex)));
}
ui_->list->setModel(dialog()->collection_directory_model());
initialised_model_ = true;
initialized_model_ = true;
connect(ui_->list->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), SLOT(CurrentRowChanged(QModelIndex)));
}

View File

@@ -76,7 +76,7 @@ class CollectionSettingsPage : public SettingsPage {
private:
Ui_CollectionSettingsPage *ui_;
bool initialised_model_;
bool initialized_model_;
static const QStringList cacheUnitNames;
};

View File

@@ -51,7 +51,7 @@ const int MoodbarSettingsPage::kMoodbarPreviewHeight = 18;
MoodbarSettingsPage::MoodbarSettingsPage(SettingsDialog* dialog)
: SettingsPage(dialog),
ui_(new Ui_MoodbarSettingsPage),
initialised_(false)
initialized_(false)
{
ui_->setupUi(this);
@@ -96,8 +96,8 @@ void MoodbarSettingsPage::Cancel() {}
void MoodbarSettingsPage::InitMoodbarPreviews() {
if (initialised_) return;
initialised_ = true;
if (initialized_) return;
initialized_ = true;
const QSize preview_size(kMoodbarPreviewWidth, kMoodbarPreviewHeight);
ui_->moodbar_style->setIconSize(preview_size);

View File

@@ -50,7 +50,7 @@ class MoodbarSettingsPage : public SettingsPage {
Ui_MoodbarSettingsPage* ui_;
bool initialised_;
bool initialized_;
};
#endif // MOODBARSETTINGSPAGE_H

View File

@@ -34,14 +34,6 @@
SettingsPage::SettingsPage(SettingsDialog *dialog) : QWidget(dialog), dialog_(dialog), ui_widget_(nullptr), changed_(false) {}
void SettingsPage::showEvent(QShowEvent *e) {
changed_ = false;
QWidget::showEvent(e);
}
void SettingsPage::Init(QWidget *ui_widget) {
if (!ui_widget) return;

View File

@@ -65,9 +65,6 @@ class SettingsPage : public QWidget {
void set_changed() { changed_ = true; }
protected:
void showEvent(QShowEvent *e) override;
private:
virtual void Save() = 0;
virtual void Cancel() {}

View File

@@ -57,7 +57,7 @@ const char *GlobalShortcutsSettingsPage::kSettingsGroup = "GlobalShortcuts";
GlobalShortcutsSettingsPage::GlobalShortcutsSettingsPage(SettingsDialog *dialog)
: SettingsPage(dialog),
ui_(new Ui_GlobalShortcutsSettingsPage),
initialised_(false),
initialized_(false),
grabber_(new GlobalShortcutGrabber) {
ui_->setupUi(this);
@@ -105,8 +105,8 @@ void GlobalShortcutsSettingsPage::Load() {
GlobalShortcuts *manager = dialog()->global_shortcuts_manager();
if (!initialised_) {
initialised_ = true;
if (!initialized_) {
initialized_ = true;
de_ = Utilities::DesktopEnvironment();
ui_->widget_warning->hide();

View File

@@ -78,7 +78,7 @@ class GlobalShortcutsSettingsPage : public SettingsPage {
private:
Ui_GlobalShortcutsSettingsPage *ui_;
bool initialised_;
bool initialized_;
std::unique_ptr<GlobalShortcutGrabber> grabber_;
QMap<QString, Shortcut> shortcuts_;

View File

@@ -97,7 +97,7 @@ void TidalSettingsPage::Load() {
if (password.isEmpty()) ui_->password->clear();
else ui_->password->setText(QString::fromUtf8(QByteArray::fromBase64(password)));
dialog()->ComboBoxLoadFromSettings(s, ui_->quality, "quality", "HIGH");
dialog()->ComboBoxLoadFromSettings(s, ui_->quality, "quality", "LOSSLESS");
ui_->searchdelay->setValue(s.value("searchdelay", 1500).toInt());
ui_->artistssearchlimit->setValue(s.value("artistssearchlimit", 4).toInt());
ui_->albumssearchlimit->setValue(s.value("albumssearchlimit", 10).toInt());

View File

@@ -25,6 +25,7 @@
#include <QMimeType>
#include <QIODevice>
#include <QFile>
#include <QFileInfo>
#include <QDir>
#include <QList>
#include <QByteArray>
@@ -184,7 +185,7 @@ void TidalStreamURLRequest::StreamURLReceived() {
return;
}
Song::FileType filetype(Song::FileType_Unknown);
Song::FileType filetype(Song::FileType_Stream);
if (json_obj.contains("codec") || json_obj.contains("codecs")) {
QString codec;
@@ -275,6 +276,11 @@ void TidalStreamURLRequest::StreamURLReceived() {
else if (json_obj.contains("url")) {
QUrl new_url(json_obj["url"].toString());
urls << new_url;
if (filetype == Song::FileType_Stream) {
// Guess filetype by filename extension in URL.
filetype = Song::FiletypeByExtension(QFileInfo(new_url.path()).suffix());
if (filetype == Song::FileType_Unknown) filetype = Song::FileType_Stream;
}
}
if (urls.isEmpty()) {

View File

@@ -205,7 +205,7 @@ Transcoder::Transcoder(QObject *parent, const QString &settings_postfix)
if (JobFinishedEvent::sEventType == -1)
JobFinishedEvent::sEventType = QEvent::registerEventType();
// Initialise some settings for the lamemp3enc element.
// Initialize some settings for the lamemp3enc element.
QSettings s;
s.beginGroup("Transcoder/lamemp3enc" + settings_postfix_);

View File

@@ -557,7 +557,7 @@ msgstr "Přidat všechny skladby z adresáři a všech jeho podadresářů"
msgid "Add directory..."
msgstr "Přidat složku..."
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "Přidat soubor"
@@ -573,7 +573,7 @@ msgstr "Přidat soubor(y) k překódování"
msgid "Add files to transcode"
msgstr "Přidat soubory pro překódování"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "Přidat složku"
@@ -676,7 +676,7 @@ msgstr "Přidat přenos..."
msgid "Add to albums"
msgstr "Přidat do alb"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "Přidat do jiného seznamu skladeb"
@@ -735,7 +735,7 @@ msgid "Albu&m cover"
msgstr "Obal alb&a"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -755,7 +755,7 @@ msgid "Album - Disc"
msgstr "Album - Disk"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -796,7 +796,7 @@ msgstr "Alba s obaly"
msgid "Albums without covers"
msgstr "Alba bez obalů"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "Všechny soubory (*)"
@@ -842,7 +842,7 @@ msgstr "Vždy začít přehrávat"
msgid "An error occurred loading the iTunes database"
msgstr "Při nahrávání databáze iTunes nastala chyba"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr "Při zápisu údajů do '%1' se vyskytla chyba"
@@ -891,12 +891,12 @@ msgstr ""
msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr "Opravdu chcete smazat nastavení \"%1\"?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr "Opravdu chcete nastavit statistiku této písně znovu?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -904,7 +904,7 @@ msgstr "Opravdu chcete nastavit statistiku této písně znovu?"
msgid "Artist"
msgstr "Umělec"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "Začáteční písmena umělce"
@@ -1041,7 +1041,7 @@ msgid "Best"
msgstr "Nejlepší"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
#, fuzzy
@@ -1063,7 +1063,7 @@ msgstr "Datový tok"
msgid "Bitrate"
msgstr "Datový tok"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr ""
@@ -1108,7 +1108,7 @@ msgstr "Mezipaměť"
msgid "Buffer duration"
msgstr "Délka vyrovnávací paměti"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "Ukládá se do vyrovnávací paměti"
@@ -1130,7 +1130,7 @@ msgstr "CDDA"
msgid "Cancel"
msgstr ""
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "Zrušeno."
@@ -1150,7 +1150,7 @@ msgstr "Změnit nyní přehrávanou píseň"
msgid "Change the language"
msgstr "Změnit jazyk"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "Zkontrolovat aktualizace"
@@ -1195,7 +1195,7 @@ msgstr "Smazat"
msgid "Clear Disk Cache"
msgstr "Vyčistit mezipaměť na disku"
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "Vyprázdnit seznam skladeb"
@@ -1248,7 +1248,7 @@ msgstr "Zavření tohoto okna zastaví hledání obalů alb."
msgid "Club"
msgstr "Klub"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "Sbírka"
@@ -1261,7 +1261,7 @@ msgstr "Filtr Kolekce"
msgid "Collection advanced grouping"
msgstr "Pokročilé seskupování sbírky"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "Zpráva o prohledání sbírky"
@@ -1278,7 +1278,7 @@ 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:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "Poznámka"
@@ -1295,7 +1295,7 @@ msgid "Complete tags automatically..."
msgstr "Doplnit značky automaticky..."
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1322,7 +1322,7 @@ msgstr "Nastavit %1..."
msgid "Configure buttons"
msgstr ""
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "Nastavit sbírku..."
@@ -1338,7 +1338,7 @@ msgstr "Konzole"
msgid "Constant bitrate"
msgstr "Stálý datový tok"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "Kontext"
@@ -1358,7 +1358,7 @@ msgstr "Převést všechnu hudbu"
msgid "Convert any music that the device can't play"
msgstr "Převést veškerou hudbu, kterou zařízení nedokáže přehrát"
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr ""
@@ -1366,7 +1366,7 @@ msgstr ""
msgid "Copy album cover artwork"
msgstr "Kopírovat obrázek alba"
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "Zkopírovat do sbírky..."
@@ -1375,7 +1375,7 @@ msgstr "Zkopírovat do sbírky..."
msgid "Copy to device"
msgstr ""
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1617,7 +1617,7 @@ msgstr "Smazat soubory"
msgid "Delete from device..."
msgstr "Smazat ze zařízení..."
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "Smazat z disku..."
@@ -1639,11 +1639,11 @@ msgstr "Smazat původní soubory"
msgid "Deleting files"
msgstr "Probíhá mazání souborů"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "Odstranit vybrané skladby z řady"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "Odstranit skladbu z řady"
@@ -1669,7 +1669,7 @@ msgstr "Vlastnosti zařízení"
msgid "Device properties..."
msgstr "Vlastnosti zařízení..."
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "Zařízení"
@@ -1691,7 +1691,7 @@ msgid "Disabled"
msgstr "Zakázáno"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1726,6 +1726,10 @@ msgstr "Neořezávat obrázek"
msgid "Do not overwrite"
msgstr "Nepřepisovat"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr ""
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "Neopakovat"
@@ -1784,7 +1788,7 @@ msgstr ""
msgid "Edit smart playlist..."
msgstr ""
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "Upravit značku \"%1\"..."
@@ -1935,7 +1939,7 @@ msgstr "Rovnocenné s --log-levels *:1"
msgid "Equivalent to --log-levels *:3"
msgstr "Rovnocenné s --log-levels *:3"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "Chyba"
@@ -2101,7 +2105,7 @@ msgstr "Chyba při stahování obalu"
msgid "File %1 is not recognized as a valid audio file."
msgstr "Soubor %1 nebyl rozpoznán jako platný zvukový soubor."
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "Přípona souboru"
@@ -2139,7 +2143,7 @@ msgstr "Název souboru"
msgid "Filename:"
msgstr "Název souboru:"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "Soubory"
@@ -2193,6 +2197,15 @@ msgstr "Font nadpisu"
msgid "Font size"
msgstr "Velikost fontu"
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr ""
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "Vynutit jednokanálové kódování"
@@ -2277,7 +2290,7 @@ msgid "Genius Authentication"
msgstr "Ověření Genius"
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2378,7 +2391,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "Seskupovat podle žánru/umělce/alba"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2564,6 +2577,10 @@ msgstr ""
"Je to větev přehrávače Clementine z roku 2018 zaměřený na sběratele hudby a "
"audiofily."
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "Skočit ihned na předchozí píseň"
@@ -2628,7 +2645,7 @@ msgid "Left"
msgstr "Vlevo"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "Délka"
@@ -2846,7 +2863,7 @@ msgstr "Chybějící uživatelské jméno nebo heslo pro Subsonic."
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr "Chybějící API token, uživatelské jméno nebo heslo pro Tidal."
@@ -2932,7 +2949,7 @@ msgstr "Přípojné body"
msgid "Move down"
msgstr "Posunout dolů"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "Přesunout do sbírky..."
@@ -2941,7 +2958,7 @@ msgstr "Přesunout do sbírky..."
msgid "Move up"
msgstr "Posunout nahoru"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "Hudba"
@@ -2986,7 +3003,7 @@ msgstr "Nikdy nezačít přehrávání"
msgid "New folder"
msgstr "Nová složka"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "Nový seznam skladeb"
@@ -3030,7 +3047,7 @@ msgstr "Žádné obaly k uložení"
msgid "No long blocks"
msgstr "Žádné dlouhé bloky"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "Žádná shoda."
@@ -3058,7 +3075,7 @@ msgstr "Žádná skladba se nepřehrává"
msgid "None"
msgstr "Žádná"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
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í"
@@ -3084,7 +3101,7 @@ msgstr ""
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "Nejste přihlášeni k Tidal."
@@ -3124,6 +3141,13 @@ msgstr "Náhled OSD"
msgid "Off"
msgstr "Vypnuto"
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
#: osd/osdbase.cpp:245
msgid "On"
msgstr "Zapnuto"
@@ -3189,7 +3213,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr ""
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr ""
@@ -3203,7 +3227,7 @@ msgid "Original tags"
msgstr "Původní značky"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "Původní rok"
@@ -3262,7 +3286,7 @@ msgstr "Oslava"
msgid "Password"
msgstr "Heslo"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "Pozastavit"
@@ -3276,7 +3300,7 @@ msgid "Paused"
msgstr "Pozastaveno"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3290,8 +3314,8 @@ msgstr "Pixel"
msgid "Plain sidebar"
msgstr "Prostý postranní panel"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "Přehrát"
@@ -3354,7 +3378,7 @@ msgstr ""
msgid "Playlist finished"
msgstr "Seznam skladeb dokončen"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3376,7 +3400,7 @@ msgstr "Nastavení seznamu skladeb"
msgid "Playlist type"
msgstr ""
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "Seznamy skladeb"
@@ -3500,7 +3524,7 @@ msgstr "Průběh"
msgid "Put songs in a random order"
msgstr ""
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr ""
@@ -3523,24 +3547,24 @@ msgstr "Kvalita"
msgid "Querying device..."
msgstr "Dotazování se zařízení..."
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "Fronta"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "Přidat vybrané skladby do řady"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr "Přidat vybrané skladby do fronty"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "Do fronty jako další"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3736,7 +3760,7 @@ msgstr ""
msgid "Rescan song(s)"
msgstr "Prohledat skladbu"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr ""
@@ -3744,7 +3768,7 @@ msgstr ""
msgid "Reset"
msgstr "Obnovit výchozí"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "Vynulovat počty přehrání"
@@ -3853,7 +3877,7 @@ msgid "Safely remove the device after copying"
msgstr "Po dokončení kopírování bezpečně odebrat zařízení"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3913,7 +3937,7 @@ msgstr "Spravce uložených seskupení"
msgid "Saving album covers"
msgstr "Ukládání obalů alb"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "Ukládají se skladby"
@@ -4047,7 +4071,7 @@ msgstr "Adresa serveru není správná."
msgid "Server-side scrobbling"
msgstr ""
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "Nastavit %1 na \"%2\"..."
@@ -4137,7 +4161,7 @@ msgstr "Ukazovat obaly alb v kolekci"
msgid "Show albums by artist"
msgstr "Zobrazit alba od umělce"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "Ukázat všechny písně"
@@ -4161,7 +4185,7 @@ msgstr "Zobrazit engine a zařízení"
msgid "Show fullsize..."
msgstr "Ukázat v plné velikosti..."
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "Ukazovat ve sbírce..."
@@ -4169,7 +4193,7 @@ msgstr "Ukazovat ve sbírce..."
msgid "Show in file browser"
msgstr "Zobrazit v průzkumníku souborů"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "Ukázat v prohlížeči souborů..."
@@ -4186,11 +4210,11 @@ msgstr "Zobrazit tlačítko To Miluju!"
msgid "Show moodbar"
msgstr "Zobrazit ukazatel nálady"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "Ukázat pouze zdvojené"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "Ukázat pouze neoznačené"
@@ -4280,11 +4304,11 @@ msgstr "Počet přeskočení"
msgid "Skip forwards in playlist"
msgstr "Další skladba v seznamu skladeb"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "Přeskočit vybrané skladby"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "Přeskočit skladbu"
@@ -4300,7 +4324,7 @@ msgstr "Malý postranní panel"
msgid "Smart playlist"
msgstr ""
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr ""
@@ -4385,7 +4409,7 @@ msgstr "Zastavit po každé skladbě"
msgid "Stop after every track"
msgstr "Zastavit po každé skladbě"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "Zastavit po této skladbě"
@@ -4447,6 +4471,21 @@ msgstr ""
"Strawberry je svobodný software vydávaný pod licencí GPL. Zdrojový kód je "
"dostupný na %1"
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr ""
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Strawberry se pro tento soubor výsledky najít nepodařilo"
@@ -4472,7 +4511,7 @@ msgstr "Roztáhnout obrázek aby vyplnil seznam skladeb"
msgid "Submit scrobbles every"
msgstr "Odeslat přehrané skladby každých"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4599,7 +4638,7 @@ msgstr "Požadovaná stránka neexistuje!"
msgid "The site you requested is not an image!"
msgstr "Požadovaná stránka není obrázek!"
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4701,7 +4740,7 @@ msgstr "Tuto volbu lze změnit v nastavení Chování"
msgid "This type of device is not supported: %1"
msgstr "Tento typ zařízení není podporován: %1"
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4718,7 +4757,7 @@ msgstr ""
msgid "Time step"
msgstr "Časový krok"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4729,7 +4768,7 @@ msgstr "Název"
msgid "Today"
msgstr "Dnes"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "Přepnout stav řady"
@@ -4737,7 +4776,7 @@ msgstr "Přepnout stav řady"
msgid "Toggle scrobbling"
msgstr "Přepnout odesílání informací o přehrávání"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
#, fuzzy
msgid "Toggle skip status"
msgstr "Přepnout stav přeskakování"
@@ -4766,7 +4805,7 @@ msgstr "Celkem přeneseno bajtů"
msgid "Total network requests made"
msgstr "Celkem uskutečněno síťových požadavků"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4824,8 +4863,8 @@ msgstr "Ultra široké pásmo"
msgid "Unknown"
msgstr "Neznámý"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "Neznámá chyba"
@@ -4833,11 +4872,11 @@ msgstr "Neznámá chyba"
msgid "Unset cover"
msgstr "Odebrat obal"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "Zrušit přeskočení vybraných skladeb"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "Zrušit přeskočení skladby"
@@ -5074,7 +5113,7 @@ msgid ""
"well?"
msgstr ""
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr "Chcete spustit toto úplné nové prohledání hned teď?"
@@ -5083,7 +5122,7 @@ msgid "Write metadata when saving playlists"
msgstr "Zapisovat metadata při ukládání seznamů skladeb"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211

View File

@@ -587,7 +587,7 @@ msgstr ""
msgid "Add directory..."
msgstr "Verzeichnis hinzufügen …"
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "Datei hinzufügen"
@@ -603,7 +603,7 @@ msgstr "Datei(en) zum Umwandler hinzufügen"
msgid "Add files to transcode"
msgstr "Dateien zum Umwandeln hinzufügen"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "Ordner hinzufügen"
@@ -706,7 +706,7 @@ msgstr "Datenstrom hinzufügen..."
msgid "Add to albums"
msgstr "Zu Alben hinzufügen"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "Zu anderer Wiedergabeliste hinzufügen"
@@ -765,7 +765,7 @@ msgid "Albu&m cover"
msgstr "Albu&m cover"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -785,7 +785,7 @@ msgid "Album - Disc"
msgstr "Album - Disc"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -825,7 +825,7 @@ msgstr "Alben mit Titelbildern"
msgid "Albums without covers"
msgstr "Alben ohne Titelbilder"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "Alle Dateien (*)"
@@ -871,7 +871,7 @@ msgstr "Immer mit der Wiedergabe beginnen"
msgid "An error occurred loading the iTunes database"
msgstr "Beim Laden der iTunes-Datenbank ist ein Fehler aufgetreten"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr "Beim Schreiben der Metadaten für '%1' trat ein Fehler auf"
@@ -921,12 +921,12 @@ msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr ""
"Sind Sie sicher, dass Sie die Voreinstellung »%1« wirklich löschen wollen?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr "Wollen Sie die Statistiken dieses Titels wirklich zurücksetzen?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -934,7 +934,7 @@ msgstr "Wollen Sie die Statistiken dieses Titels wirklich zurücksetzen?"
msgid "Artist"
msgstr "Interpret"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "Initialen des Interpreten"
@@ -1070,7 +1070,7 @@ msgid "Best"
msgstr "Optimal"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
msgid "Bit depth"
@@ -1091,7 +1091,7 @@ msgstr "Bitrate"
msgid "Bitrate"
msgstr "Bitrate"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr ""
@@ -1136,7 +1136,7 @@ msgstr "Puffer"
msgid "Buffer duration"
msgstr "Pufferdauer"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "Puffern"
@@ -1156,7 +1156,7 @@ msgstr "CDDA"
msgid "Cancel"
msgstr ""
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "Abgebrochen."
@@ -1176,7 +1176,7 @@ msgstr "Den aktuell spielenden Titel ändern"
msgid "Change the language"
msgstr "Sprache ändern"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "Nach Aktualisierungen suchen …"
@@ -1222,7 +1222,7 @@ msgstr "Leeren"
msgid "Clear Disk Cache"
msgstr "Lösche Plattenspeicher"
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "Wiedergabeliste leeren"
@@ -1276,7 +1276,7 @@ msgstr "Das Schließen dieses Fensters bricht das Suchen nach Titelbildern ab."
msgid "Club"
msgstr "Club"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "Bibliothek"
@@ -1289,7 +1289,7 @@ msgstr "Sammlungsfilter"
msgid "Collection advanced grouping"
msgstr "Erweiterte Bibliothekssortierung"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "Hinweis beim erneuten durchsuchen der Bibliothek"
@@ -1306,7 +1306,7 @@ 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:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "Kommentar"
@@ -1323,7 +1323,7 @@ msgid "Complete tags automatically..."
msgstr "Schlagworte automatisch vervollständigen …"
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1350,7 +1350,7 @@ msgstr "%1 konfigurieren …"
msgid "Configure buttons"
msgstr "Knöpfe einrichten\n"
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "Bibliothek einrichten …"
@@ -1366,7 +1366,7 @@ msgstr "Konsole"
msgid "Constant bitrate"
msgstr "Konstante Bitrate"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "Kontext"
@@ -1388,7 +1388,7 @@ msgstr "Gesamte Musik umwandeln"
msgid "Convert any music that the device can't play"
msgstr "Musik umwandeln, die das Gerät nicht wiedergeben kann"
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Copy album cover artwork"
msgstr "Kopiere Album Cover "
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "Zur Bibliothek kopieren …"
@@ -1405,7 +1405,7 @@ msgstr "Zur Bibliothek kopieren …"
msgid "Copy to device"
msgstr ""
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1646,7 +1646,7 @@ msgstr "Dateien löschen"
msgid "Delete from device..."
msgstr "Vom Gerät löschen …"
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "Vom Datenträger löschen …"
@@ -1668,11 +1668,11 @@ msgstr "Ursprüngliche Dateien löschen"
msgid "Deleting files"
msgstr "Dateien werden gelöscht"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "Titel aus der Warteschlange nehmen"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "Titel aus der Warteschlange nehmen"
@@ -1698,7 +1698,7 @@ msgstr "Geräteeinstellungen"
msgid "Device properties..."
msgstr "Geräteeinstellungen …"
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "Geräte"
@@ -1720,7 +1720,7 @@ msgid "Disabled"
msgstr "Deaktiviert"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1755,6 +1755,10 @@ msgstr "Bild nicht beschneiden"
msgid "Do not overwrite"
msgstr "Nicht überschreiben"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr ""
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "Wiederholung aus"
@@ -1813,7 +1817,7 @@ msgstr ""
msgid "Edit smart playlist..."
msgstr ""
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "Schlagwort »%1« bearbeiten …"
@@ -1966,7 +1970,7 @@ msgstr "Äquivalent zu --log-levels *:1"
msgid "Equivalent to --log-levels *:3"
msgstr "Äquivalent zu --log-levels *:3"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "Fehler"
@@ -2132,7 +2136,7 @@ msgstr "Abrufen des Titelbildes ist fehlgeschlagen"
msgid "File %1 is not recognized as a valid audio file."
msgstr "Datei %1 kann nicht als korrekte Audiodatei erkannt werden."
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "Dateiendung"
@@ -2170,7 +2174,7 @@ msgstr "Dateiname"
msgid "Filename:"
msgstr "Dateiname:"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "Dateien"
@@ -2224,6 +2228,15 @@ msgstr "Schriftart für die Überschrift"
msgid "Font size"
msgstr "Schriftgröße"
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr ""
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "Monokodierung erzwingen"
@@ -2306,7 +2319,7 @@ msgid "Genius Authentication"
msgstr "Genius Authentifizierung"
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2405,7 +2418,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "Genre/Interpret/Album"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2590,6 +2603,10 @@ msgstr ""
"Es ist ein Fork von Clementine, die 2018 veröffentlicht wurde und sich an "
"Musiksammler und Audiophile richtet."
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "Gleich zum vorherigen Titel springen"
@@ -2655,7 +2672,7 @@ msgid "Left"
msgstr "Links"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "Länge"
@@ -2873,7 +2890,7 @@ msgstr "Subsonic Benutzername oder Passwort fehlt"
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr "Tidal API Zeichen fehlt, Nutzername oder Passwort."
@@ -2959,7 +2976,7 @@ msgstr "Einhängepunkte"
msgid "Move down"
msgstr "Nach unten"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "Zur Bibliothek verschieben …"
@@ -2968,7 +2985,7 @@ msgstr "Zur Bibliothek verschieben …"
msgid "Move up"
msgstr "Nach oben"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "Musik"
@@ -3013,7 +3030,7 @@ msgstr "Nie mit der Wiedergabe beginnen"
msgid "New folder"
msgstr "Neuer Ordner"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "Neue Wiedergabeliste"
@@ -3057,7 +3074,7 @@ msgstr "Keine Titelbilder zum Exportieren."
msgid "No long blocks"
msgstr "Keine langen Blöcke"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "Keine Übereinstimmung."
@@ -3085,7 +3102,7 @@ msgstr "Kein Lied wird gespielt"
msgid "None"
msgstr "Nichts"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
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."
@@ -3112,7 +3129,7 @@ msgstr ""
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "Nicht bei Tidal authentifiziert."
@@ -3153,6 +3170,13 @@ msgstr "Vorschau der Bildschirmanzeige"
msgid "Off"
msgstr "Aus"
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
#: osd/osdbase.cpp:245
msgid "On"
msgstr "An"
@@ -3218,7 +3242,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr ""
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr ""
@@ -3232,7 +3256,7 @@ msgid "Original tags"
msgstr "Ursprüngliche Schlagworte"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "Ursprüngliches Jahr"
@@ -3291,7 +3315,7 @@ msgstr "Party"
msgid "Password"
msgstr "Passwort:"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "Pause"
@@ -3305,7 +3329,7 @@ msgid "Paused"
msgstr "Pausiert"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3319,8 +3343,8 @@ msgstr "Pixel"
msgid "Plain sidebar"
msgstr "Einfache Seitenleiste"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "Wiedergabe"
@@ -3384,7 +3408,7 @@ msgstr "Steuerung der Playliste"
msgid "Playlist finished"
msgstr "Wiedergabeliste beendet"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3406,7 +3430,7 @@ msgstr "Wiedergabeliste einrichten"
msgid "Playlist type"
msgstr ""
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "Wiedergabelisten"
@@ -3530,7 +3554,7 @@ msgstr "Fortschritt"
msgid "Put songs in a random order"
msgstr ""
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr ""
@@ -3553,26 +3577,26 @@ msgstr "Qualität"
msgid "Querying device..."
msgstr "Gerät wird abgefragt …"
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "Warteschlange"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "Titel in die Warteschlange einreihen"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr ""
"Ausgewählte Titel in die Warteschlange stellen, um sie als nächstes "
"abzuspielen"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "In die Warteschlange, um sie als nächstes abzuspielen"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3769,7 +3793,7 @@ msgstr ""
msgid "Rescan song(s)"
msgstr "Lied erneut scannen"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr ""
@@ -3777,7 +3801,7 @@ msgstr ""
msgid "Reset"
msgstr "Zurücksetzen"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "Wiedergabezähler zurücksetzen"
@@ -3885,7 +3909,7 @@ msgid "Safely remove the device after copying"
msgstr "Das Gerät nach dem Kopiervorgang sicher entfernen"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3945,7 +3969,7 @@ msgstr "Gespeicherte Sortierung verwalten"
msgid "Saving album covers"
msgstr "Alben Cover speichern"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "Titel werden gespeichert"
@@ -4078,7 +4102,7 @@ msgstr "Server URL ist ungültig."
msgid "Server-side scrobbling"
msgstr ""
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "%1 zu »%2« einstellen …"
@@ -4167,7 +4191,7 @@ msgstr "Zeige Titelbilder in der Sammlung"
msgid "Show albums by artist"
msgstr "Zeige Alben pro Künstler"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "Alle Titel anzeigen"
@@ -4191,7 +4215,7 @@ msgstr "Zeige Maschine und Gerät"
msgid "Show fullsize..."
msgstr "In Originalgröße anzeigen …"
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "In Bibliothek anzeigen …"
@@ -4199,7 +4223,7 @@ msgstr "In Bibliothek anzeigen …"
msgid "Show in file browser"
msgstr "Zeige im Dateimanager"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "In Dateiverwaltung anzeigen …"
@@ -4216,11 +4240,11 @@ msgstr "Zeige den Knopf für Lieben"
msgid "Show moodbar"
msgstr "Zeige Stimmungsbarometer"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "Nur Doppelte anzeigen"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "Nur ohne Schlagworte anzeigen"
@@ -4309,11 +4333,11 @@ msgstr "Übersprungzähler"
msgid "Skip forwards in playlist"
msgstr "Nächsten Titel in der Wiedergabeliste"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "Ausgewählte Titel überspringen"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "Titel überspringen"
@@ -4329,7 +4353,7 @@ msgstr "Schmale Seitenleiste"
msgid "Smart playlist"
msgstr ""
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr ""
@@ -4413,7 +4437,7 @@ msgstr "Wiedergabe nach jedem Titel anhalten"
msgid "Stop after every track"
msgstr "Wiedergabe nach jedem Titel anhalten"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "Wiedergabe nach diesem Titel anhalten"
@@ -4475,6 +4499,21 @@ msgstr ""
"Strawberry ist eine kostenlose Software, die unter der GPL veröffentlicht "
"wird. Der Quellcode ist auf %1 verfügbar."
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr ""
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Strawberry konnte keine Ergebnisse für diese Datei finden."
@@ -4499,7 +4538,7 @@ msgstr "Bild strecken, um die Wiedergabeliste zu füllen"
msgid "Submit scrobbles every"
msgstr "Übermittle Scrobbles alle"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4626,7 +4665,7 @@ msgstr "Die aufgerufene Seite existiert nicht!"
msgid "The site you requested is not an image!"
msgstr "Die angeforderte Seite ist kein Bild!"
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4733,7 +4772,7 @@ msgstr ""
msgid "This type of device is not supported: %1"
msgstr "Diese Geräteart wird nicht unterstützt: %1"
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4751,7 +4790,7 @@ msgstr ""
msgid "Time step"
msgstr "Zeitschritt"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4762,7 +4801,7 @@ msgstr "Titel"
msgid "Today"
msgstr "Heute"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "Einreihungsstatus ändern"
@@ -4770,7 +4809,7 @@ msgstr "Einreihungsstatus ändern"
msgid "Toggle scrobbling"
msgstr "Scrobbeln ein- oder ausschalten"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
msgid "Toggle skip status"
msgstr "Überspring-Status umschalten"
@@ -4798,7 +4837,7 @@ msgstr "Insgesamt übertragene Bytes"
msgid "Total network requests made"
msgstr "Insgesamt gestellte Netzwerkanfragen"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4856,8 +4895,8 @@ msgstr "Ulte Weit Band (UWB)"
msgid "Unknown"
msgstr "Unbekannt"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "Unbekannter Fehler"
@@ -4865,11 +4904,11 @@ msgstr "Unbekannter Fehler"
msgid "Unset cover"
msgstr "Titelbild entfernen"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "Überspringen der ausgewählten Titel aufheben"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "Titel nicht überspringen"
@@ -5106,7 +5145,7 @@ msgid ""
"well?"
msgstr ""
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr "Möchten Sie jetzt Ihre Musiksammlung erneut einlesen?"
@@ -5115,7 +5154,7 @@ msgid "Write metadata when saving playlists"
msgstr "Metadaten schreiben, wenn Wiedergabelisten gespeichert werden"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211

View File

@@ -579,7 +579,7 @@ msgstr "Añadir todas las pistas de una carpeta y sus subcarpetas"
msgid "Add directory..."
msgstr "Añadir carpeta…"
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "Añadir archivo"
@@ -595,7 +595,7 @@ msgstr "Añadir archivo(s) a convertir"
msgid "Add files to transcode"
msgstr "Añadir archivos a convertir"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "Añadir carpeta"
@@ -698,7 +698,7 @@ msgstr "Añadir emisora"
msgid "Add to albums"
msgstr "Añadir a álbumes"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "Añadir a otra lista de reproducción"
@@ -757,7 +757,7 @@ msgid "Albu&m cover"
msgstr "&Portada del álbum"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -777,7 +777,7 @@ msgid "Album - Disc"
msgstr "Álbum - Disco"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -817,7 +817,7 @@ msgstr "Álbumes con portada"
msgid "Albums without covers"
msgstr "Álbumes sin portada"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "Todos los archivos (*)"
@@ -863,7 +863,7 @@ msgstr "Comenzar siempre la reproducción"
msgid "An error occurred loading the iTunes database"
msgstr "Se produjo un error cargando la base de datos iTunes"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr "Se produjo un error al escribir los metadatos en «%1»"
@@ -912,12 +912,12 @@ msgstr "¿Seguro que deseas continuar?"
msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr "¿Seguro que deseas eliminar el ajuste predefinido «%1»?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr "¿Seguro que deseas restablecer las estadísticas de esta canción?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -925,7 +925,7 @@ msgstr "¿Seguro que deseas restablecer las estadísticas de esta canción?"
msgid "Artist"
msgstr "Artista"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "Iniciales del artista"
@@ -1061,7 +1061,7 @@ msgid "Best"
msgstr "Mejor"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
msgid "Bit depth"
@@ -1082,7 +1082,7 @@ msgstr "Bit_rate"
msgid "Bitrate"
msgstr "Tasa bits"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr "Tasa de bits"
@@ -1127,7 +1127,7 @@ msgstr "Búfer"
msgid "Buffer duration"
msgstr "Duración del búfer"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "Guardando en búfer"
@@ -1147,7 +1147,7 @@ msgstr "CDDA"
msgid "Cancel"
msgstr ""
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "Cancelado."
@@ -1167,7 +1167,7 @@ msgstr "Cambiar la pista actualmente en reproducción"
msgid "Change the language"
msgstr "Cambiar el idioma"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "Buscar actualizaciones…"
@@ -1212,7 +1212,7 @@ msgstr "Borrar"
msgid "Clear Disk Cache"
msgstr "Inicializar caché de disco"
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "Vaciar lista de reproducción"
@@ -1268,7 +1268,7 @@ msgstr ""
msgid "Club"
msgstr "Club"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "Colección"
@@ -1281,7 +1281,7 @@ msgstr "Filtro de colección"
msgid "Collection advanced grouping"
msgstr "Agrupamiento avanzado de la colección"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "Notificación de nuevo análisis de la colección"
@@ -1298,7 +1298,7 @@ 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:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "Comentario"
@@ -1315,7 +1315,7 @@ msgid "Complete tags automatically..."
msgstr "Completar etiquetas automáticamente"
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1342,7 +1342,7 @@ msgstr "Configurar %1…"
msgid "Configure buttons"
msgstr "Configurar botones"
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "Configurar colección…"
@@ -1358,7 +1358,7 @@ msgstr "Consola"
msgid "Constant bitrate"
msgstr "Tasa de bits constante"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "Escuchando"
@@ -1380,7 +1380,7 @@ msgstr "Convertir todas las pistas"
msgid "Convert any music that the device can't play"
msgstr "Convertir las pistas que el dispositivo no pueda reproducir"
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr "Copia URL(s)..."
@@ -1388,7 +1388,7 @@ msgstr "Copia URL(s)..."
msgid "Copy album cover artwork"
msgstr "Copiar la portada del álbum"
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "Copiar en la colección…"
@@ -1397,7 +1397,7 @@ msgstr "Copiar en la colección…"
msgid "Copy to device"
msgstr ""
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1638,7 +1638,7 @@ msgstr "Eliminar archivos"
msgid "Delete from device..."
msgstr "Eliminar del dispositivo…"
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "Eliminar del disco…"
@@ -1660,11 +1660,11 @@ msgstr "Eliminar los archivos originales"
msgid "Deleting files"
msgstr "Eliminando los archivos"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "Quitar las pistas seleccionadas de la cola"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "Quitar la pista de la cola"
@@ -1690,7 +1690,7 @@ msgstr "Propiedades del dispositivo"
msgid "Device properties..."
msgstr "Propiedades del dispositivo…"
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "Dispositivos"
@@ -1712,7 +1712,7 @@ msgid "Disabled"
msgstr "Desactivado"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1747,6 +1747,10 @@ msgstr "No recortar la imagen"
msgid "Do not overwrite"
msgstr "No sobrescribir"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr ""
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "No repetir"
@@ -1805,7 +1809,7 @@ msgstr ""
msgid "Edit smart playlist..."
msgstr ""
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "Editar la etiqueta «%1»…"
@@ -1959,7 +1963,7 @@ msgstr "Equivalente a --log-levels*:1"
msgid "Equivalent to --log-levels *:3"
msgstr "Equivalente a --log-levels*:3"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "Error"
@@ -2125,7 +2129,7 @@ msgstr "Error al obtener la portada"
msgid "File %1 is not recognized as a valid audio file."
msgstr "El archivo de audio %1 no parece válido."
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "Extensión del archivo"
@@ -2163,7 +2167,7 @@ msgstr "Nombre del archivo"
msgid "Filename:"
msgstr "Archivo:"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "Archivos"
@@ -2217,6 +2221,15 @@ msgstr "Fuente para títulos"
msgid "Font size"
msgstr "Tamaño de fuente"
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr ""
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "Forzar la codificación monoaural"
@@ -2299,7 +2312,7 @@ msgid "Genius Authentication"
msgstr "Autentificación Genius"
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2402,7 +2415,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "Agrupar por Género/Artista/Álbum"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2588,6 +2601,10 @@ msgstr ""
"Es un desarrollo derivado de Clementine lanzado en 2018 destinado a "
"melómanos y audiófilos."
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "Ir a la pista anterior inmediatamente"
@@ -2652,7 +2669,7 @@ msgid "Left"
msgstr "Izquierda"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "Duración"
@@ -2870,7 +2887,7 @@ msgstr "Falta usuario o contraseña de Qobuz"
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr "Falta token de la API de Tidal, usuario o clave."
@@ -2956,7 +2973,7 @@ msgstr "Puntos de montaje"
msgid "Move down"
msgstr "Bajar"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "Mover a la colección…"
@@ -2965,7 +2982,7 @@ msgstr "Mover a la colección…"
msgid "Move up"
msgstr "Subir"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "Música"
@@ -3010,7 +3027,7 @@ msgstr "Nunca comenzar la reproducción"
msgid "New folder"
msgstr "Carpeta nueva"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "Lista de reproducción nueva"
@@ -3054,7 +3071,7 @@ msgstr "No hay ninguna portada que exportar."
msgid "No long blocks"
msgstr "Sin bloques largos"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "Sin coincidencias."
@@ -3082,7 +3099,7 @@ msgstr "Nada en reproducción"
msgid "None"
msgstr "Ninguno"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "None of the selected songs were suitable for copying to a device"
msgstr ""
@@ -3110,7 +3127,7 @@ msgstr ""
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "No se ha iniciado sesión en Tidal."
@@ -3150,6 +3167,13 @@ msgstr "Previsualización del panel de información en pantalla"
msgid "Off"
msgstr "Desactivado"
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
#: osd/osdbase.cpp:245
msgid "On"
msgstr "Activado"
@@ -3215,7 +3239,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr "Organizar archivos."
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr "Organizar archivos..."
@@ -3229,7 +3253,7 @@ msgid "Original tags"
msgstr "Etiquetas originales"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "Año original"
@@ -3288,7 +3312,7 @@ msgstr "Fiesta"
msgid "Password"
msgstr "Contraseña"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "Pausar"
@@ -3302,7 +3326,7 @@ msgid "Paused"
msgstr "En pausa"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3316,8 +3340,8 @@ msgstr "Píxel"
msgid "Plain sidebar"
msgstr "Barra lateral simple"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "Reproducir"
@@ -3380,7 +3404,7 @@ msgstr "Botones de lista de reproducción"
msgid "Playlist finished"
msgstr "Lista de reproducción finalizada"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3402,7 +3426,7 @@ msgstr "Opciones de la lista de reproducción"
msgid "Playlist type"
msgstr ""
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "Listas"
@@ -3527,7 +3551,7 @@ msgstr "Progreso"
msgid "Put songs in a random order"
msgstr ""
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr "Qobuz"
@@ -3550,24 +3574,24 @@ msgstr "Calidad"
msgid "Querying device..."
msgstr "Consultando dispositivo…"
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "Cola"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "Encolar las pistas seleccionadas"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr "Encolar las pistas seleccionadas para reproducir a continuación"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "Encolar para reproducir a continuación"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3763,7 +3787,7 @@ msgstr ""
msgid "Rescan song(s)"
msgstr "Volver a escanear pistas"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr "Volver a escanear tema(s)..."
@@ -3771,7 +3795,7 @@ msgstr "Volver a escanear tema(s)..."
msgid "Reset"
msgstr "Restablecer"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "Reiniciar contador de reproducciones"
@@ -3878,7 +3902,7 @@ msgid "Safely remove the device after copying"
msgstr "Quitar dispositivo con seguridad después de copiar"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3938,7 +3962,7 @@ msgstr "Gestor de agrupamientos guardados"
msgid "Saving album covers"
msgstr "Guardando carátulas"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "Guardando las pistas"
@@ -4071,7 +4095,7 @@ msgstr "La dirección URL del servidor es inválida."
msgid "Server-side scrobbling"
msgstr ""
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "Establecer %1 a «%2»…"
@@ -4158,7 +4182,7 @@ msgstr "Mostrar portada del álbum en la colección"
msgid "Show albums by artist"
msgstr "Mostrar álbumes por artista"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "Mostrar todas las pistas"
@@ -4182,7 +4206,7 @@ msgstr "Mostrar motor y dispositivo"
msgid "Show fullsize..."
msgstr "Mostrar a tamaño completo…"
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "Mostrar en la colección…"
@@ -4190,7 +4214,7 @@ msgstr "Mostrar en la colección…"
msgid "Show in file browser"
msgstr "Mostrar en el navegador de archivos"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "Mostrar en el gestor de archivos…"
@@ -4207,11 +4231,11 @@ msgstr "Mostrar el botón \"Me gusta\""
msgid "Show moodbar"
msgstr "Mostrar barra de ánimo"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "Mostrar solo los duplicados"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "Solo mostrar no etiquetadas"
@@ -4300,11 +4324,11 @@ msgstr "Número de omisiones"
msgid "Skip forwards in playlist"
msgstr "Saltar hacia adelante en la lista de reproducción"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "Omitir pistas seleccionadas"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "Omitir pista"
@@ -4320,7 +4344,7 @@ msgstr "Barra lateral pequeña"
msgid "Smart playlist"
msgstr ""
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr ""
@@ -4404,7 +4428,7 @@ msgstr "Detener reproducción al finalizar cada pista"
msgid "Stop after every track"
msgstr "Detener reproducción al finalizar cada pista"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "Detener reproducción al finalizar la pista actual"
@@ -4466,6 +4490,21 @@ msgstr ""
"Strawberry es software libre bajo licencia GPL. El código fuente puede "
"encontrarse en %1"
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr ""
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Strawberry no encontró resultados para este archivo"
@@ -4490,7 +4529,7 @@ msgstr "Ajustar la imagen a la lista de reproducción"
msgid "Submit scrobbles every"
msgstr "Emitir al servidor de registro cada"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4616,7 +4655,7 @@ msgstr "El sitio indicado no existe."
msgid "The site you requested is not an image!"
msgstr "El sitio indicado no es una imagen."
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4723,7 +4762,7 @@ msgstr ""
msgid "This type of device is not supported: %1"
msgstr "No se admite este tipo de dispositivo: %1"
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4740,7 +4779,7 @@ msgstr ""
msgid "Time step"
msgstr "Salto en el tiempo"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4751,7 +4790,7 @@ msgstr "Título"
msgid "Today"
msgstr "Hoy"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "Cambiar estado de la cola"
@@ -4759,7 +4798,7 @@ msgstr "Cambiar estado de la cola"
msgid "Toggle scrobbling"
msgstr "Conmutar registro de reproducción"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
msgid "Toggle skip status"
msgstr "Conmutar estado de avance"
@@ -4787,7 +4826,7 @@ msgstr "Total de bytes transferidos"
msgid "Total network requests made"
msgstr "Total de solicitudes hechas a la red"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4845,8 +4884,8 @@ msgstr "Banda ultraancha (UWB)"
msgid "Unknown"
msgstr "Desconocido"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "Error desconocido"
@@ -4854,11 +4893,11 @@ msgstr "Error desconocido"
msgid "Unset cover"
msgstr "Eliminar la carátula"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "No omitir pistas seleccionadas"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "No omitir pista"
@@ -5094,7 +5133,7 @@ msgid ""
"well?"
msgstr ""
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr "¿Quieres ejecutar un nuevo análisis completo ahora?"
@@ -5103,7 +5142,7 @@ msgid "Write metadata when saving playlists"
msgstr "Escribir los metadatos al guardar las listas de reproducción"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211

View File

@@ -37,13 +37,14 @@
# David Geiger <geiger.david68210@gmail.com>, 2020. #zanata
# Jonas Kvinge <jonas@jkvinge.net>, 2020. #zanata
# Papoteur <yves.brungard_mageia@gadz.org>, 2020. #zanata
# Sébastien Morin <sebsweb@gmail.com>, 2020. #zanata
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"MIME-Version: 1.0\n"
"PO-Revision-Date: 2020-10-12 01:09-0400\n"
"Last-Translator: David Geiger <geiger.david68210@gmail.com>\n"
"PO-Revision-Date: 2020-10-19 02:36-0400\n"
"Last-Translator: Sébastien Morin <sebsweb@gmail.com>\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language-Team: French\n"
@@ -594,7 +595,7 @@ msgstr ""
msgid "Add directory..."
msgstr "Ajouter un dossier..."
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "Ajouter un fichier"
@@ -610,7 +611,7 @@ msgstr "Ajouter des fichiers à transcoder"
msgid "Add files to transcode"
msgstr "Ajouter des fichiers à transcoder"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "Ajouter un dossier"
@@ -713,7 +714,7 @@ msgstr "Ajouter un flux..."
msgid "Add to albums"
msgstr "Ajouter aux albums"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "Ajouter à une autre liste de lecture"
@@ -772,7 +773,7 @@ msgid "Albu&m cover"
msgstr "&Pochette de l'album"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -792,7 +793,7 @@ msgid "Album - Disc"
msgstr "Album - CD"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -832,7 +833,7 @@ msgstr "Albums ayant une pochette"
msgid "Albums without covers"
msgstr "Albums n'ayant pas de pochette"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "Tous les fichiers (*)"
@@ -879,7 +880,7 @@ msgid "An error occurred loading the iTunes database"
msgstr ""
"Une erreur est survenue lors du chargement de la base de données iTunes"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr ""
@@ -929,13 +930,13 @@ msgstr "Êtes-vous sûr(e) de vouloir continuer ?"
msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr "Êtes-vous sûr(e) de vouloir supprimer la valeur prédéfinie « %1» ?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr ""
"Êtes vous sûr(e) de vouloir réinitialiser les statistiques de ce morceau ?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -943,7 +944,7 @@ msgstr ""
msgid "Artist"
msgstr "Artiste"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "Initiale de l'artiste"
@@ -1080,7 +1081,7 @@ msgid "Best"
msgstr "Meilleur"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
msgid "Bit depth"
@@ -1101,7 +1102,7 @@ msgstr "Débit"
msgid "Bitrate"
msgstr "Débit"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr "Débit"
@@ -1146,7 +1147,7 @@ msgstr "Tampon"
msgid "Buffer duration"
msgstr "Durée du tampon"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "Mise en mémoire tampon"
@@ -1166,7 +1167,7 @@ msgstr "CDDA"
msgid "Cancel"
msgstr "Annulé"
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "Annulé."
@@ -1186,7 +1187,7 @@ msgstr "Changer le morceau en cours de lecture"
msgid "Change the language"
msgstr "Changer la langue"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "Vérifier les mises à jour..."
@@ -1237,7 +1238,7 @@ msgstr "Effacer"
msgid "Clear Disk Cache"
msgstr "Vider le cache disque"
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "Vider la liste de lecture"
@@ -1290,7 +1291,7 @@ msgstr "Fermer cette fenêtre arrêtera la recherche de pochette d'albums."
msgid "Club"
msgstr "Club"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "Bibliothèque"
@@ -1303,7 +1304,7 @@ msgstr "Filtre de collection"
msgid "Collection advanced grouping"
msgstr "Groupement avancé de la bibliothèque"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "Avertissement de réanalyse de la bibliothèque"
@@ -1322,7 +1323,7 @@ msgstr ""
"3"
#: playlist/playlist.cpp:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "Commentaire"
@@ -1339,7 +1340,7 @@ msgid "Complete tags automatically..."
msgstr "Compléter les tags automatiquement..."
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1366,7 +1367,7 @@ msgstr "Configurer %1..."
msgid "Configure buttons"
msgstr "Configurer les boutons"
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "Configurer votre bibliothèque..."
@@ -1382,7 +1383,7 @@ msgstr "Console"
msgid "Constant bitrate"
msgstr "Débit constant"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "Contexte"
@@ -1404,7 +1405,7 @@ msgstr "Convertir toutes les musiques"
msgid "Convert any music that the device can't play"
msgstr "Convertir la musique que le périphérique ne peut pas lire"
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr "Copie des URL(s)..."
@@ -1412,7 +1413,7 @@ msgstr "Copie des URL(s)..."
msgid "Copy album cover artwork"
msgstr "Copier la pochette de l'album"
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "Copier vers la bibliothèque..."
@@ -1421,7 +1422,7 @@ msgstr "Copier vers la bibliothèque..."
msgid "Copy to device"
msgstr "Copie vers le périphérique"
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1663,7 +1664,7 @@ msgstr "Supprimer les fichiers"
msgid "Delete from device..."
msgstr "Supprimer du périphérique..."
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "Supprimer du disque..."
@@ -1685,11 +1686,11 @@ msgstr "Supprimer les fichiers originaux"
msgid "Deleting files"
msgstr "Suppression des fichiers"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "Enlever les pistes sélectionnées de la file d'attente"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "Enlever cette piste de la file d'attente"
@@ -1715,7 +1716,7 @@ msgstr "Propriétés du périphérique"
msgid "Device properties..."
msgstr "Propriétés du périphérique..."
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "Périphériques"
@@ -1737,7 +1738,7 @@ msgid "Disabled"
msgstr "Désactivé"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1772,6 +1773,10 @@ msgstr "Ne pas couper l'image"
msgid "Do not overwrite"
msgstr "Ne pas écraser"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr "Ne plus afficher ce message."
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "Ne pas répéter"
@@ -1832,7 +1837,7 @@ msgstr "Modifier la liste de lecture intelligente"
msgid "Edit smart playlist..."
msgstr "Modifier la liste de lecture intelligente..."
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "Modifier le tag « %1 »..."
@@ -1987,7 +1992,7 @@ msgstr "Equivalent à --log-levels *:1"
msgid "Equivalent to --log-levels *:3"
msgstr "Equivalent à --log-levels *:3"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "Erreur"
@@ -2153,7 +2158,7 @@ msgstr "Erreur lors de la récupération de la pochette"
msgid "File %1 is not recognized as a valid audio file."
msgstr "Le fichier %1 n'est pas un fichier audio valide."
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "Extension de fichier"
@@ -2191,7 +2196,7 @@ msgstr "Nom du fichier"
msgid "Filename:"
msgstr "Nom de fichier :"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "Fichiers"
@@ -2247,6 +2252,17 @@ msgstr "Police pour le titre"
msgid "Font size"
msgstr "Taille de police"
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr "Pour Ubuntu, il existe un dépôt PPA officiel disponible sur %1."
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
"Pour améliorer l'expérience de l'utilisateur, veuillez envisager l'une des "
"options ci-dessus."
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "Forcer lencodage en mono"
@@ -2330,7 +2346,7 @@ msgid "Genius Authentication"
msgstr "Authentification Genius"
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2429,7 +2445,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "Grouper par Genre/Artiste/Album"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2616,6 +2632,12 @@ msgstr ""
"C'est un fork de Clementine publié en 2018 destiné aux collectionneurs de "
"musique et aux audiophiles."
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
"Nous avons détecté que Strawberry est en cours d'exécution en tant que "
"programme Snap."
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "Aller tout de suite à la piste précédente"
@@ -2680,7 +2702,7 @@ msgid "Left"
msgstr "Gauche"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "Durée"
@@ -2898,7 +2920,7 @@ msgstr "Le nom d'utilisateur ou le mot de passe de Subsonic est manquant."
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr ""
"Le jeton de l'API Tidal, le nom d'utilisateur ou le mot de passe est "
@@ -2988,7 +3010,7 @@ msgstr "Points de montage"
msgid "Move down"
msgstr "Déplacer vers le bas"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "Déplacer vers la bibliothèque..."
@@ -2997,7 +3019,7 @@ msgstr "Déplacer vers la bibliothèque..."
msgid "Move up"
msgstr "Déplacer vers le haut"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "Musique"
@@ -3042,7 +3064,7 @@ msgstr "Ne jamais commencer la lecture"
msgid "New folder"
msgstr "Nouveau dossier"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "Nouvelle liste de lecture"
@@ -3086,7 +3108,7 @@ msgstr "Aucune pochette à exporter."
msgid "No long blocks"
msgstr "Aucun bloc long"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "Aucune correspondance."
@@ -3114,7 +3136,7 @@ msgstr "Aucun morceau en cours de lecture"
msgid "None"
msgstr "Aucun"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "None of the selected songs were suitable for copying to a device"
msgstr ""
@@ -3143,7 +3165,7 @@ msgstr ""
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "Aucune authentification sur Tidal."
@@ -3183,6 +3205,16 @@ msgstr "Prévisualisation de l'affichage à l'écran (OSD)"
msgid "Off"
msgstr "Désactivé"
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
"Des paquetages officiels sont disponibles pour Debian et Ubuntu, et "
"fonctionnent aussi sur la plupart de leurs dérivés. Voir %1 pour plus "
"d'informations."
#: osd/osdbase.cpp:245
msgid "On"
msgstr "Activé"
@@ -3248,7 +3280,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr "Organiser les fichiers"
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr "Organisation des fichiers..."
@@ -3262,7 +3294,7 @@ msgid "Original tags"
msgstr "Tags originaux"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "Année d'origine"
@@ -3321,7 +3353,7 @@ msgstr "Soirée"
msgid "Password"
msgstr "Mot de passe"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "Pause"
@@ -3335,7 +3367,7 @@ msgid "Paused"
msgstr "En pause"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3349,8 +3381,8 @@ msgstr "Pixel"
msgid "Plain sidebar"
msgstr "Barre latérale simple"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "Lecture"
@@ -3415,7 +3447,7 @@ msgstr "Boutons de liste de lecture"
msgid "Playlist finished"
msgstr "Liste de lecture terminée"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3437,7 +3469,7 @@ msgstr "Options de la liste de lecture"
msgid "Playlist type"
msgstr "Type de liste de lecture"
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "Listes de lecture"
@@ -3562,7 +3594,7 @@ msgstr "Progression"
msgid "Put songs in a random order"
msgstr "Placer les morceaux dans un ordre aléatoire"
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr "Qobuz"
@@ -3588,26 +3620,26 @@ msgstr "Qualité"
msgid "Querying device..."
msgstr "Requête du périphérique..."
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "Liste d'attente"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "Mettre les pistes sélectionnées en liste d'attente"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr ""
"Mettre les pistes sélectionnées en liste d'attente pour une lecture "
"ultérieure"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "Mettre en liste d'attente pour une lecture ultérieure"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3806,7 +3838,7 @@ msgstr "Rafraîchir"
msgid "Rescan song(s)"
msgstr "Réanalyser le morceau"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr "Réanalyse des morceaux..."
@@ -3814,7 +3846,7 @@ msgstr "Réanalyse des morceaux..."
msgid "Reset"
msgstr "Réinitialiser"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "Réinitialiser le compteur de lecture"
@@ -3921,7 +3953,7 @@ msgid "Safely remove the device after copying"
msgstr "Enlever le périphérique en toute sécurité à la fin de la copie"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3981,7 +4013,7 @@ msgstr "Gestionnaire des regroupements enregistrés"
msgid "Saving album covers"
msgstr "Sauvegarde des pochettes d'album"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "Sauvegarde des pistes"
@@ -4114,7 +4146,7 @@ msgstr "L'URL du serveur est invalide."
msgid "Server-side scrobbling"
msgstr "Scrobbling côté serveur"
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "Définir %1 à la valeur « %2»..."
@@ -4202,7 +4234,7 @@ msgstr "Afficher la pochette de l'album dans la bibliothèque"
msgid "Show albums by artist"
msgstr "Afficher les albums par artiste"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "Afficher tous les morceaux"
@@ -4226,7 +4258,7 @@ msgstr "Afficher le moteur et le périphérique"
msgid "Show fullsize..."
msgstr "Afficher en taille réelle..."
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "Afficher dans la bibliothèque..."
@@ -4234,7 +4266,7 @@ msgstr "Afficher dans la bibliothèque..."
msgid "Show in file browser"
msgstr "Afficher dans l'explorateur de fichiers"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "Afficher dans le navigateur de fichiers..."
@@ -4251,11 +4283,11 @@ msgstr "Afficher le bouton J'aime"
msgid "Show moodbar"
msgstr "Afficher la barre d'humeur"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "Afficher uniquement les doublons"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "Afficher uniquement les morceaux sans tag"
@@ -4344,11 +4376,11 @@ msgstr "Compteur de morceaux sautés"
msgid "Skip forwards in playlist"
msgstr "Lire la piste suivante"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "Passer les pistes sélectionnées"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "Passer la piste"
@@ -4364,7 +4396,7 @@ msgstr "Petite barre latérale"
msgid "Smart playlist"
msgstr "Liste de lecture intelligente"
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr "Listes de lecture intelligentes"
@@ -4448,7 +4480,7 @@ msgstr "Arrêter la lecture après chaque piste"
msgid "Stop after every track"
msgstr "Arrêter la lecture après chaque piste"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "Arrêter la lecture après cette piste"
@@ -4511,6 +4543,25 @@ msgstr ""
"Strawberry est un logiciel libre sous les termes de la licence GPL. Le code "
"source est disponible sur %1"
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr "Strawberry est en cours d'exécution en tant que programme Snap"
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr "Strawberry est en cours d'exécution en tant que programme Snap"
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
"Strawberry est plus lent, et comporte des restrictions, lorsqu'il est "
"exécuté en tant que programme Snap. Il sera impossible d'accéder à la "
"partition root (/). D'autres restrictions peuvent survenir, comme "
"l'incapacité à accéder à certains périphériques ou à des partages réseaux."
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Strawberry n'a pu trouver aucun résultat pour ce fichier"
@@ -4535,7 +4586,7 @@ msgstr "Étirer l'image pour remplir la liste de lecture"
msgid "Submit scrobbles every"
msgstr "Soumettre des scrobbles tous les"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4661,7 +4712,7 @@ msgstr "Le site demandé n'existe pas !"
msgid "The site you requested is not an image!"
msgstr "Le site demandé n'est pas une image !"
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4771,7 +4822,7 @@ msgstr ""
msgid "This type of device is not supported: %1"
msgstr "Ce type de périphérique n'est pas supporté : %1"
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4789,7 +4840,7 @@ msgstr ""
msgid "Time step"
msgstr "Pas temporel"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4800,7 +4851,7 @@ msgstr "Titre"
msgid "Today"
msgstr "Aujourd'hui"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "Basculer l'état de la file d'attente"
@@ -4808,7 +4859,7 @@ msgstr "Basculer l'état de la file d'attente"
msgid "Toggle scrobbling"
msgstr "Basculer le scrobbling"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
msgid "Toggle skip status"
msgstr "Basculer le saut du statut"
@@ -4836,7 +4887,7 @@ msgstr "Nombre total d'octets transférés"
msgid "Total network requests made"
msgstr "Nombre total de requêtes réseau effectuées"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4894,8 +4945,8 @@ msgstr "Très large bande (UWB)"
msgid "Unknown"
msgstr "Inconnu"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "Erreur inconnue"
@@ -4903,11 +4954,11 @@ msgstr "Erreur inconnue"
msgid "Unset cover"
msgstr "Enlever cette pochette"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "Ne pas passer les pistes sélectionnées"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "Ne pas passer la piste"
@@ -5150,7 +5201,7 @@ msgstr ""
"Souhaitez-vous également déplacer les autres morceaux de cet album vers "
"Compilations d'artistes ?"
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr ""
"Souhaitez-vous effectuer une nouvelle analyse complète de la bibliothèque "
@@ -5161,7 +5212,7 @@ msgid "Write metadata when saving playlists"
msgstr "Écrire des métadonnées lors de la sauvegarde des listes de lecture"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211
@@ -5412,7 +5463,7 @@ msgstr "pas en dernier"
#: smartplaylists/smartplaylistsearchterm.cpp:243
msgid "not on"
msgstr ""
msgstr "non allumé"
#: smartplaylists/smartplaylistsearchterm.cpp:414
msgid "oldest first"
@@ -5420,7 +5471,7 @@ msgstr "le plus ancien en premier"
#: smartplaylists/smartplaylistsearchterm.cpp:241
msgid "on"
msgstr ""
msgstr "allumé"
#: core/commandlineoptions.cpp:162
msgid "options"

View File

@@ -562,7 +562,7 @@ msgstr "Minden szám hozzáadása a mappából és almappáiból"
msgid "Add directory..."
msgstr "Mappa hozzáadása"
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "Fájl hozzáadása"
@@ -578,7 +578,7 @@ msgstr "Fájl(ok) hozzáadása az átkódoláshoz"
msgid "Add files to transcode"
msgstr "Fájlok felvétele átkódoláshoz"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "Mappa hozzáadása"
@@ -682,7 +682,7 @@ msgstr "Stream hozzáadása..."
msgid "Add to albums"
msgstr "Hozzáadás albumokhoz"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "Hozzáadás másik lejátszólistához"
@@ -741,7 +741,7 @@ msgid "Albu&m cover"
msgstr "&Albumborító"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -761,7 +761,7 @@ msgid "Album - Disc"
msgstr "Album - Lemez"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -801,7 +801,7 @@ msgstr "Albumok borítóval"
msgid "Albums without covers"
msgstr "Albumok borító nélkül"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "Minden fájl (*)"
@@ -847,7 +847,7 @@ msgstr "Mindig indítsa a lejátszást"
msgid "An error occurred loading the iTunes database"
msgstr "Hiba történt az iTunes adatbázis betöltése közben"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr "Hiba történt '%1' metaadatainak írása közben"
@@ -896,12 +896,12 @@ msgstr "Biztos folytatni szeretné?"
msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr "Biztos benne, hogy törli a \"%1\" beállítást?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr "Biztos benne, hogy visszaállítja ennek a dalnak a statisztikáit?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -909,7 +909,7 @@ msgstr "Biztos benne, hogy visszaállítja ennek a dalnak a statisztikáit?"
msgid "Artist"
msgstr "Előadó"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "Előadó kezdése"
@@ -1045,7 +1045,7 @@ msgid "Best"
msgstr "Legjobb"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
msgid "Bit depth"
@@ -1066,7 +1066,7 @@ msgstr "Bitráta"
msgid "Bitrate"
msgstr "Bitráta"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr "Bitráta"
@@ -1111,7 +1111,7 @@ msgstr "Puffer"
msgid "Buffer duration"
msgstr "Puffer hossza"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "Pufferelés"
@@ -1131,7 +1131,7 @@ msgstr "CDDA"
msgid "Cancel"
msgstr "Mégse"
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "Bezárva."
@@ -1151,7 +1151,7 @@ msgstr "Váltás a legutóbb játszott dalra"
msgid "Change the language"
msgstr "Nyelv váltása"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "Frissítés keresése..."
@@ -1202,7 +1202,7 @@ msgstr "Ürítés"
msgid "Clear Disk Cache"
msgstr "Lemezgyorsítótár törlése"
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "Lejátszólista törlése"
@@ -1255,7 +1255,7 @@ msgstr "Ezen ablak bezárása megszakítja az albumborítók keresését."
msgid "Club"
msgstr "Club"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "Gyűjtemény"
@@ -1268,7 +1268,7 @@ msgstr "Gyűjtemény szűrő"
msgid "Collection advanced grouping"
msgstr "Gyűjtemény egyedi csoportosítása"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "Gyűjtemény újraolvasási figyelmeztetés"
@@ -1287,7 +1287,7 @@ msgstr ""
"értékeket vehetnek fel"
#: playlist/playlist.cpp:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "Megjegyzés"
@@ -1304,7 +1304,7 @@ msgid "Complete tags automatically..."
msgstr "Címkék automatikus kiegészítése"
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1331,7 +1331,7 @@ msgstr "%1 beállítása..."
msgid "Configure buttons"
msgstr "Gombok beállítása"
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "Gyűjtemény beállítása..."
@@ -1347,7 +1347,7 @@ msgstr "Konzol"
msgid "Constant bitrate"
msgstr "Állandó bitráta"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "Adatok"
@@ -1368,7 +1368,7 @@ msgstr "Összes zene konvertálása"
msgid "Convert any music that the device can't play"
msgstr "Az eszköz által nem támogatott zenék konvertálása"
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr "URL(-ek) másolása"
@@ -1376,7 +1376,7 @@ msgstr "URL(-ek) másolása"
msgid "Copy album cover artwork"
msgstr "Albumborító másolása"
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "Másolás a gyűjteménybe..."
@@ -1385,7 +1385,7 @@ msgstr "Másolás a gyűjteménybe..."
msgid "Copy to device"
msgstr "Másolás eszközre"
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1627,7 +1627,7 @@ msgstr "Fájlok törlése"
msgid "Delete from device..."
msgstr "Törlés az eszközről..."
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "Törlés a lemezről..."
@@ -1649,11 +1649,11 @@ msgstr "Az eredeti fájlok törlése"
msgid "Deleting files"
msgstr "Fájlok törlése"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "Kijelölt számok eltávolítása a lejátszási sorból"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "Szám eltávolítása a lejátszási sorból"
@@ -1679,7 +1679,7 @@ msgstr "Eszköztulajdonságok"
msgid "Device properties..."
msgstr "Eszköztulajdonságok..."
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "Eszközök"
@@ -1701,7 +1701,7 @@ msgid "Disabled"
msgstr "Letiltva"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1736,6 +1736,10 @@ msgstr "Ne legyen levágva a képből"
msgid "Do not overwrite"
msgstr "Ne írja felül"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr ""
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "Nincs ismétlés"
@@ -1794,7 +1798,7 @@ msgstr "Okos lejátszólista szerkesztése"
msgid "Edit smart playlist..."
msgstr "Okos lejátszólista szerkesztése..."
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "\"%1\" címke szerkesztése..."
@@ -1945,7 +1949,7 @@ msgstr "Megegyezik a --log-levels *:1 kapcsolóval"
msgid "Equivalent to --log-levels *:3"
msgstr "Megegyezik a --log-levels *:3 kapcsolóval"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "Hiba"
@@ -2112,7 +2116,7 @@ msgstr "Hiba a borító betöltése közben"
msgid "File %1 is not recognized as a valid audio file."
msgstr "A (z)% 1 fájl nem ismerhető fel érvényes hangfájlként."
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "Fájlkiterjesztés"
@@ -2150,7 +2154,7 @@ msgstr "Fájlnév"
msgid "Filename:"
msgstr "Fájlnév:"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "Fájlok"
@@ -2204,6 +2208,15 @@ msgstr "Cím betűtípusa"
msgid "Font size"
msgstr "Betűméret"
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr ""
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "Mono kódolás kényszerítése"
@@ -2286,7 +2299,7 @@ msgid "Genius Authentication"
msgstr "Genius hitelesítés"
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2385,7 +2398,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "Csoportosítás műfaj/előadó/album szerint"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2569,6 +2582,10 @@ msgstr ""
"Ez a Clementine egy forkja, amely 2018-ban jelent meg, megcélozva a "
"zenegyűjtőket és a vájtfülűeket."
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "Ugrás az előző dalra"
@@ -2633,7 +2650,7 @@ msgid "Left"
msgstr "Bal"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "Időtartam"
@@ -2851,7 +2868,7 @@ msgstr "Hiányzó Subsonic felhasználónév vagy jelszó."
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr "Hiányzó Tidal API token, felhasználónév vagy jelszó."
@@ -2937,7 +2954,7 @@ msgstr "Csatolási pontok"
msgid "Move down"
msgstr "Mozgatás lefelé"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "Áthelyezés a gyűjteménybe..."
@@ -2946,7 +2963,7 @@ msgstr "Áthelyezés a gyűjteménybe..."
msgid "Move up"
msgstr "Mozgatás felfelé"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "Zene"
@@ -2991,7 +3008,7 @@ msgstr "Soha ne indítsa el a lejátszást"
msgid "New folder"
msgstr "Új mappa"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "Új lejátszólista"
@@ -3035,7 +3052,7 @@ msgstr "Nincsenek exportálandó borítók"
msgid "No long blocks"
msgstr "Hosszú blokkok nélkül"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "Nincs egyezés."
@@ -3063,7 +3080,7 @@ msgstr "Nincs lejátszott dal"
msgid "None"
msgstr "Egyik sem"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "None of the selected songs were suitable for copying to a device"
msgstr "Egy kiválasztott dal sem alkalmas az eszközre való másoláshoz"
@@ -3090,7 +3107,7 @@ msgstr ""
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "Nincs hitelesítve Tidallal."
@@ -3130,6 +3147,13 @@ msgstr "OSD Előnézet"
msgid "Off"
msgstr "Ki"
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
#: osd/osdbase.cpp:245
msgid "On"
msgstr "Be"
@@ -3195,7 +3219,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr "Fájlok rendezése"
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr "Fájlok rendezése..."
@@ -3209,7 +3233,7 @@ msgid "Original tags"
msgstr "Eredeti címkék"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "Eredeti megjelenés"
@@ -3268,7 +3292,7 @@ msgstr "Party"
msgid "Password"
msgstr "Jelszó"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "Szünet"
@@ -3282,7 +3306,7 @@ msgid "Paused"
msgstr "Szüneteltetve"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3296,8 +3320,8 @@ msgstr "Pixel"
msgid "Plain sidebar"
msgstr "Egyszerű oldalsáv"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "Lejátszás"
@@ -3360,7 +3384,7 @@ msgstr "Lejátszólista gombok"
msgid "Playlist finished"
msgstr "A lejátszólista befejezve"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3382,7 +3406,7 @@ msgstr "Lejátszólista beállítások"
msgid "Playlist type"
msgstr "Lejátszólista típusa"
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "Lejátszólisták"
@@ -3508,7 +3532,7 @@ msgstr "Folyamat"
msgid "Put songs in a random order"
msgstr ""
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr "Qobuz"
@@ -3531,24 +3555,24 @@ msgstr "Minőség"
msgid "Querying device..."
msgstr "Eszköz lekérdezése..."
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "Lejátszási sor"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "Kijelölt számok hozzáadása a lejátszási sorhoz"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr "Kijelölt számok lejátszása következőre"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "Lejátszás következőre"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3748,7 +3772,7 @@ msgstr ""
msgid "Rescan song(s)"
msgstr "Zenék újraellenőrzése"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr "Dalok újraellenőrzése..."
@@ -3756,7 +3780,7 @@ msgstr "Dalok újraellenőrzése..."
msgid "Reset"
msgstr "Visszaállítás"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "Lejátszás számlálók visszaállítása"
@@ -3862,7 +3886,7 @@ msgid "Safely remove the device after copying"
msgstr "Eszköz biztonságos eltávolítása másolás után"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3922,7 +3946,7 @@ msgstr "Csoportosításkezelő"
msgid "Saving album covers"
msgstr "Albumborítók mentése"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "Számok mentése"
@@ -4055,7 +4079,7 @@ msgstr "A szerver URL-je érvénytelen."
msgid "Server-side scrobbling"
msgstr ""
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "%1 beállítása erre: \"%2\"..."
@@ -4142,7 +4166,7 @@ msgstr "Albumborító megjelenítése a gyűjteményben"
msgid "Show albums by artist"
msgstr "Albumok megjelenítése az előadótól"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "Összes dal megjelenítése"
@@ -4166,7 +4190,7 @@ msgstr "Motor és eszköz megjelenítése"
msgid "Show fullsize..."
msgstr "Megjelenítés teljes méretben..."
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "Megjelenítés a gyűjteményben..."
@@ -4174,7 +4198,7 @@ msgstr "Megjelenítés a gyűjteményben..."
msgid "Show in file browser"
msgstr "Megnyitás a fájlböngészőben"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "Megnyitás a fájlböngészőben..."
@@ -4191,11 +4215,11 @@ msgstr "Kedvenc gomb megjelenítése"
msgid "Show moodbar"
msgstr "Hangulatsáv megjelenítése"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "Csak a másolatok megjelenítése"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "Csak a címke nélküliek megjelenítése"
@@ -4284,11 +4308,11 @@ msgstr "Kihagyások száma"
msgid "Skip forwards in playlist"
msgstr "Előreléptetés a lejátszólistában"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "Kiválasztott számok kihagyása"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "Szám kihagyása"
@@ -4304,7 +4328,7 @@ msgstr "Kis oldalsáv"
msgid "Smart playlist"
msgstr "Okos lejátszólista"
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr "Okos lejátszólisták"
@@ -4388,7 +4412,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"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "Leállítás az aktuális szám után"
@@ -4450,6 +4474,21 @@ msgstr ""
"A Strawberry szabad szoftver a GPL alatt kiadva. A forráskód elérhető itt: "
"%1"
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr ""
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Nincsenek találatok ehhez a fájlhoz"
@@ -4474,7 +4513,7 @@ msgstr "Kép nyújtása a lejátszólista kitöltéséhez"
msgid "Submit scrobbles every"
msgstr "Scrobble-ok beküldése minden"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4600,7 +4639,7 @@ msgstr "A kért oldal nem létezik!"
msgid "The site you requested is not an image!"
msgstr "A kért oldal nem egy kép!"
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4704,7 +4743,7 @@ msgstr "Ez a beállítás változtatható a \"Működés\" menüben"
msgid "This type of device is not supported: %1"
msgstr "A %1 eszköztípus nem támogatott"
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4722,7 +4761,7 @@ msgstr ""
msgid "Time step"
msgstr "Léptetés ideje"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4733,7 +4772,7 @@ msgstr "Cím"
msgid "Today"
msgstr "Ma"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "Lejátszási sor"
@@ -4741,7 +4780,7 @@ msgstr "Lejátszási sor"
msgid "Toggle scrobbling"
msgstr "Scrobble funkció váltása"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
#, fuzzy
msgid "Toggle skip status"
msgstr "Állapot átugrása"
@@ -4770,7 +4809,7 @@ msgstr "Összes átküldött bájt"
msgid "Total network requests made"
msgstr "Összes hálózati kérelem"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4828,8 +4867,8 @@ msgstr "Ultra szélessávú (UWB)"
msgid "Unknown"
msgstr "Ismeretlen"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "Ismeretlen hiba"
@@ -4837,11 +4876,11 @@ msgstr "Ismeretlen hiba"
msgid "Unset cover"
msgstr "Borító törlése"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "A kiválasztott számok lejátszása"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "Szám lejátszása"
@@ -5076,7 +5115,7 @@ msgid ""
"well?"
msgstr ""
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr "Akar futtatni egy teljes újraolvasást most?"
@@ -5085,7 +5124,7 @@ msgid "Write metadata when saving playlists"
msgstr "Lejátszólisták mentésekor metaadatok írása"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211

View File

@@ -558,7 +558,7 @@ msgstr "Tambah semua trek dari sebuah direktori dan semua subdirektorinya"
msgid "Add directory..."
msgstr "Tambah direktori..."
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "Tambah berkas"
@@ -574,7 +574,7 @@ msgstr "Tambah berkas ke transkoder"
msgid "Add files to transcode"
msgstr "Tambah berkas untuk ditranskode"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "Tambah folder"
@@ -677,7 +677,7 @@ msgstr ""
msgid "Add to albums"
msgstr "Tambahkan ke album"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "Tambahkan ke daftar putar lainnya"
@@ -736,7 +736,7 @@ msgid "Albu&m cover"
msgstr "Sa&mpul album"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -756,7 +756,7 @@ msgid "Album - Disc"
msgstr "Album - Cakram"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -796,7 +796,7 @@ msgstr "Album dengan sampul"
msgid "Albums without covers"
msgstr "Album tanpa sampul"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "Semua Berkas (*)"
@@ -842,7 +842,7 @@ msgstr "Selalu mulai memutar"
msgid "An error occurred loading the iTunes database"
msgstr "Sebuah galat terjadi saat memuat basis data iTunes"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr "Sebuah galat terjadi saat menulis metadata ke '%1'"
@@ -891,12 +891,12 @@ msgstr ""
msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr "Apakah Anda yakin ingin menghapus prasetel \"%1\"?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr "Apakah Anda yakin ingin mengeset-ulang statistik lagu ini?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -904,7 +904,7 @@ msgstr "Apakah Anda yakin ingin mengeset-ulang statistik lagu ini?"
msgid "Artist"
msgstr "Artis"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "Inisial artis"
@@ -1040,7 +1040,7 @@ msgid "Best"
msgstr "Terbaik"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
msgid "Bit depth"
@@ -1061,7 +1061,7 @@ msgstr "Laju bit"
msgid "Bitrate"
msgstr "Lajubit"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr ""
@@ -1106,7 +1106,7 @@ msgstr "Buffer"
msgid "Buffer duration"
msgstr "Durasi Bufer"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "Membufer..."
@@ -1126,7 +1126,7 @@ msgstr "CDDA"
msgid "Cancel"
msgstr ""
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "Dibatalkan."
@@ -1146,7 +1146,7 @@ msgstr "Ganti lagu yang diputar saat ini"
msgid "Change the language"
msgstr "Ubah bahasa"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "Periksa pembaruan..."
@@ -1191,7 +1191,7 @@ msgstr "Bersihkan"
msgid "Clear Disk Cache"
msgstr ""
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "Bersihkan daftar putar"
@@ -1244,7 +1244,7 @@ msgstr "Menutup jendela ini akan menghentikan pencarian sampul album."
msgid "Club"
msgstr "Klub"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "Pustakascan"
@@ -1257,7 +1257,7 @@ msgstr ""
msgid "Collection advanced grouping"
msgstr "Pengelompokan pustaka lanjutan"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "Pemberitahuan pemindaian ulang pustaka"
@@ -1274,7 +1274,7 @@ 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:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "Komentar"
@@ -1291,7 +1291,7 @@ msgid "Complete tags automatically..."
msgstr "Lengkapi tag secara otomatis..."
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1318,7 +1318,7 @@ msgstr "Konfigurasi %1..."
msgid "Configure buttons"
msgstr ""
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "Konfigurasi pustaka..."
@@ -1334,7 +1334,7 @@ msgstr "Konsol"
msgid "Constant bitrate"
msgstr "Lajubit konstan"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "Konteks"
@@ -1355,7 +1355,7 @@ msgstr "Konversi semua musik"
msgid "Convert any music that the device can't play"
msgstr "Konversi semua musik yang tidak dapat diputar oleh perangkat."
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr ""
@@ -1363,7 +1363,7 @@ msgstr ""
msgid "Copy album cover artwork"
msgstr "Salin sampul album"
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "Salin ke pustaka..."
@@ -1372,7 +1372,7 @@ msgstr "Salin ke pustaka..."
msgid "Copy to device"
msgstr ""
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1613,7 +1613,7 @@ msgstr "Hapus berkas"
msgid "Delete from device..."
msgstr "Hapus dari perangkat..."
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "Hapus dari diska..."
@@ -1635,11 +1635,11 @@ msgstr "Hapus berkas yang asli"
msgid "Deleting files"
msgstr "Menghapus berkas"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "Buang antrean trek terpilih"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "Buang antrean trek"
@@ -1665,7 +1665,7 @@ msgstr "Properti Perangkat"
msgid "Device properties..."
msgstr "Properti perangkat..."
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "Perangkat"
@@ -1687,7 +1687,7 @@ msgid "Disabled"
msgstr "Nonfungsi"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1722,6 +1722,10 @@ msgstr "Jangan potong gambar"
msgid "Do not overwrite"
msgstr "Jangan timpa"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr ""
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "Jangan ulang"
@@ -1780,7 +1784,7 @@ msgstr ""
msgid "Edit smart playlist..."
msgstr ""
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "Sunting tag \"%1\"..."
@@ -1930,7 +1934,7 @@ msgstr "Setara dengan --log-level *: 1"
msgid "Equivalent to --log-levels *:3"
msgstr "Setara dengan --log-level *: 3"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "Kesalahan"
@@ -2096,7 +2100,7 @@ msgstr "Terjadi kesalahan saat mengambil sampul"
msgid "File %1 is not recognized as a valid audio file."
msgstr "Berkas %1 bukanlah berkas audio yang benar."
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "Ekstensi berkas"
@@ -2134,7 +2138,7 @@ msgstr "Nama berkas"
msgid "Filename:"
msgstr "Nama berkas:"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "Berkas"
@@ -2188,6 +2192,15 @@ msgstr ""
msgid "Font size"
msgstr ""
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr ""
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "Paksa enkode mono"
@@ -2270,7 +2283,7 @@ msgid "Genius Authentication"
msgstr ""
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2369,7 +2382,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "Grup berdasarkan Genre/Artis/Album"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2548,6 +2561,10 @@ msgid ""
"audiophiles."
msgstr ""
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "Lompat ke lagu sebelumnya sesegera"
@@ -2612,7 +2629,7 @@ msgid "Left"
msgstr "Kiri"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "Durasi"
@@ -2830,7 +2847,7 @@ msgstr "Nama pengguna atau kata sandi Subsonic tidak tersedia."
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr ""
@@ -2916,7 +2933,7 @@ msgstr "Titik kait"
msgid "Move down"
msgstr "Pindah turun"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "Pindah ke pustaka..."
@@ -2925,7 +2942,7 @@ msgstr "Pindah ke pustaka..."
msgid "Move up"
msgstr "Pindah naik"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "Musik"
@@ -2970,7 +2987,7 @@ msgstr "Jangan mulai memutar"
msgid "New folder"
msgstr "Folder baru"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "Daftar putar baru"
@@ -3014,7 +3031,7 @@ msgstr "Tidak ada sampul untuk diekspor."
msgid "No long blocks"
msgstr "Tanpa blok panjang"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "Tidak ada yang cocok."
@@ -3042,7 +3059,7 @@ msgstr "Tidak ada lagu yang berputar"
msgid "None"
msgstr "Nihil"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "None of the selected songs were suitable for copying to a device"
msgstr ""
@@ -3069,7 +3086,7 @@ msgstr ""
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "Tidak terautentikasi dengan Tidal."
@@ -3109,6 +3126,13 @@ msgstr "Pratinjau OSD"
msgid "Off"
msgstr "Mati"
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
#: osd/osdbase.cpp:245
msgid "On"
msgstr "Nyala"
@@ -3174,7 +3198,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr ""
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr ""
@@ -3188,7 +3212,7 @@ msgid "Original tags"
msgstr "Tag asli"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "Tahun asli"
@@ -3247,7 +3271,7 @@ msgstr "Pesta"
msgid "Password"
msgstr "Sandi"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "Jeda"
@@ -3261,7 +3285,7 @@ msgid "Paused"
msgstr "Jeda"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3275,8 +3299,8 @@ msgstr "Piksel"
msgid "Plain sidebar"
msgstr "Bilah sisi polos"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "Putar"
@@ -3339,7 +3363,7 @@ msgstr ""
msgid "Playlist finished"
msgstr "Daftar putar selesai"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3359,7 +3383,7 @@ msgstr "Opsi daftar putar"
msgid "Playlist type"
msgstr ""
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "Daftar putar"
@@ -3479,7 +3503,7 @@ msgstr "Kemajuan"
msgid "Put songs in a random order"
msgstr ""
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr "Qobuz"
@@ -3502,24 +3526,24 @@ msgstr "Kualitas"
msgid "Querying device..."
msgstr "Meminta perangkat..."
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "Antrean"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "Antre trek terpilih"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr "Antre trek terpilih untuk diputar selanjutnya"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "Antre untuk diputar selanjutnya"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3714,7 +3738,7 @@ msgstr ""
msgid "Rescan song(s)"
msgstr "Pindai ulang lagu"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr ""
@@ -3722,7 +3746,7 @@ msgstr ""
msgid "Reset"
msgstr "Setel-ulang"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "Setel-ulang jumlah putar"
@@ -3829,7 +3853,7 @@ msgid "Safely remove the device after copying"
msgstr "Secara aman melepas perangkat setelah menyalin"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3889,7 +3913,7 @@ msgstr "Pengelola Pengelompokan Tersimpan"
msgid "Saving album covers"
msgstr "Menyimpan sampul album"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "Menyimpan trek"
@@ -4022,7 +4046,7 @@ msgstr "URL server tidak benar."
msgid "Server-side scrobbling"
msgstr ""
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "Tetapkan %1 ke \"%2\"..."
@@ -4109,7 +4133,7 @@ msgstr "Tampilkan sampul album di pustaka"
msgid "Show albums by artist"
msgstr "Tampilkan album berdasarkan artis"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "Tampilkan semua lagu"
@@ -4133,7 +4157,7 @@ msgstr "Tampilkan mesin dan perangkat"
msgid "Show fullsize..."
msgstr "Tampilkan ukuran penuh..."
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "Tampilkan di pustaka..."
@@ -4141,7 +4165,7 @@ msgstr "Tampilkan di pustaka..."
msgid "Show in file browser"
msgstr "Tampilkan di peramban berkas"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "Tampilkan di peramban berkas..."
@@ -4158,11 +4182,11 @@ msgstr "Tampilkan tombol suka"
msgid "Show moodbar"
msgstr "Tampilkan moodbar"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "Tampilkan hanya duplikat"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "Tampilkan hanya tidak bertag"
@@ -4251,11 +4275,11 @@ msgstr "Lewati hitungan"
msgid "Skip forwards in playlist"
msgstr "Lewati maju di dalam daftar putar"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "Lewati trek yang dipilih"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "Lewati trek"
@@ -4271,7 +4295,7 @@ msgstr "Bilah sisi kecil"
msgid "Smart playlist"
msgstr ""
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr ""
@@ -4355,7 +4379,7 @@ msgstr "Berhenti setelah masing-masing trek"
msgid "Stop after every track"
msgstr "Berhenti setelah setiap trek"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "Berhenti setelah trek ini"
@@ -4415,6 +4439,21 @@ msgid ""
"on %1"
msgstr ""
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr ""
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Strawberry tidak dapat menemukan hasil untuk berkas ini"
@@ -4439,7 +4478,7 @@ msgstr "Regangkan gambar hingga memenuhi daftar putar"
msgid "Submit scrobbles every"
msgstr "Kirimkan scrobble setiap"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4565,7 +4604,7 @@ msgstr "Situs yang Anda minta tidak ada!"
msgid "The site you requested is not an image!"
msgstr "Situs yang Anda minta bukan sebuah gambar!"
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4671,7 +4710,7 @@ msgstr "Opsi ini dapat diubah di pengaturan \"Perilaku\""
msgid "This type of device is not supported: %1"
msgstr "Tipe perangkat ini tidak didukung: %1"
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4686,7 +4725,7 @@ msgstr ""
msgid "Time step"
msgstr "Selang waktu"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4697,7 +4736,7 @@ msgstr "Judul"
msgid "Today"
msgstr "Hari Ini"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "Alihkan status antrean"
@@ -4705,7 +4744,7 @@ msgstr "Alihkan status antrean"
msgid "Toggle scrobbling"
msgstr "Alihkan scrobbling"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
msgid "Toggle skip status"
msgstr "Alihkan status melewati"
@@ -4733,7 +4772,7 @@ msgstr "Jumlah byte yang ditransfer"
msgid "Total network requests made"
msgstr "Total permintaan jaringan yang dibuat"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4791,8 +4830,8 @@ msgstr "Pita ultra lebar (UWB)"
msgid "Unknown"
msgstr "Tidak diketahui"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "Kesalahan tak terduga"
@@ -4800,11 +4839,11 @@ msgstr "Kesalahan tak terduga"
msgid "Unset cover"
msgstr "Tak set sampul"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "Taklewati trek yang dipilih"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "Taklewati trek"
@@ -5040,7 +5079,7 @@ msgid ""
"well?"
msgstr ""
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr "Apakah Anda ingin menjalankan pemindaian ulang menyeluruh sekarang?"
@@ -5049,7 +5088,7 @@ msgid "Write metadata when saving playlists"
msgstr "Tulis metadata saat menyimpan daftar putar"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211

View File

@@ -555,7 +555,7 @@ msgstr ""
msgid "Add directory..."
msgstr "Aggiungi cartella..."
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "Aggiungi file"
@@ -571,7 +571,7 @@ msgstr "Aggiungi file al transcodificatore"
msgid "Add files to transcode"
msgstr "Aggiungi file da transcodificare"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "Aggiungi cartella"
@@ -674,7 +674,7 @@ msgstr ""
msgid "Add to albums"
msgstr "Aggiungi agli album"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "Aggiungi a un'altra scaletta"
@@ -733,7 +733,7 @@ msgid "Albu&m cover"
msgstr "Copertina dell'albu&m"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -753,7 +753,7 @@ msgid "Album - Disc"
msgstr "Album - Disco"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -793,7 +793,7 @@ msgstr "Album con copertina"
msgid "Albums without covers"
msgstr "Album senza copertina"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "Tutti i file (*)"
@@ -840,7 +840,7 @@ msgid "An error occurred loading the iTunes database"
msgstr ""
"Si è verificato un errore durante la il caricamento del database di iTunes"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr "Si è verificato un errore durante la scrittura dei metadati su '%1'"
@@ -889,12 +889,12 @@ msgstr ""
msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr "Sei sicuro di voler eliminare la preimpostazione \"%1\"?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr "Sei sicuro di voler azzerare le statistiche del brano?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -902,7 +902,7 @@ msgstr "Sei sicuro di voler azzerare le statistiche del brano?"
msgid "Artist"
msgstr "Artista"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "Iniziale dell'artista"
@@ -1038,7 +1038,7 @@ msgid "Best"
msgstr "Migliore"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
msgid "Bit depth"
@@ -1059,7 +1059,7 @@ msgstr "Bitrate"
msgid "Bitrate"
msgstr "Bitrate"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr ""
@@ -1104,7 +1104,7 @@ msgstr "Buffer"
msgid "Buffer duration"
msgstr "Durata del buffer"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "Riempimento buffer in corso"
@@ -1125,7 +1125,7 @@ msgstr "CDDA"
msgid "Cancel"
msgstr ""
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "Cancellato."
@@ -1145,7 +1145,7 @@ msgstr "Cambierà la traccia in riproduzione"
msgid "Change the language"
msgstr "Cambia la lingua"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "Controlla aggiornamenti..."
@@ -1190,7 +1190,7 @@ msgstr "Svuota"
msgid "Clear Disk Cache"
msgstr ""
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "Svuota la scaletta"
@@ -1244,7 +1244,7 @@ msgstr "La chiusura di questa finestra fermerà la ricerca delle copertine."
msgid "Club"
msgstr "Club"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "Raccolta"
@@ -1257,7 +1257,7 @@ msgstr "Filtro della Collezione"
msgid "Collection advanced grouping"
msgstr "Raggruppamento avanzato della raccolta"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "Notifica nuova scansione della raccolta"
@@ -1274,7 +1274,7 @@ 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:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "Commento"
@@ -1291,7 +1291,7 @@ msgid "Complete tags automatically..."
msgstr "Completa automaticamente i tag..."
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1318,7 +1318,7 @@ msgstr "Configura %1..."
msgid "Configure buttons"
msgstr ""
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "Configura raccolta..."
@@ -1334,7 +1334,7 @@ msgstr "Console"
msgid "Constant bitrate"
msgstr "Bitrate costante"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "Contesto"
@@ -1356,7 +1356,7 @@ msgstr "Converti tutta la musica"
msgid "Convert any music that the device can't play"
msgstr "Converti qualsiasi musica che il dispositivo non può riprodurre"
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr ""
@@ -1364,7 +1364,7 @@ msgstr ""
msgid "Copy album cover artwork"
msgstr "Copia la copertina dell'album"
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "Copia nella raccolta..."
@@ -1373,7 +1373,7 @@ msgstr "Copia nella raccolta..."
msgid "Copy to device"
msgstr ""
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1614,7 +1614,7 @@ msgstr "Elimina i file"
msgid "Delete from device..."
msgstr "Elimina da dispositivo..."
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "Elimina dal disco..."
@@ -1636,11 +1636,11 @@ msgstr "Elimina i file originali"
msgid "Deleting files"
msgstr "Eliminazione dei file"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "Rimuovi le tracce selezionate dalla coda"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "Rimuovi tracce dalla coda"
@@ -1666,7 +1666,7 @@ msgstr "Proprietà del dispositivo"
msgid "Device properties..."
msgstr "Proprietà del dispositivo..."
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "Dispositivi"
@@ -1688,7 +1688,7 @@ msgid "Disabled"
msgstr "Disabilitata"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1723,6 +1723,10 @@ msgstr "Non ritagliare l'immagine"
msgid "Do not overwrite"
msgstr "Non sovrascrivere"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr ""
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "Non ripetere"
@@ -1781,7 +1785,7 @@ msgstr ""
msgid "Edit smart playlist..."
msgstr ""
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "Modifica tag \"%1\"..."
@@ -1933,7 +1937,7 @@ msgstr "Equivalente a --log-levels *:1"
msgid "Equivalent to --log-levels *:3"
msgstr "Equivalente a --log-levels *:3"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "Errore"
@@ -2099,7 +2103,7 @@ msgstr "Errore di scaricamento della copertina"
msgid "File %1 is not recognized as a valid audio file."
msgstr "Il file %1 non è stato riconosciuto come un file audio valido."
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "Estensione file"
@@ -2137,7 +2141,7 @@ msgstr "Nome file"
msgid "Filename:"
msgstr "Nome del file:"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "File"
@@ -2191,6 +2195,15 @@ msgstr ""
msgid "Font size"
msgstr ""
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr ""
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "Forza codifica mono"
@@ -2274,7 +2287,7 @@ msgid "Genius Authentication"
msgstr ""
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2374,7 +2387,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "Raggruppa per genere/artista/album"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2556,6 +2569,10 @@ msgid ""
"audiophiles."
msgstr ""
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "Salta subito al brano precedente"
@@ -2620,7 +2637,7 @@ msgid "Left"
msgstr "Sinistra"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "Durata"
@@ -2838,7 +2855,7 @@ msgstr "Nome utente o password di Subsonic mancante."
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr ""
@@ -2924,7 +2941,7 @@ msgstr "Punti di mount"
msgid "Move down"
msgstr "Sposta in basso"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "Sposta nella raccolta..."
@@ -2933,7 +2950,7 @@ msgstr "Sposta nella raccolta..."
msgid "Move up"
msgstr "Sposta in alto"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "Musica"
@@ -2978,7 +2995,7 @@ msgstr "Non iniziare mai la riproduzione"
msgid "New folder"
msgstr "Nuova cartella"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "Nuova scaletta"
@@ -3022,7 +3039,7 @@ msgstr "Nessuna copertina da esportare."
msgid "No long blocks"
msgstr "Nessun blocco lungo"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "Nessuna corrispondenza."
@@ -3050,7 +3067,7 @@ msgstr "Nessuna canzone in riproduzione"
msgid "None"
msgstr "Nessuna"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "None of the selected songs were suitable for copying to a device"
msgstr ""
@@ -3078,7 +3095,7 @@ msgstr ""
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "Non sei autenticato con Tidal."
@@ -3118,6 +3135,13 @@ msgstr "Anteprima OSD"
msgid "Off"
msgstr "Spento"
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
#: osd/osdbase.cpp:245
msgid "On"
msgstr "Acceso"
@@ -3183,7 +3207,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr ""
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr ""
@@ -3197,7 +3221,7 @@ msgid "Original tags"
msgstr "Tag originali"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "Anno originale"
@@ -3256,7 +3280,7 @@ msgstr "Festa"
msgid "Password"
msgstr "Password"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "Pausa"
@@ -3270,7 +3294,7 @@ msgid "Paused"
msgstr "In pausa"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3284,8 +3308,8 @@ msgstr "Pixel"
msgid "Plain sidebar"
msgstr "Barra laterale semplice"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "Riproduci"
@@ -3348,7 +3372,7 @@ msgstr ""
msgid "Playlist finished"
msgstr "Scaletta terminata"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3368,7 +3392,7 @@ msgstr "Opzioni della scaletta"
msgid "Playlist type"
msgstr ""
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "Playlist"
@@ -3494,7 +3518,7 @@ msgstr "Avanzamento"
msgid "Put songs in a random order"
msgstr ""
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr "Qobuz"
@@ -3517,24 +3541,24 @@ msgstr "Qualità"
msgid "Querying device..."
msgstr "Interrogazione dispositivo..."
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "Coda"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "Accoda le tracce selezionate"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr "Accoda i brani selezionati per riprodurli successivamente"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "Accoda cosa riprodurre dopo"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3729,7 +3753,7 @@ msgstr ""
msgid "Rescan song(s)"
msgstr "Riscansiona canzone/i"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr ""
@@ -3737,7 +3761,7 @@ msgstr ""
msgid "Reset"
msgstr "Azzera"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "Azzera i contatori"
@@ -3844,7 +3868,7 @@ msgid "Safely remove the device after copying"
msgstr "Rimuovi il dispositivo in sicurezza al termine della copia"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3904,7 +3928,7 @@ msgstr "Gestore raggruppamenti salvati"
msgid "Saving album covers"
msgstr "Salvataggio delle copertine dell'album"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "Salvataggio tracce in corso"
@@ -4039,7 +4063,7 @@ msgstr "L'URL del server non è valido."
msgid "Server-side scrobbling"
msgstr ""
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "Imposta %1 a \"%2\"..."
@@ -4127,7 +4151,7 @@ msgstr "Mostra la copertina dell'album nella collezione"
msgid "Show albums by artist"
msgstr "Mostra gli album in base all'artista"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "Mostra tutti i brani"
@@ -4151,7 +4175,7 @@ msgstr "Mostra l'engine ed il dispositivo"
msgid "Show fullsize..."
msgstr "Mostra a dimensioni originali..."
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "Mostra nella raccolta..."
@@ -4159,7 +4183,7 @@ msgstr "Mostra nella raccolta..."
msgid "Show in file browser"
msgstr "Mostra nel browser di file"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "Mostra nel navigatore file..."
@@ -4176,11 +4200,11 @@ msgstr "Mostra il pulsante love"
msgid "Show moodbar"
msgstr "Mostra la barra dell'umore"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "Mostra solo i duplicati"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "Mostra solo i brani senza tag"
@@ -4269,11 +4293,11 @@ msgstr "Salta il conteggio"
msgid "Skip forwards in playlist"
msgstr "Salta in avanti nella scaletta"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "Salta le tracce selezionate"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "Salta la traccia"
@@ -4289,7 +4313,7 @@ msgstr "Pannello laterale piccolo"
msgid "Smart playlist"
msgstr ""
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr ""
@@ -4374,7 +4398,7 @@ msgstr "Ferma dopo ogni traccia"
msgid "Stop after every track"
msgstr "Ferma dopo tutte le tracce"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "Ferma dopo questa traccia"
@@ -4435,6 +4459,21 @@ msgid ""
"on %1"
msgstr ""
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr ""
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Strawberry non ha trovato risultati per questo file"
@@ -4459,7 +4498,7 @@ msgstr "Allarga l'immagine per riempire la playlist"
msgid "Submit scrobbles every"
msgstr "Invia gli scrobbles ogni"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4585,7 +4624,7 @@ msgstr "Il sito richiesto non esiste!"
msgid "The site you requested is not an image!"
msgstr "Il sito richiesto non è un'immagine!"
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4695,7 +4734,7 @@ msgstr ""
msgid "This type of device is not supported: %1"
msgstr "Questi tipo di dispositivo non è supportato: %1"
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4710,7 +4749,7 @@ msgstr ""
msgid "Time step"
msgstr "Intervallo di tempo"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4721,7 +4760,7 @@ msgstr "Titolo"
msgid "Today"
msgstr "Oggi"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "Cambia lo stato della coda"
@@ -4729,7 +4768,7 @@ msgstr "Cambia lo stato della coda"
msgid "Toggle scrobbling"
msgstr "Commuta lo scrobbling"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
msgid "Toggle skip status"
msgstr "Attiva / Disattiva lo status di ignoramento"
@@ -4757,7 +4796,7 @@ msgstr "Totale byte trasferiti"
msgid "Total network requests made"
msgstr "Totale richieste di rete effettuate"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4815,8 +4854,8 @@ msgstr "Banda ultra larga (UWB)"
msgid "Unknown"
msgstr "Sconosciuto"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "Errore sconosciuto"
@@ -4824,11 +4863,11 @@ msgstr "Errore sconosciuto"
msgid "Unset cover"
msgstr "Rimuovi copertina"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "Ripristina le tracce selezionate"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "Ripristina la traccia"
@@ -5064,7 +5103,7 @@ msgid ""
"well?"
msgstr ""
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr "Vuoi eseguire subito una nuova scansione completa?"
@@ -5073,7 +5112,7 @@ msgid "Write metadata when saving playlists"
msgstr "Scrivi i metadata quando si salvano le playlist"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211

View File

@@ -549,7 +549,7 @@ msgstr "디렉터리와 모든 하위 디렉터리의 트랙을 추가합니다"
msgid "Add directory..."
msgstr "디렉터리 추가..."
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "파일 추가"
@@ -565,7 +565,7 @@ msgstr "변환할 파일 추가"
msgid "Add files to transcode"
msgstr "변환할 파일 추가"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "폴더 추가"
@@ -668,7 +668,7 @@ msgstr ""
msgid "Add to albums"
msgstr "앨범에 추가"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "다른 재생 목록에 추가"
@@ -727,7 +727,7 @@ msgid "Albu&m cover"
msgstr "앨범아트(&M)"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -747,7 +747,7 @@ msgid "Album - Disc"
msgstr "앨범 - 디스크"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -787,7 +787,7 @@ msgstr "앨범아트가 있는 앨범"
msgid "Albums without covers"
msgstr "앨범아트가 없는 앨범"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "모든 파일 (*)"
@@ -833,7 +833,7 @@ msgstr "항상 재생 시작"
msgid "An error occurred loading the iTunes database"
msgstr "iTunes 데이터베이스를 불러오는 중 오류 발생"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr "'%1'에 메타데이터를 쓰는 중 오류 발생"
@@ -882,12 +882,12 @@ msgstr ""
msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr "\"%1\" 사전 설정을 지우시겠습니까?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr "이 곡의 통계를 초기화하시겠습니까?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -895,7 +895,7 @@ msgstr "이 곡의 통계를 초기화하시겠습니까?"
msgid "Artist"
msgstr "아티스트"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "아티스트 이니셜"
@@ -1031,7 +1031,7 @@ msgid "Best"
msgstr "최고"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
msgid "Bit depth"
@@ -1052,7 +1052,7 @@ msgstr "비트 전송률"
msgid "Bitrate"
msgstr "비트 전송률"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr ""
@@ -1097,7 +1097,7 @@ msgstr "버퍼"
msgid "Buffer duration"
msgstr "버퍼 시간"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "버퍼링"
@@ -1117,7 +1117,7 @@ msgstr "CDDA"
msgid "Cancel"
msgstr ""
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "취소됨."
@@ -1137,7 +1137,7 @@ msgstr "지금 재생 중인 음악 변경"
msgid "Change the language"
msgstr "언어 변경"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "업데이트 확인..."
@@ -1182,7 +1182,7 @@ msgstr "비우기"
msgid "Clear Disk Cache"
msgstr "디스크 캐시 비우기"
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "재생 목록 비우기"
@@ -1234,7 +1234,7 @@ msgstr "이 창을 닫으면 앨범아트 검색을 정지합니다."
msgid "Club"
msgstr "클럽"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "모음집"
@@ -1247,7 +1247,7 @@ msgstr "라이브러리 필터"
msgid "Collection advanced grouping"
msgstr "라이브러리 고급 그룹"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "모음집 재탐색 알림"
@@ -1264,7 +1264,7 @@ msgid "Comma separated list of class:level, level is 0-3"
msgstr "쉼표로 구분된 class:level 목록, level은 0-3"
#: playlist/playlist.cpp:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "설명"
@@ -1281,7 +1281,7 @@ msgid "Complete tags automatically..."
msgstr "자동으로 태그 완성..."
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1308,7 +1308,7 @@ msgstr "%1 설정..."
msgid "Configure buttons"
msgstr ""
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "모음집 설정..."
@@ -1324,7 +1324,7 @@ msgstr "콘솔"
msgid "Constant bitrate"
msgstr "고정 비트 전송률"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "지금 재생"
@@ -1344,7 +1344,7 @@ msgstr "모든 곡 변환"
msgid "Convert any music that the device can't play"
msgstr "장치에서 재생할 수 없는 곡 변환"
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr ""
@@ -1352,7 +1352,7 @@ msgstr ""
msgid "Copy album cover artwork"
msgstr "앨범아트 복사"
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "라이브러리로 복사..."
@@ -1361,7 +1361,7 @@ msgstr "라이브러리로 복사..."
msgid "Copy to device"
msgstr ""
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1597,7 +1597,7 @@ msgstr "파일 삭제"
msgid "Delete from device..."
msgstr "장치에서 삭제..."
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "디스크에서 삭제..."
@@ -1619,11 +1619,11 @@ msgstr "원본 파일 삭제"
msgid "Deleting files"
msgstr "파일 삭제 중"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "선택한 트랙을 대기열에서 삭제"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "대기열에서 트랙 삭제"
@@ -1649,7 +1649,7 @@ msgstr "장치 속성"
msgid "Device properties..."
msgstr "장치 속성..."
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "장치"
@@ -1671,7 +1671,7 @@ msgid "Disabled"
msgstr "사용 안 함"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1706,6 +1706,10 @@ msgstr "이미지 자르지 않기"
msgid "Do not overwrite"
msgstr "덮어쓰지 않기"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr ""
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "반복하지 않기"
@@ -1764,7 +1768,7 @@ msgstr ""
msgid "Edit smart playlist..."
msgstr ""
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "\"%1\" 태그 편집..."
@@ -1914,7 +1918,7 @@ msgstr "--log-levels *:1과 동일함"
msgid "Equivalent to --log-levels *:3"
msgstr "--log-levels *:3과 동일함"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "오류"
@@ -2080,7 +2084,7 @@ msgstr "표지 가져오기 오류"
msgid "File %1 is not recognized as a valid audio file."
msgstr "%1 파일은 올바른 오디오 파일이 아닌 것 같습니다."
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "파일 확장자"
@@ -2118,7 +2122,7 @@ msgstr "파일 이름"
msgid "Filename:"
msgstr "파일 이름:"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "파일"
@@ -2172,6 +2176,15 @@ msgstr "제목 폰트 설정"
msgid "Font size"
msgstr "글자 크기"
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr ""
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "모노 인코딩 강제"
@@ -2253,7 +2266,7 @@ msgid "Genius Authentication"
msgstr ""
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2352,7 +2365,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "장르/아티스트/앨범으로 그룹"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2527,6 +2540,10 @@ msgid ""
"audiophiles."
msgstr ""
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "바로 이전 곡으로 이동"
@@ -2591,7 +2608,7 @@ msgid "Left"
msgstr "왼쪽"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "길이"
@@ -2809,7 +2826,7 @@ msgstr "Subsonic 사용자 이름이나 암호가 없습니다."
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr ""
@@ -2895,7 +2912,7 @@ msgstr "마운트 지점"
msgid "Move down"
msgstr "아래로 이동"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "모음집으로 이동..."
@@ -2904,7 +2921,7 @@ msgstr "모음집으로 이동..."
msgid "Move up"
msgstr "위로 이동"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "음악"
@@ -2949,7 +2966,7 @@ msgstr "재생을 시작하지 않음"
msgid "New folder"
msgstr "새 폴더"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "새로운 재생 목록"
@@ -2993,7 +3010,7 @@ msgstr "내보낼 표지가 없습니다."
msgid "No long blocks"
msgstr "긴 블록 없음"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "일치하는 결과가 없습니다."
@@ -3019,7 +3036,7 @@ msgstr "재생 중인 곡 없음"
msgid "None"
msgstr "없음"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "None of the selected songs were suitable for copying to a device"
msgstr "선택한 음악을 장치에 복사하기에 적합하지 않음"
@@ -3044,7 +3061,7 @@ msgstr "Tidal에 인증되지 않았으며 최대 로그인 시도 횟수에 도
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "Tidal에 인증되지 않았습니다."
@@ -3084,6 +3101,13 @@ msgstr "OSD 미리 보기"
msgid "Off"
msgstr "꺼짐"
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
#: osd/osdbase.cpp:245
msgid "On"
msgstr "켜짐"
@@ -3149,7 +3173,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr ""
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr ""
@@ -3163,7 +3187,7 @@ msgid "Original tags"
msgstr "원본 태그"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "원본 년도"
@@ -3222,7 +3246,7 @@ msgstr "파티"
msgid "Password"
msgstr "암호"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "일시 정지"
@@ -3236,7 +3260,7 @@ msgid "Paused"
msgstr "일시 정지됨"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3250,8 +3274,8 @@ msgstr "픽셀"
msgid "Plain sidebar"
msgstr "일반 사이드바"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "재생"
@@ -3314,7 +3338,7 @@ msgstr ""
msgid "Playlist finished"
msgstr "재생 목록 끝남"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3334,7 +3358,7 @@ msgstr "재생 목록 옵션"
msgid "Playlist type"
msgstr ""
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "재생 목록"
@@ -3454,7 +3478,7 @@ msgstr "진행"
msgid "Put songs in a random order"
msgstr ""
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr "Qobuz"
@@ -3477,24 +3501,24 @@ msgstr "음질"
msgid "Querying device..."
msgstr "장치 질의 중..."
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "대기열"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "선택한 트랙을 대기열에 추가"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr "선택한 트랙을 다음에 재생하도록 대기열에 추가"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "다음에 재생할 대기열에 추가"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3689,7 +3713,7 @@ msgstr ""
msgid "Rescan song(s)"
msgstr "노래 다시 검색"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr ""
@@ -3697,7 +3721,7 @@ msgstr ""
msgid "Reset"
msgstr "초기화"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "재생 횟수 초기화"
@@ -3802,7 +3826,7 @@ msgid "Safely remove the device after copying"
msgstr "복사 후 안전하게 장치 제거"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3862,7 +3886,7 @@ msgstr "그룹 관리자 저장됨"
msgid "Saving album covers"
msgstr "앨범아트 저장 중"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "트랙 저장 중"
@@ -3995,7 +4019,7 @@ msgstr "서버 URL이 잘못되었습니다."
msgid "Server-side scrobbling"
msgstr ""
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "%1을(를) \"%2\"(으)로 설정..."
@@ -4082,7 +4106,7 @@ msgstr "앨범 목록에 앨범아트 표시"
msgid "Show albums by artist"
msgstr "아티스트별로 앨범 표시"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "모든 곡 표시"
@@ -4106,7 +4130,7 @@ msgstr "엔진과 장치 표시"
msgid "Show fullsize..."
msgstr "전체 크기 표시..."
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "라이브러리에 표시..."
@@ -4114,7 +4138,7 @@ msgstr "라이브러리에 표시..."
msgid "Show in file browser"
msgstr "파일 탐색기에 표시"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "파일 탐색기에 표시..."
@@ -4131,11 +4155,11 @@ msgstr "좋아요 단추 표시"
msgid "Show moodbar"
msgstr "무드바 표시"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "복사본만 표시"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "태그되지 않은 것만 표시"
@@ -4224,11 +4248,11 @@ msgstr "건너뛴 횟수"
msgid "Skip forwards in playlist"
msgstr "재생 목록의 다음 곡으로 전환"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "선택한 트랙 건너뛰기"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "트랙 건너뛰기"
@@ -4244,7 +4268,7 @@ msgstr "작은 사이드바"
msgid "Smart playlist"
msgstr ""
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr ""
@@ -4327,7 +4351,7 @@ msgstr "각각 트랙이 끝난 후 정지"
msgid "Stop after every track"
msgstr "모든 트랙 이후에 정지"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "현재 트랙 이후 정지"
@@ -4385,6 +4409,21 @@ msgid ""
"on %1"
msgstr ""
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr ""
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Strawberry에서 이 파일의 결과를 찾을 수 없습니다"
@@ -4409,7 +4448,7 @@ msgstr "이미지를 재생 목록 크기로 늘려서 맞춤"
msgid "Submit scrobbles every"
msgstr "스크로블 제출 주기"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4535,7 +4574,7 @@ msgstr "요청한 사이트가 존재하지 않습니다!"
msgid "The site you requested is not an image!"
msgstr "요청한 사이트는 이미지가 아닙니다!"
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4623,7 +4662,7 @@ msgstr "이 옵션은 \"행동\" 설정에서 변경할 수 있습니다"
msgid "This type of device is not supported: %1"
msgstr "다음 장치의 형식은 지원하지 않습니다: %1"
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4638,7 +4677,7 @@ msgstr ""
msgid "Time step"
msgstr "시간 간격"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4649,7 +4688,7 @@ msgstr "제목"
msgid "Today"
msgstr "오늘"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "대기열 상태 전환"
@@ -4657,7 +4696,7 @@ msgstr "대기열 상태 전환"
msgid "Toggle scrobbling"
msgstr "스크로블 전환"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
msgid "Toggle skip status"
msgstr "건너뛰기 상태 전환"
@@ -4685,7 +4724,7 @@ msgstr "전송된 총 바이트"
msgid "Total network requests made"
msgstr "총 네트워크 요청 수"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4743,8 +4782,8 @@ msgstr "초광대역(UWB)"
msgid "Unknown"
msgstr "알 수 없음"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "알 수 없는 오류"
@@ -4752,11 +4791,11 @@ msgstr "알 수 없는 오류"
msgid "Unset cover"
msgstr "표지 설정 해제"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "선택한 트랙 건너뛰기 해제"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "트랙 건너뛰기 해제"
@@ -4988,7 +5027,7 @@ msgid ""
"well?"
msgstr ""
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr "지금 전부 다시 검색하시겠습니까?"
@@ -4997,7 +5036,7 @@ msgid "Write metadata when saving playlists"
msgstr "재생 목록을 저장할 때 메타데이터 쓰기"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211

View File

@@ -552,7 +552,7 @@ msgstr "Legg til alle filer fra ei mappe og dens undermapper"
msgid "Add directory..."
msgstr "Legg til mappe…"
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "Legg til fil"
@@ -568,7 +568,7 @@ msgstr "Legg fil(er) til omkoder"
msgid "Add files to transcode"
msgstr "Legg filer til for omkoding"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "Legg til mappe"
@@ -671,7 +671,7 @@ msgstr ""
msgid "Add to albums"
msgstr "Legg til albumer"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "Legg til i annen spilleliste"
@@ -730,7 +730,7 @@ msgid "Albu&m cover"
msgstr "Albu&m kover"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -750,7 +750,7 @@ msgid "Album - Disc"
msgstr "Album - Disc"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -790,7 +790,7 @@ msgstr "Album med omslag"
msgid "Albums without covers"
msgstr "Album uten omslag"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "Alle filer (*)"
@@ -836,7 +836,7 @@ msgstr "Alltid start avspilling"
msgid "An error occurred loading the iTunes database"
msgstr "En feil oppsto ved innlasting av iTunes-databasen"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr "Det oppstod en feil når metadata skulle skrives til '%1'"
@@ -885,13 +885,13 @@ msgstr ""
msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr "Er du sikker på at du vil slette \"%1\"-forhåndsinnstillingen?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr ""
"Er du sikker på at du ønsker å nullstille statistikk for denne sangen?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -899,7 +899,7 @@ msgstr ""
msgid "Artist"
msgstr "Artist"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "Artistens initialer"
@@ -1035,7 +1035,7 @@ msgid "Best"
msgstr "Best"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
msgid "Bit depth"
@@ -1056,7 +1056,7 @@ msgstr "Bitrate"
msgid "Bitrate"
msgstr "Bitrate"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr ""
@@ -1101,7 +1101,7 @@ msgstr "Buffer"
msgid "Buffer duration"
msgstr "Mellomlagringslengde"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "Mellomlagring"
@@ -1121,7 +1121,7 @@ msgstr "CDDA"
msgid "Cancel"
msgstr ""
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "Avbrutt"
@@ -1141,7 +1141,7 @@ msgstr "Bytt låten som spilles"
msgid "Change the language"
msgstr "Endre språk"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "Se etter oppdateringer…"
@@ -1186,7 +1186,7 @@ msgstr "Tøm"
msgid "Clear Disk Cache"
msgstr ""
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "Tøm spillelisten"
@@ -1239,7 +1239,7 @@ msgstr "Lukking av dette vinduet vil medføre stopp i søk etter albumomslag."
msgid "Club"
msgstr "Klubbmusikk"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "Samling"
@@ -1252,7 +1252,7 @@ msgstr "Collection Filter"
msgid "Collection advanced grouping"
msgstr "Avansert samlingsgruppering"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "Melding om gjennomsøk av samlingen"
@@ -1269,7 +1269,7 @@ 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:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "Kommentar"
@@ -1286,7 +1286,7 @@ msgid "Complete tags automatically..."
msgstr "Full ut etiketter automatisk…"
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1313,7 +1313,7 @@ msgstr "Sett opp %1…"
msgid "Configure buttons"
msgstr ""
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "Sett opp samling…"
@@ -1329,7 +1329,7 @@ msgstr "Konsoll"
msgid "Constant bitrate"
msgstr "Konstant bitrate"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "Kontekst"
@@ -1350,7 +1350,7 @@ msgstr "Konverter all musikk"
msgid "Convert any music that the device can't play"
msgstr "Konverter all musikk som enheten ikke kan spille"
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr ""
@@ -1358,7 +1358,7 @@ msgstr ""
msgid "Copy album cover artwork"
msgstr "Kopier album omslaggrafikk"
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "Kopier til samling…"
@@ -1367,7 +1367,7 @@ msgstr "Kopier til samling…"
msgid "Copy to device"
msgstr ""
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1608,7 +1608,7 @@ msgstr "Slett filer"
msgid "Delete from device..."
msgstr "Slett fra enhet…"
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "Slett fra disk…"
@@ -1630,11 +1630,11 @@ msgstr "Slett de originale filene"
msgid "Deleting files"
msgstr "Sletter filer"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "Fjern valgte spor fra avspillingskøen"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "Fjern sporet fra avspillingskøen"
@@ -1660,7 +1660,7 @@ msgstr "Egenskaper for enhet"
msgid "Device properties..."
msgstr "Egenskaper for enhet…"
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "Enheter"
@@ -1682,7 +1682,7 @@ msgid "Disabled"
msgstr "Avskrudd"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1717,6 +1717,10 @@ msgstr "Ikke kutt bildet"
msgid "Do not overwrite"
msgstr "Ikke overskriv"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr ""
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "Ikke gjenta"
@@ -1775,7 +1779,7 @@ msgstr ""
msgid "Edit smart playlist..."
msgstr ""
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "Rediger etiketten \"%1\"…"
@@ -1925,7 +1929,7 @@ msgstr "Tilsvarer --log-levels *:1"
msgid "Equivalent to --log-levels *:3"
msgstr "Tilsvarer --log-levels *:3"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "Feil"
@@ -2091,7 +2095,7 @@ msgstr "Kunne ikke hente albumgrafikk"
msgid "File %1 is not recognized as a valid audio file."
msgstr "Fil %1 er ikke gjenkjent som en lydfil"
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "Fil etternavn"
@@ -2129,7 +2133,7 @@ msgstr "Filnavn"
msgid "Filename:"
msgstr "Filnavn:"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "Filer"
@@ -2183,6 +2187,15 @@ msgstr ""
msgid "Font size"
msgstr ""
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr ""
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "Tving monolyd-koding"
@@ -2265,7 +2278,7 @@ msgid "Genius Authentication"
msgstr ""
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2364,7 +2377,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "Grupper etter sjanger/artist/album"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2542,6 +2555,10 @@ msgid ""
"audiophiles."
msgstr ""
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "Gå til forrige sang nå"
@@ -2606,7 +2623,7 @@ msgid "Left"
msgstr "Venstre"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "Lengde"
@@ -2824,7 +2841,7 @@ msgstr "Mangler Subsonic brukernavn eller passord."
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr ""
@@ -2910,7 +2927,7 @@ msgstr "Monteringspunkter"
msgid "Move down"
msgstr "Flytt nedover"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "Flytt til samling…"
@@ -2919,7 +2936,7 @@ msgstr "Flytt til samling…"
msgid "Move up"
msgstr "Flytt oppover"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "Musikk"
@@ -2964,7 +2981,7 @@ msgstr "Aldri begynn avspilling"
msgid "New folder"
msgstr "Ny mappe"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "Ny spilleliste"
@@ -3008,7 +3025,7 @@ msgstr "Ingen omslag å eksportere."
msgid "No long blocks"
msgstr "Ingen lange blokker"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "Ingen treff."
@@ -3034,7 +3051,7 @@ msgstr "Ingen sang spilles"
msgid "None"
msgstr "Ingen"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "None of the selected songs were suitable for copying to a device"
msgstr "Kunne ikke kopiere noen av de valgte sangene til en enhet"
@@ -3059,7 +3076,7 @@ msgstr "Autentisering med Tidal har nådd maksimalt antall påloggingsforsøk."
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "Ikke autentisert med Tidal."
@@ -3099,6 +3116,13 @@ msgstr "Forhåndsvisning av skjermbildeoverlegg"
msgid "Off"
msgstr "Av"
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
#: osd/osdbase.cpp:245
msgid "On"
msgstr "På"
@@ -3164,7 +3188,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr ""
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr ""
@@ -3178,7 +3202,7 @@ msgid "Original tags"
msgstr "Opprinnelige tagger"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "Opprinnelig år"
@@ -3237,7 +3261,7 @@ msgstr "Fest"
msgid "Password"
msgstr "Passord"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "Pause"
@@ -3251,7 +3275,7 @@ msgid "Paused"
msgstr "På pause"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3265,8 +3289,8 @@ msgstr "Piksel"
msgid "Plain sidebar"
msgstr "Enkelt sidefelt"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "Spill"
@@ -3329,7 +3353,7 @@ msgstr ""
msgid "Playlist finished"
msgstr "Spillelisten er ferdigspilt"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3349,7 +3373,7 @@ msgstr "Innstillinger for spilleliste"
msgid "Playlist type"
msgstr ""
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "Spillelister"
@@ -3470,7 +3494,7 @@ msgstr "Framdrift"
msgid "Put songs in a random order"
msgstr ""
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr "Qobuz"
@@ -3493,24 +3517,24 @@ msgstr "Kvalitet"
msgid "Querying device..."
msgstr "Spør enhet…"
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "Kø"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "Legg valgte spor i kø"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr "Legg valgte spor i kø for å spille som neste"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "Legg i kø for å spille som neste"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3705,7 +3729,7 @@ msgstr ""
msgid "Rescan song(s)"
msgstr "Reskann sang(er)"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr ""
@@ -3713,7 +3737,7 @@ msgstr ""
msgid "Reset"
msgstr "Tilbakestill"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "Tilbakestill avspillingsteller"
@@ -3820,7 +3844,7 @@ msgid "Safely remove the device after copying"
msgstr "Kjør trygg fjerning av enhet etter kopiering"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3880,7 +3904,7 @@ msgstr "Behandler for lagrede grupperinger"
msgid "Saving album covers"
msgstr "Lagrer album kover"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "Lagrer spor"
@@ -4013,7 +4037,7 @@ msgstr "Server URL er ugyldig."
msgid "Server-side scrobbling"
msgstr ""
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "Sett %1 til \"%2\"…"
@@ -4100,7 +4124,7 @@ msgstr "Vis albumbilder i samlingen"
msgid "Show albums by artist"
msgstr "Vis albumer med artist"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "Vis alle sanger"
@@ -4124,7 +4148,7 @@ msgstr "Vis motor og enhet"
msgid "Show fullsize..."
msgstr "Fullskjermvisning…"
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "Vis i samling…"
@@ -4132,7 +4156,7 @@ msgstr "Vis i samling…"
msgid "Show in file browser"
msgstr "Vis i fil utforsker"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "Vis i fil utforsker"
@@ -4149,11 +4173,11 @@ msgstr "Vis love knapp"
msgid "Show moodbar"
msgstr "Vis moodbar"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "Bare vis duplikater"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "Bare vis filer uten etiketter"
@@ -4242,11 +4266,11 @@ msgstr "Antall ganger hoppet over"
msgid "Skip forwards in playlist"
msgstr "Gå fremover i spillelista"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "Hopp over valgte spor"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "Hopp over spor"
@@ -4262,7 +4286,7 @@ msgstr "Lite sidefelt"
msgid "Smart playlist"
msgstr ""
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr ""
@@ -4346,7 +4370,7 @@ msgstr "Stopp etter hvert spor"
msgid "Stop after every track"
msgstr "Stopp etter hvert spor"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "Stopp etter denne sangen"
@@ -4406,6 +4430,21 @@ msgid ""
"on %1"
msgstr ""
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr ""
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Strawberry klarte ikke å finne resultater for denne filen"
@@ -4430,7 +4469,7 @@ msgstr "Utvid bildet til å fylle spilleliste"
msgid "Submit scrobbles every"
msgstr "Send scrobbles hver"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4556,7 +4595,7 @@ msgstr "Siden du forespurte finnes ikke!"
msgid "The site you requested is not an image!"
msgstr "Siden du forespurte er ikke et bilde!"
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4659,7 +4698,7 @@ msgstr "Dette valget kan endres under innstillinger for \"Oppførsel\""
msgid "This type of device is not supported: %1"
msgstr "Denne enhetstypen (%1) støttes ikke."
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4674,7 +4713,7 @@ msgstr ""
msgid "Time step"
msgstr "Tidstrinn"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4685,7 +4724,7 @@ msgstr "Tittel"
msgid "Today"
msgstr "I dag"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "Slå av/på køstatus"
@@ -4693,7 +4732,7 @@ msgstr "Slå av/på køstatus"
msgid "Toggle scrobbling"
msgstr "Slå av/på deling av lyttevaner"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
msgid "Toggle skip status"
msgstr "Slå av/på hopp over status"
@@ -4721,7 +4760,7 @@ msgstr "Antall byte overført totalt"
msgid "Total network requests made"
msgstr "Antall nettverkforespørsler totalt"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4779,8 +4818,8 @@ msgstr "Ultrabredt bånd (UWB)"
msgid "Unknown"
msgstr "Ukjent"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "Ukjent feil"
@@ -4788,11 +4827,11 @@ msgstr "Ukjent feil"
msgid "Unset cover"
msgstr "Fjern omslagsvalg"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "Ikke hopp over de valgte sporene"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "Ikke hopp over sporet"
@@ -5026,7 +5065,7 @@ msgid ""
"well?"
msgstr ""
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr "Vil du søke gjennom hele samlingen på ny nå?"
@@ -5035,7 +5074,7 @@ msgid "Write metadata when saving playlists"
msgstr "Skrev metadata når spilleliste lagres"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211

View File

@@ -570,7 +570,7 @@ msgstr ""
msgid "Add directory..."
msgstr "Dodaj katalog…"
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "Dodaj plik"
@@ -586,7 +586,7 @@ msgstr "Dodaj plik(i) do transkodera"
msgid "Add files to transcode"
msgstr "Dodaj pliki to transkodowania"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "Dodaj katalog"
@@ -689,7 +689,7 @@ msgstr "Dodaj strumień…"
msgid "Add to albums"
msgstr "Dodaj do albumów"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "Dodaj do innej listy odtwarzania"
@@ -748,7 +748,7 @@ msgid "Albu&m cover"
msgstr "Okładka albu&mu"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -768,7 +768,7 @@ msgid "Album - Disc"
msgstr "Album - Płyta"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -808,7 +808,7 @@ msgstr "Albumy z okładkami"
msgid "Albums without covers"
msgstr "Albumy bez okładek"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "Wszystkie pliki (*)"
@@ -854,7 +854,7 @@ msgstr "Odtwarzaj automatycznie"
msgid "An error occurred loading the iTunes database"
msgstr "Wystąpił błąd podczas ładowania bazy danych iTunes"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr "Wystąpił błąd podczas zapisu metadanych do '%1'"
@@ -903,12 +903,12 @@ msgstr "Na pewno chcesz kontynuować?"
msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr "Na pewno chcesz usunąć ustawienie „%1”?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr "Na pewno wyzerować statystyki tego utworu?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -916,7 +916,7 @@ msgstr "Na pewno wyzerować statystyki tego utworu?"
msgid "Artist"
msgstr "Artysta"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "Inicjały artysty"
@@ -1052,7 +1052,7 @@ msgid "Best"
msgstr "Najlepsza"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
msgid "Bit depth"
@@ -1073,7 +1073,7 @@ msgstr "Przepływność"
msgid "Bitrate"
msgstr "Przepływność"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr "Przepływność"
@@ -1118,7 +1118,7 @@ msgstr "Bufor"
msgid "Buffer duration"
msgstr "Długość bufora"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "Buforowanie"
@@ -1138,7 +1138,7 @@ msgstr "CD-Audio"
msgid "Cancel"
msgstr "Anuluj"
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "Anulowano."
@@ -1158,7 +1158,7 @@ msgstr "Zmień aktualnie odtwarzany utwór"
msgid "Change the language"
msgstr "Zmień język"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "Sprawdź dostępność aktualizacji…"
@@ -1203,7 +1203,7 @@ msgstr "Wyczyść"
msgid "Clear Disk Cache"
msgstr "Wyczyść pamięć podręczną na dysku"
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "Wyczyść listę odtwarzania"
@@ -1258,7 +1258,7 @@ msgstr ""
msgid "Club"
msgstr "Klubowa"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "Kolekcja"
@@ -1271,7 +1271,7 @@ msgstr "Filtr kolekcji"
msgid "Collection advanced grouping"
msgstr "Zaawansowanie grupowanie kolekcji"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "Konieczność odświeżenia kolekcji"
@@ -1290,7 +1290,7 @@ msgstr ""
"do 3"
#: playlist/playlist.cpp:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "Komentarz"
@@ -1307,7 +1307,7 @@ msgid "Complete tags automatically..."
msgstr "Automatycznie uzupełnij znaczniki…"
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1334,7 +1334,7 @@ msgstr "Skonfiguruj %1…"
msgid "Configure buttons"
msgstr "Konfiguracja przycisków"
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "Konfiguruj bibliotekę…"
@@ -1350,7 +1350,7 @@ msgstr "Konsola"
msgid "Constant bitrate"
msgstr "Stała przepływność (CBR)"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "Kontekst"
@@ -1370,7 +1370,7 @@ msgstr "Przekonwertuj całą muzykę"
msgid "Convert any music that the device can't play"
msgstr "Przekonwertuj muzykę, której nie może odtworzyć urządzenie"
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr "Skopiuj adres(y) URL…"
@@ -1378,7 +1378,7 @@ msgstr "Skopiuj adres(y) URL…"
msgid "Copy album cover artwork"
msgstr "Skopiuj okładki albumów"
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "Skopiuj do kolekcji…"
@@ -1387,7 +1387,7 @@ msgstr "Skopiuj do kolekcji…"
msgid "Copy to device"
msgstr ""
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1630,7 +1630,7 @@ msgstr "Usuń pliki"
msgid "Delete from device..."
msgstr "Usuń z urządzenia…"
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "Usuń z dysku…"
@@ -1652,11 +1652,11 @@ msgstr "Usuń oryginalne pliki"
msgid "Deleting files"
msgstr "Usuwanie plików"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "Usuń zaznaczone ścieżki z kolejki"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "Usuń ścieżkę z kolejki"
@@ -1682,7 +1682,7 @@ msgstr "Właściwości urządzenia"
msgid "Device properties..."
msgstr "Właściwości urządzenia…"
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "Urządzenia"
@@ -1704,7 +1704,7 @@ msgid "Disabled"
msgstr "Wyłączone"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1739,6 +1739,10 @@ msgstr "Nie przycinaj obrazu"
msgid "Do not overwrite"
msgstr "Nie nadpisuj"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr ""
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "Nie powtarzaj"
@@ -1797,7 +1801,7 @@ msgstr ""
msgid "Edit smart playlist..."
msgstr ""
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "Edytuj znacznik „%1”…"
@@ -1949,7 +1953,7 @@ msgstr "Równoważne z --log-levels *:1"
msgid "Equivalent to --log-levels *:3"
msgstr "Równoważne z --log-levels *:3"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "Błąd"
@@ -2115,7 +2119,7 @@ msgstr "Błąd podczas pobierania okładki"
msgid "File %1 is not recognized as a valid audio file."
msgstr "Plik „%1” nie jest rozpoznany jako plik dźwiękowy."
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "Rozszerzenie pliku"
@@ -2153,7 +2157,7 @@ msgstr "Nazwa pliku"
msgid "Filename:"
msgstr "Nazwa pliku:"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "Pliki"
@@ -2207,6 +2211,15 @@ msgstr "Font nagłówka"
msgid "Font size"
msgstr "Rozmiar fontu"
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr ""
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "Wymuś kodowanie mono"
@@ -2290,7 +2303,7 @@ msgid "Genius Authentication"
msgstr "Uwierzytelnianie Geniusa"
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2391,7 +2404,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "Gatunek/Artysta/Album"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2576,6 +2589,10 @@ msgstr ""
"To jest fork Clementine, wydany w 2018 roku z myślą o kolekcjonerach muzyki "
"i audiofilach."
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "Natychmiast przeskocz do poprzedniego utworu"
@@ -2640,7 +2657,7 @@ msgid "Left"
msgstr "Lewy"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "Długość"
@@ -2858,7 +2875,7 @@ msgstr "Brakuje nazwy użytkownika lub hasła Subsonic."
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr "Brakuje tokenu API, nazwy użytkownika lub hasła Tidal."
@@ -2944,7 +2961,7 @@ msgstr "Punkty montowania"
msgid "Move down"
msgstr "Przesuń w dół"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "Przenieś do kolekcji…"
@@ -2953,7 +2970,7 @@ msgstr "Przenieś do kolekcji…"
msgid "Move up"
msgstr "Przesuń w górę"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "Muzyka"
@@ -2998,7 +3015,7 @@ msgstr "Nie odtwarzaj automatycznie"
msgid "New folder"
msgstr "Nowy katalog"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "Nowa lista odtwarzania"
@@ -3042,7 +3059,7 @@ msgstr "Brak okładek do wyeksportowania."
msgid "No long blocks"
msgstr "Bez długich bloków"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "Brak dopasowania."
@@ -3070,7 +3087,7 @@ msgstr "Żaden utwór nie jest odtwarzany"
msgid "None"
msgstr "Brak"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "None of the selected songs were suitable for copying to a device"
msgstr ""
@@ -3097,7 +3114,7 @@ msgstr ""
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "Nie uwierzytelniono w Tidal."
@@ -3137,6 +3154,13 @@ msgstr "Podgląd menu ekranowego (OSD)"
msgid "Off"
msgstr "Wył"
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
#: osd/osdbase.cpp:245
msgid "On"
msgstr "Wł"
@@ -3202,7 +3226,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr "Organizuj pliki"
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr "Organizuj pliki…"
@@ -3216,7 +3240,7 @@ msgid "Original tags"
msgstr "Oryginalne znaczniki"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "Oryginalny rok"
@@ -3275,7 +3299,7 @@ msgstr "Impreza"
msgid "Password"
msgstr "Hasło"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "Wstrzymaj"
@@ -3289,7 +3313,7 @@ msgid "Paused"
msgstr "Wstrzymane"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3303,8 +3327,8 @@ msgstr "Piksel"
msgid "Plain sidebar"
msgstr "Pasek boczny bez efektów"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "Odtwarzaj"
@@ -3369,7 +3393,7 @@ msgstr "Lista odtwarzania"
msgid "Playlist finished"
msgstr "Zakończono odtwarzanie listy"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3391,7 +3415,7 @@ msgstr "Opcje listy odtwarzania"
msgid "Playlist type"
msgstr ""
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "Listy odtw."
@@ -3517,7 +3541,7 @@ msgstr "Postęp"
msgid "Put songs in a random order"
msgstr ""
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr ""
@@ -3540,25 +3564,25 @@ msgstr "Jakość"
msgid "Querying device..."
msgstr "Odpytywanie urządzenia…"
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "Kolejka"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "Dodaj zaznaczone ścieżki do kolejki"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr ""
"Dodaj zaznaczone ścieżki do kolejki, aby odtworzyć w następnej kolejności"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "Dodaj do kolejki, aby następnie odtworzyć"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3756,7 +3780,7 @@ msgstr ""
msgid "Rescan song(s)"
msgstr "Przeskanuj utwór/utwory ponownie"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr "Przeskanuj ponownie utwory…"
@@ -3764,7 +3788,7 @@ msgstr "Przeskanuj ponownie utwory…"
msgid "Reset"
msgstr "Wyzeruj"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "Wyzeruj licznik odtworzeń"
@@ -3871,7 +3895,7 @@ msgid "Safely remove the device after copying"
msgstr "Bezpiecznie usuń urządzenie po skopiowaniu"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3931,7 +3955,7 @@ msgstr "Menedżer zapisanych grupowań"
msgid "Saving album covers"
msgstr "Zapisywanie okładek albumów"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "Zapisywanie ścieżek"
@@ -4064,7 +4088,7 @@ msgstr "Adres URL serwera jest niepoprawny."
msgid "Server-side scrobbling"
msgstr ""
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "Ustaw %1 na „%2”…"
@@ -4151,7 +4175,7 @@ msgstr "Pokazuj okładki albumów w kolekcji"
msgid "Show albums by artist"
msgstr "Pokazuj albumy artysty"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "Pokazuj wszystkie utwory"
@@ -4175,7 +4199,7 @@ msgstr "Pokazuj silnik i urządzenie"
msgid "Show fullsize..."
msgstr "Pokaż w pełnym rozmiarze…"
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "Pokaż w kolekcji…"
@@ -4183,7 +4207,7 @@ msgstr "Pokaż w kolekcji…"
msgid "Show in file browser"
msgstr "Pokaż w menedżerze plików"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "Pokaż w menedżerze plików…"
@@ -4200,11 +4224,11 @@ msgstr "Pokazuj przycisk ulubionych"
msgid "Show moodbar"
msgstr "Pokazuj pasek nastroju"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "Pokazuj tylko duplikaty"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "Pokazuj tylko nieoznaczone"
@@ -4293,11 +4317,11 @@ msgstr "Liczba pominięć utworu"
msgid "Skip forwards in playlist"
msgstr "Przeskocz w przód na liście odtwarzania"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "Pomiń zaznaczone ścieżki"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "Pomiń ścieżkę"
@@ -4313,7 +4337,7 @@ msgstr "Mały pasek boczny"
msgid "Smart playlist"
msgstr ""
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr ""
@@ -4397,7 +4421,7 @@ msgstr "Zatrzymaj po każdej ścieżce"
msgid "Stop after every track"
msgstr "Zatrzymaj po każdej ścieżce"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "Zatrzymaj po tej ścieżce"
@@ -4459,6 +4483,21 @@ msgstr ""
"Strawberry to wolne oprogramowanie wydane na zasadach GPL. Kod źródłowy "
"dostępny jest na %1"
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr ""
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Strawberry nie znalazł wyników dla tego pliku"
@@ -4483,7 +4522,7 @@ msgstr "Rozciągnij obraz, aby wypełnić listę odtwarzania"
msgid "Submit scrobbles every"
msgstr "Przesyłaj scrobble co"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4610,7 +4649,7 @@ msgstr "Żądana strona nie istnieje!"
msgid "The site you requested is not an image!"
msgstr "Żądana strona nie jest obrazem!"
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4712,7 +4751,7 @@ msgstr "Ta opcja może zostać zmieniona w ustawieniach „Zachowanie”"
msgid "This type of device is not supported: %1"
msgstr "Ten typ urządzenia nie jest obsługiwany: %1"
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4729,7 +4768,7 @@ msgstr ""
msgid "Time step"
msgstr "Odstęp czasu"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4740,7 +4779,7 @@ msgstr "Tytuł"
msgid "Today"
msgstr "Dzisiaj"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "Przełącz stan kolejki"
@@ -4748,7 +4787,7 @@ msgstr "Przełącz stan kolejki"
msgid "Toggle scrobbling"
msgstr "Włącz scrobling"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
msgid "Toggle skip status"
msgstr "Przełącz stan pominięcia"
@@ -4776,7 +4815,7 @@ msgstr "Całkowita liczba przesłanych bajtów"
msgid "Total network requests made"
msgstr "Całkowita liczba wykonanych zapytań sieciowych"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4834,8 +4873,8 @@ msgstr "Ultraszerokie pasmo (UWB)"
msgid "Unknown"
msgstr "nieznany"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "Nieznany błąd"
@@ -4843,11 +4882,11 @@ msgstr "Nieznany błąd"
msgid "Unset cover"
msgstr "Usuń okładkę"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "Nie pomijaj zaznaczonych ścieżek"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "Nie pomijaj ścieżki"
@@ -5087,7 +5126,7 @@ msgid ""
"well?"
msgstr ""
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr "Chcesz wykonać pełne skanowanie od nowa teraz?"
@@ -5096,7 +5135,7 @@ msgid "Write metadata when saving playlists"
msgstr "Zapisuj medatane podczas zapisywania list odtwarzania"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211

View File

@@ -576,7 +576,7 @@ msgstr "Добавить все треки из папки и её подпап
msgid "Add directory..."
msgstr "Добавить каталог…"
#: core/mainwindow.cpp:2101
#: core/mainwindow.cpp:2114
msgid "Add file"
msgstr "Добавить файл"
@@ -592,7 +592,7 @@ msgstr "Добавить файл(ы) в конвертер"
msgid "Add files to transcode"
msgstr "Добавить файлы для конвертирования"
#: core/mainwindow.cpp:2126 transcoder/transcodedialog.cpp:419
#: core/mainwindow.cpp:2139 transcoder/transcodedialog.cpp:419
msgid "Add folder"
msgstr "Добавить папку"
@@ -695,7 +695,7 @@ msgstr ""
msgid "Add to albums"
msgstr "Добавить в альбомы"
#: core/mainwindow.cpp:1909
#: core/mainwindow.cpp:1922
msgid "Add to another playlist"
msgstr "Добавить в другой плейлист"
@@ -754,7 +754,7 @@ msgid "Albu&m cover"
msgstr "О&бложка альбома"
#: collection/savedgroupingmanager.cpp:88 playlist/playlist.cpp:1264
#: organize/organizedialog.cpp:99 ../build/src/ui_groupbydialog.h:186
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:186
#: ../build/src/ui_groupbydialog.h:208 ../build/src/ui_groupbydialog.h:230
#: ../build/src/ui_albumcoversearcher.h:110
#: ../build/src/ui_albumcoversearcher.h:112
@@ -774,7 +774,7 @@ msgid "Album - Disc"
msgstr "raАльбом - Диск"
#: collection/savedgroupingmanager.cpp:82 playlist/playlist.cpp:1271
#: organize/organizedialog.cpp:102 ../build/src/ui_groupbydialog.h:185
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:185
#: ../build/src/ui_groupbydialog.h:207 ../build/src/ui_groupbydialog.h:229
#: ../build/src/ui_edittagdialog.h:709
msgid "Album artist"
@@ -814,7 +814,7 @@ msgstr "Альбомы с обложками"
msgid "Albums without covers"
msgstr "Альбомы без обложек"
#: core/mainwindow.cpp:208
#: core/mainwindow.cpp:209
msgid "All Files (*)"
msgstr "Все файлы (*)"
@@ -860,7 +860,7 @@ msgstr "Всегда начинать воспроизведение"
msgid "An error occurred loading the iTunes database"
msgstr "Произошла ошибка при загрузке данных iTunes"
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:953
#: playlist/playlist.cpp:412 dialogs/edittagdialog.cpp:956
#, qt-format
msgid "An error occurred writing metadata to '%1'"
msgstr "Ошибка при записи мета-данных в '%1'"
@@ -909,12 +909,12 @@ msgstr ""
msgid "Are you sure you want to delete the \"%1\" preset?"
msgstr "Вы действительно хотите удалить профиль \"%1\"?"
#: dialogs/edittagdialog.cpp:869
#: dialogs/edittagdialog.cpp:872
msgid "Are you sure you want to reset this song's statistics?"
msgstr "Вы действительно хотите сбросить статистику этой песни?"
#: collection/savedgroupingmanager.cpp:85 playlist/playlist.cpp:1263
#: organize/organizedialog.cpp:100 ../build/src/ui_groupbydialog.h:184
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:184
#: ../build/src/ui_groupbydialog.h:206 ../build/src/ui_groupbydialog.h:228
#: ../build/src/ui_albumcoversearcher.h:106
#: ../build/src/ui_albumcoversearcher.h:108 ../build/src/ui_edittagdialog.h:713
@@ -922,7 +922,7 @@ msgstr "Вы действительно хотите сбросить стати
msgid "Artist"
msgstr "Исполнитель"
#: organize/organizedialog.cpp:101
#: organize/organizedialog.cpp:104
msgid "Artist's initial"
msgstr "Инициалы исполнителя"
@@ -1058,7 +1058,7 @@ msgid "Best"
msgstr "Лучшее"
#: context/contextview.cpp:216 collection/savedgroupingmanager.cpp:136
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:115
#: playlist/playlist.cpp:1281 organize/organizedialog.cpp:118
#: ../build/src/ui_groupbydialog.h:201 ../build/src/ui_groupbydialog.h:223
#: ../build/src/ui_groupbydialog.h:245 ../build/src/ui_edittagdialog.h:695
msgid "Bit depth"
@@ -1079,7 +1079,7 @@ msgstr "Битрейт"
msgid "Bitrate"
msgstr "Битрейт"
#: organize/organizedialog.cpp:113
#: organize/organizedialog.cpp:116
msgctxt "Refers to bitrate in file organize dialog."
msgid "Bitrate"
msgstr ""
@@ -1124,7 +1124,7 @@ msgstr "Буфер"
msgid "Buffer duration"
msgstr "Размер буфера"
#: engine/gstengine.cpp:630
#: engine/gstengine.cpp:681
msgid "Buffering"
msgstr "Буферизация"
@@ -1144,7 +1144,7 @@ msgstr "CDDA"
msgid "Cancel"
msgstr ""
#: tidal/tidalstreamurlrequest.cpp:107 qobuz/qobuzstreamurlrequest.cpp:103
#: tidal/tidalstreamurlrequest.cpp:108 qobuz/qobuzstreamurlrequest.cpp:103
msgid "Cancelled."
msgstr "Отменено."
@@ -1164,7 +1164,7 @@ msgstr "Сменить текущий трек"
msgid "Change the language"
msgstr "Изменить язык"
#: core/mainwindow.cpp:758
#: core/mainwindow.cpp:759
msgid "Check for updates..."
msgstr "Проверить обновления…"
@@ -1209,7 +1209,7 @@ msgstr "Очистить"
msgid "Clear Disk Cache"
msgstr ""
#: core/mainwindow.cpp:2191 ../build/src/ui_mainwindow.h:634
#: core/mainwindow.cpp:2204 ../build/src/ui_mainwindow.h:634
msgid "Clear playlist"
msgstr "Очистить плейлист"
@@ -1263,7 +1263,7 @@ msgstr "Закрытие этого окна остановит поиск об
msgid "Club"
msgstr "Клубный"
#: core/mainwindow.cpp:337 ../build/src/ui_collectionsettingspage.h:406
#: core/mainwindow.cpp:338 ../build/src/ui_collectionsettingspage.h:406
#: ../build/src/ui_scrobblersettingspage.h:402
msgid "Collection"
msgstr "Фонотека"
@@ -1276,7 +1276,7 @@ msgstr ""
msgid "Collection advanced grouping"
msgstr "Расширенная группировка фонотеки"
#: core/mainwindow.cpp:2703
#: core/mainwindow.cpp:2716
msgid "Collection rescan notice"
msgstr "Уведомление о сканировании фонотеки"
@@ -1293,7 +1293,7 @@ msgid "Comma separated list of class:level, level is 0-3"
msgstr "Разделённый запятыми список «класс:уровень», где уровень от 0 до 3"
#: playlist/playlist.cpp:1291 smartplaylists/smartplaylistsearchterm.cpp:374
#: organize/organizedialog.cpp:111 ../build/src/ui_edittagdialog.h:711
#: organize/organizedialog.cpp:114 ../build/src/ui_edittagdialog.h:711
msgid "Comment"
msgstr "Комментарий"
@@ -1310,7 +1310,7 @@ msgid "Complete tags automatically..."
msgstr "Заполнить теги автоматически..."
#: collection/savedgroupingmanager.cpp:118 playlist/playlist.cpp:1272
#: organize/organizedialog.cpp:103 ../build/src/ui_groupbydialog.h:196
#: organize/organizedialog.cpp:106 ../build/src/ui_groupbydialog.h:196
#: ../build/src/ui_groupbydialog.h:218 ../build/src/ui_groupbydialog.h:240
#: ../build/src/ui_edittagdialog.h:710
msgid "Composer"
@@ -1337,7 +1337,7 @@ msgstr "Настроить %1…"
msgid "Configure buttons"
msgstr ""
#: core/mainwindow.cpp:638
#: core/mainwindow.cpp:639
msgid "Configure collection..."
msgstr "Настроить фонотеку…"
@@ -1353,7 +1353,7 @@ msgstr "Консоль"
msgid "Constant bitrate"
msgstr "Постоянный битрейт"
#: core/mainwindow.cpp:336 ../build/src/ui_contextsettingspage.h:361
#: core/mainwindow.cpp:337 ../build/src/ui_contextsettingspage.h:361
msgid "Context"
msgstr "Контекст"
@@ -1375,7 +1375,7 @@ msgstr "Конвертировать всю музыку"
msgid "Convert any music that the device can't play"
msgstr "Конвертировать всю музыку, не поддерживаемую устройством."
#: core/mainwindow.cpp:702
#: core/mainwindow.cpp:703
msgid "Copy URL(s)..."
msgstr ""
@@ -1383,7 +1383,7 @@ msgstr ""
msgid "Copy album cover artwork"
msgstr "Копировать обложку альбома"
#: core/mainwindow.cpp:706 widgets/fileviewlist.cpp:48
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:48
#: device/deviceview.cpp:239
msgid "Copy to collection..."
msgstr "Копировать в фонотеку…"
@@ -1392,7 +1392,7 @@ msgstr "Копировать в фонотеку…"
msgid "Copy to device"
msgstr ""
#: core/mainwindow.cpp:709 context/contextalbumsview.cpp:262
#: core/mainwindow.cpp:710 context/contextalbumsview.cpp:262
#: collection/collectionview.cpp:352 playlist/playlistlistcontainer.cpp:104
#: widgets/fileviewlist.cpp:50
msgid "Copy to device..."
@@ -1633,7 +1633,7 @@ msgstr "Удалить файлы"
msgid "Delete from device..."
msgstr "Удалить с устройства..."
#: core/mainwindow.cpp:711 collection/collectionview.cpp:354
#: core/mainwindow.cpp:712 collection/collectionview.cpp:354
#: widgets/fileviewlist.cpp:51
msgid "Delete from disk..."
msgstr "Удалить с диска…"
@@ -1655,11 +1655,11 @@ msgstr "Удалить оригинальные файлы"
msgid "Deleting files"
msgstr "Удаление файлов"
#: core/mainwindow.cpp:1826
#: core/mainwindow.cpp:1839
msgid "Dequeue selected tracks"
msgstr "Убрать выбранные треки из очереди"
#: core/mainwindow.cpp:1825
#: core/mainwindow.cpp:1838
msgid "Dequeue track"
msgstr "Убрать трек из очереди"
@@ -1685,7 +1685,7 @@ msgstr "Свойства устройства"
msgid "Device properties..."
msgstr "Свойства устройства…"
#: core/mainwindow.cpp:343
#: core/mainwindow.cpp:344
msgid "Devices"
msgstr "Устройства"
@@ -1707,7 +1707,7 @@ msgid "Disabled"
msgstr "Отключено"
#: collection/savedgroupingmanager.cpp:106 playlist/playlist.cpp:1266
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:188
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:188
#: ../build/src/ui_groupbydialog.h:210 ../build/src/ui_groupbydialog.h:232
#: ../build/src/ui_edittagdialog.h:708
msgid "Disc"
@@ -1742,6 +1742,10 @@ msgstr "Не вырезать изображение"
msgid "Do not overwrite"
msgstr "Не перезаписывать"
#: ../build/src/ui_snapdialog.h:120
msgid "Do not show this message again."
msgstr ""
#: osd/osdbase.cpp:322 ../build/src/ui_playlistsequence.h:110
msgid "Don't repeat"
msgstr "Не повторять"
@@ -1800,7 +1804,7 @@ msgstr ""
msgid "Edit smart playlist..."
msgstr ""
#: core/mainwindow.cpp:1867
#: core/mainwindow.cpp:1880
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr "Изменить тег \"%1\"…"
@@ -1950,7 +1954,7 @@ msgstr "Аналогично --log-levels *:1"
msgid "Equivalent to --log-levels *:3"
msgstr "Аналогично --log-levels *:3"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "Error"
msgstr "Ошибка"
@@ -2116,7 +2120,7 @@ msgstr "Ошибка получения обложки"
msgid "File %1 is not recognized as a valid audio file."
msgstr "Файл %1 не распознается как допустимый аудиофайл."
#: organize/organizedialog.cpp:116
#: organize/organizedialog.cpp:119
msgid "File extension"
msgstr "Расширение файла"
@@ -2154,7 +2158,7 @@ msgstr "Имя файла"
msgid "Filename:"
msgstr "Имя файла:"
#: core/mainwindow.cpp:341
#: core/mainwindow.cpp:342
msgid "Files"
msgstr "Файлы"
@@ -2208,6 +2212,15 @@ msgstr ""
msgid "Font size"
msgstr ""
#: dialogs/snapdialog.cpp:56
#, qt-format
msgid "For Ubuntu there is an official PPA repository available at %1."
msgstr ""
#: dialogs/snapdialog.cpp:64
msgid "For a better experience please consider the other options above."
msgstr ""
#: ../build/src/ui_transcoderoptionsmp3.h:203
msgid "Force mono encoding"
msgstr "Принудительное кодирование в моно"
@@ -2290,7 +2303,7 @@ msgid "Genius Authentication"
msgstr ""
#: collection/savedgroupingmanager.cpp:115 playlist/playlist.cpp:1270
#: organize/organizedialog.cpp:110 ../build/src/ui_groupbydialog.h:190
#: organize/organizedialog.cpp:113 ../build/src/ui_groupbydialog.h:190
#: ../build/src/ui_groupbydialog.h:212 ../build/src/ui_groupbydialog.h:234
#: ../build/src/ui_edittagdialog.h:704
msgid "Genre"
@@ -2390,7 +2403,7 @@ msgid "Group by Genre/Artist/Album"
msgstr "Группировать по жанр/исполнитель/альбом"
#: collection/savedgroupingmanager.cpp:124 playlist/playlist.cpp:1274
#: organize/organizedialog.cpp:105 ../build/src/ui_groupbydialog.h:198
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:198
#: ../build/src/ui_groupbydialog.h:220 ../build/src/ui_groupbydialog.h:242
#: ../build/src/ui_edittagdialog.h:706
msgid "Grouping"
@@ -2571,6 +2584,10 @@ msgid ""
"audiophiles."
msgstr ""
#: dialogs/snapdialog.cpp:44
msgid "It is detected that Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_behavioursettingspage.h:302
msgid "Jump to previous song right away"
msgstr "Немедленный переход к предыдущей песне"
@@ -2635,7 +2652,7 @@ msgid "Left"
msgstr "Левый канал"
#: context/contextview.cpp:214 playlist/playlist.cpp:1267
#: organize/organizedialog.cpp:112 ../build/src/ui_edittagdialog.h:689
#: organize/organizedialog.cpp:115 ../build/src/ui_edittagdialog.h:689
msgid "Length"
msgstr "Длина"
@@ -2853,7 +2870,7 @@ msgstr "Отсутствует имя пользователя или парол
#: tidal/tidalservice.cpp:737 tidal/tidalservice.cpp:796
#: tidal/tidalservice.cpp:853 tidal/tidalservice.cpp:918
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:89
#: tidal/tidalservice.cpp:978 tidal/tidalstreamurlrequest.cpp:90
msgid "Missing Tidal API token, username or password."
msgstr ""
@@ -2939,7 +2956,7 @@ msgstr "Точки монтирования"
msgid "Move down"
msgstr "Переместить вниз"
#: core/mainwindow.cpp:707 widgets/fileviewlist.cpp:49
#: core/mainwindow.cpp:708 widgets/fileviewlist.cpp:49
msgid "Move to collection..."
msgstr "Переместить в фонотеку…"
@@ -2948,7 +2965,7 @@ msgstr "Переместить в фонотеку…"
msgid "Move up"
msgstr "Переместить вверх"
#: core/mainwindow.cpp:2101 transcoder/transcodedialog.cpp:328
#: core/mainwindow.cpp:2114 transcoder/transcodedialog.cpp:328
msgid "Music"
msgstr "Музыка"
@@ -2993,7 +3010,7 @@ msgstr "Никогда не начинать воспроизведение"
msgid "New folder"
msgstr "Новая папка"
#: core/mainwindow.cpp:1925
#: core/mainwindow.cpp:1938
msgid "New playlist"
msgstr "Новый плейлист"
@@ -3037,7 +3054,7 @@ msgstr "Нет обложек для экспорта."
msgid "No long blocks"
msgstr "Без длинных блоков"
#: tidal/tidalrequest.cpp:1256 qobuz/qobuzrequest.cpp:1318
#: tidal/tidalrequest.cpp:1253 qobuz/qobuzrequest.cpp:1315
msgid "No match."
msgstr "Не совпадает."
@@ -3064,7 +3081,7 @@ msgstr "Нет воспроизводимой песни"
msgid "None"
msgstr "Ничего"
#: core/mainwindow.cpp:2441 core/mainwindow.cpp:2586
#: core/mainwindow.cpp:2454 core/mainwindow.cpp:2599
#: context/contextalbumsview.cpp:382 collection/collectionview.cpp:576
msgid "None of the selected songs were suitable for copying to a device"
msgstr "Ни одна из выбранных песен не была скопирована на устройство"
@@ -3091,7 +3108,7 @@ msgstr ""
#: tidal/tidalservice.cpp:732 tidal/tidalservice.cpp:791
#: tidal/tidalservice.cpp:848 tidal/tidalservice.cpp:913
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:85
#: tidal/tidalservice.cpp:974 tidal/tidalstreamurlrequest.cpp:86
msgid "Not authenticated with Tidal."
msgstr "Не аутентифицировано с Tidal."
@@ -3131,6 +3148,13 @@ msgstr "Предпросмотр OSD"
msgid "Off"
msgstr "Выкл."
#: dialogs/snapdialog.cpp:60
#, qt-format
msgid ""
"Official releases are available for Debian and Ubuntu which also work on "
"most of their derivatives. See %1 for more information."
msgstr ""
#: osd/osdbase.cpp:245
msgid "On"
msgstr "Вкл."
@@ -3196,7 +3220,7 @@ msgstr "Opus"
msgid "Organize Files"
msgstr ""
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:260
#: core/mainwindow.cpp:706 context/contextalbumsview.cpp:260
#: collection/collectionview.cpp:350
msgid "Organize files..."
msgstr ""
@@ -3210,7 +3234,7 @@ msgid "Original tags"
msgstr "Исходные теги"
#: collection/savedgroupingmanager.cpp:112 playlist/playlist.cpp:1269
#: organize/organizedialog.cpp:109 ../build/src/ui_groupbydialog.h:194
#: organize/organizedialog.cpp:112 ../build/src/ui_groupbydialog.h:194
#: ../build/src/ui_groupbydialog.h:216 ../build/src/ui_groupbydialog.h:238
msgid "Original year"
msgstr "Год выхода оригинала"
@@ -3269,7 +3293,7 @@ msgstr "Вечеринка"
msgid "Password"
msgstr "Пароль"
#: core/mainwindow.cpp:1247 core/mainwindow.cpp:1721
#: core/mainwindow.cpp:1260 core/mainwindow.cpp:1734
#: core/qtsystemtrayicon.cpp:190
msgid "Pause"
msgstr "Пауза"
@@ -3283,7 +3307,7 @@ msgid "Paused"
msgstr "Приостановлен"
#: collection/savedgroupingmanager.cpp:121 playlist/playlist.cpp:1273
#: organize/organizedialog.cpp:104 ../build/src/ui_groupbydialog.h:197
#: organize/organizedialog.cpp:107 ../build/src/ui_groupbydialog.h:197
#: ../build/src/ui_groupbydialog.h:219 ../build/src/ui_groupbydialog.h:241
#: ../build/src/ui_edittagdialog.h:715
msgid "Performer"
@@ -3297,8 +3321,8 @@ msgstr "Пиксель"
msgid "Plain sidebar"
msgstr "Нормальная боковая панель"
#: core/mainwindow.cpp:674 core/mainwindow.cpp:1200 core/mainwindow.cpp:1229
#: core/mainwindow.cpp:1725 core/qtsystemtrayicon.cpp:177
#: core/mainwindow.cpp:675 core/mainwindow.cpp:1213 core/mainwindow.cpp:1242
#: core/mainwindow.cpp:1738 core/qtsystemtrayicon.cpp:177
#: core/qtsystemtrayicon.cpp:202
msgid "Play"
msgstr "Воспроизвести"
@@ -3361,7 +3385,7 @@ msgstr ""
msgid "Playlist finished"
msgstr "Плейлист закончился"
#: core/mainwindow.cpp:2191
#: core/mainwindow.cpp:2204
#, qt-format
msgid ""
"Playlist has %1 songs, too large to undo, are you sure you want to clear the "
@@ -3381,7 +3405,7 @@ msgstr "Настройки плейлиста"
msgid "Playlist type"
msgstr ""
#: core/mainwindow.cpp:339
#: core/mainwindow.cpp:340
msgid "Playlists"
msgstr "Плейлисты"
@@ -3503,7 +3527,7 @@ msgstr "Ход выполнения"
msgid "Put songs in a random order"
msgstr ""
#: core/mainwindow.cpp:352 ../build/src/ui_scrobblersettingspage.h:409
#: core/mainwindow.cpp:353 ../build/src/ui_scrobblersettingspage.h:409
#: ../build/src/ui_qobuzsettingspage.h:270
msgid "Qobuz"
msgstr "Qobuz"
@@ -3526,24 +3550,24 @@ msgstr "Качество"
msgid "Querying device..."
msgstr "Опрашиваем устройство…"
#: core/mainwindow.cpp:338
#: core/mainwindow.cpp:339
msgid "Queue"
msgstr "Очередь"
#: core/mainwindow.cpp:1828
#: core/mainwindow.cpp:1841
msgid "Queue selected tracks"
msgstr "Выбранные треки в очередь"
#: core/mainwindow.cpp:680 core/mainwindow.cpp:1832
#: core/mainwindow.cpp:681 core/mainwindow.cpp:1845
msgid "Queue selected tracks to play next"
msgstr "Очередь выбранных треков для последующего воспроизведения"
#: core/mainwindow.cpp:1834 collection/collectionview.cpp:347
#: core/mainwindow.cpp:1847 collection/collectionview.cpp:347
#: internet/internetcollectionview.cpp:317
msgid "Queue to play next"
msgstr "Очередь воспроизведения"
#: core/mainwindow.cpp:1827 context/contextalbumsview.cpp:257
#: core/mainwindow.cpp:1840 context/contextalbumsview.cpp:257
#: collection/collectionview.cpp:346
#: smartplaylists/smartplaylistsviewcontainer.cpp:75
#: internet/internetsearchview.cpp:323 internet/internetcollectionview.cpp:316
@@ -3738,7 +3762,7 @@ msgstr ""
msgid "Rescan song(s)"
msgstr "Пересканировать песню(и)"
#: core/mainwindow.cpp:696
#: core/mainwindow.cpp:697
msgid "Rescan song(s)..."
msgstr ""
@@ -3746,7 +3770,7 @@ msgstr ""
msgid "Reset"
msgstr "Сброс"
#: dialogs/edittagdialog.cpp:869 ../build/src/ui_edittagdialog.h:688
#: dialogs/edittagdialog.cpp:872 ../build/src/ui_edittagdialog.h:688
msgid "Reset play counts"
msgstr "Сбросить счётчики воспроизведения"
@@ -3853,7 +3877,7 @@ msgid "Safely remove the device after copying"
msgstr "Безопасно извлечь устройство после копирования"
#: collection/savedgroupingmanager.cpp:133 playlist/playlist.cpp:1280
#: organize/organizedialog.cpp:114 ../build/src/ui_groupbydialog.h:200
#: organize/organizedialog.cpp:117 ../build/src/ui_groupbydialog.h:200
#: ../build/src/ui_groupbydialog.h:222 ../build/src/ui_groupbydialog.h:244
#: ../build/src/ui_edittagdialog.h:694
msgid "Sample rate"
@@ -3913,7 +3937,7 @@ msgstr "Менеджер сохранённых групп"
msgid "Saving album covers"
msgstr "Сохранение обложек альбомов"
#: dialogs/edittagdialog.cpp:784 dialogs/trackselectiondialog.cpp:291
#: dialogs/edittagdialog.cpp:787 dialogs/trackselectiondialog.cpp:291
msgid "Saving tracks"
msgstr "Сохранение треков"
@@ -4046,7 +4070,7 @@ msgstr "URL сервера недействителен."
msgid "Server-side scrobbling"
msgstr ""
#: core/mainwindow.cpp:1866
#: core/mainwindow.cpp:1879
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr "Установить %1 в «%2»…"
@@ -4133,7 +4157,7 @@ msgstr "Показать обложку альбома в коллекции"
msgid "Show albums by artist"
msgstr "Показать альбомы исполнителя"
#: core/mainwindow.cpp:627
#: core/mainwindow.cpp:628
msgid "Show all songs"
msgstr "Показать все композиции"
@@ -4157,7 +4181,7 @@ msgstr "Показать движок и устройство"
msgid "Show fullsize..."
msgstr "Показать в полный размер…"
#: core/mainwindow.cpp:703
#: core/mainwindow.cpp:704
msgid "Show in collection..."
msgstr "Показать в фонотеке…"
@@ -4165,7 +4189,7 @@ msgstr "Показать в фонотеке…"
msgid "Show in file browser"
msgstr "Показать в файловом браузере"
#: core/mainwindow.cpp:704 context/contextalbumsview.cpp:268
#: core/mainwindow.cpp:705 context/contextalbumsview.cpp:268
#: collection/collectionview.cpp:359 widgets/fileviewlist.cpp:55
msgid "Show in file browser..."
msgstr "Открыть в диспетчере файлов"
@@ -4182,11 +4206,11 @@ msgstr "Показать кнопку нравится"
msgid "Show moodbar"
msgstr "Показать moodbar"
#: core/mainwindow.cpp:628
#: core/mainwindow.cpp:629
msgid "Show only duplicates"
msgstr "Показывать только повторяющиеся"
#: core/mainwindow.cpp:629
#: core/mainwindow.cpp:630
msgid "Show only untagged"
msgstr "Показывать только без тегов"
@@ -4275,11 +4299,11 @@ msgstr "Пропустить подсчёт"
msgid "Skip forwards in playlist"
msgstr "Переместить вперед в плейлисте"
#: core/mainwindow.cpp:1839
#: core/mainwindow.cpp:1852
msgid "Skip selected tracks"
msgstr "Пропустить выбранные треки"
#: core/mainwindow.cpp:1838
#: core/mainwindow.cpp:1851
msgid "Skip track"
msgstr "Пропустить трек"
@@ -4295,7 +4319,7 @@ msgstr "Узкая боковая панель"
msgid "Smart playlist"
msgstr ""
#: core/mainwindow.cpp:340
#: core/mainwindow.cpp:341
msgid "Smart playlists"
msgstr ""
@@ -4380,7 +4404,7 @@ msgstr "Останавливать после каждого трека"
msgid "Stop after every track"
msgstr "Останавливать после каждого трека"
#: core/mainwindow.cpp:676 ../build/src/ui_mainwindow.h:627
#: core/mainwindow.cpp:677 ../build/src/ui_mainwindow.h:627
msgid "Stop after this track"
msgstr "Остановить после этого трека"
@@ -4440,6 +4464,21 @@ msgid ""
"on %1"
msgstr ""
#: dialogs/snapdialog.cpp:40
msgid "Strawberry is running as a Snap"
msgstr ""
#: ../build/src/ui_snapdialog.h:117
msgid "Strawberry is running as a snap"
msgstr ""
#: dialogs/snapdialog.cpp:48
msgid ""
"Strawberry is slower, and has restrictions when running as a Snap. Accessing "
"the root filesystem (/) will not work. There also might be other "
"restrictions such as accessing certain devices or network shares."
msgstr ""
#: ../build/src/ui_trackselectiondialog.h:205
msgid "Strawberry was unable to find results for this file"
msgstr "Strawberry не смог найти результаты по запросу для этого файла"
@@ -4464,7 +4503,7 @@ msgstr "Растягивать изображение для заполнени
msgid "Submit scrobbles every"
msgstr "Отправить скробблы каждые"
#: core/mainwindow.cpp:346 ../build/src/ui_scrobblersettingspage.h:407
#: core/mainwindow.cpp:347 ../build/src/ui_scrobblersettingspage.h:407
#: ../build/src/ui_subsonicsettingspage.h:188
msgid "Subsonic"
msgstr "Subsonic"
@@ -4590,7 +4629,7 @@ msgstr "Запрошенный сайт не существует!"
msgid "The site you requested is not an image!"
msgstr "Запрошенная ссылка не является изображением!"
#: core/mainwindow.cpp:2698
#: core/mainwindow.cpp:2711
msgid ""
"The version of Strawberry you've just updated to requires a full collection "
"rescan because of the new features listed below:"
@@ -4694,7 +4733,7 @@ msgstr "Эта опция может быть изменена в настрой
msgid "This type of device is not supported: %1"
msgstr "Не поддерживаемый тип устройства: %1"
#: core/mainwindow.cpp:349 ../build/src/ui_scrobblersettingspage.h:408
#: core/mainwindow.cpp:350 ../build/src/ui_scrobblersettingspage.h:408
#: ../build/src/ui_tidalsettingspage.h:312
msgid "Tidal"
msgstr "Tidal"
@@ -4709,7 +4748,7 @@ msgstr ""
msgid "Time step"
msgstr "Шаг времени"
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:98
#: playlist/playlist.cpp:1262 organize/organizedialog.cpp:101
#: ../build/src/ui_contextsettingspage.h:414
#: ../build/src/ui_edittagdialog.h:705
#: ../build/src/ui_trackselectiondialog.h:210
@@ -4720,7 +4759,7 @@ msgstr "Название"
msgid "Today"
msgstr "Сегодня"
#: core/mainwindow.cpp:677 core/mainwindow.cpp:1829
#: core/mainwindow.cpp:678 core/mainwindow.cpp:1842
msgid "Toggle queue status"
msgstr "Переключить состояние очереди"
@@ -4728,7 +4767,7 @@ msgstr "Переключить состояние очереди"
msgid "Toggle scrobbling"
msgstr "Вкл/выкл скробблинг"
#: core/mainwindow.cpp:683 core/mainwindow.cpp:1840
#: core/mainwindow.cpp:684 core/mainwindow.cpp:1853
msgid "Toggle skip status"
msgstr "Переключить статус пропуска"
@@ -4756,7 +4795,7 @@ msgstr "Всего передано байт"
msgid "Total network requests made"
msgstr "Всего выполнено сетевых запросов"
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:106
#: playlist/playlist.cpp:1265 organize/organizedialog.cpp:109
#: ../build/src/ui_edittagdialog.h:712
#: ../build/src/ui_trackselectiondialog.h:212
msgid "Track"
@@ -4814,8 +4853,8 @@ msgstr "Ультраширокая полоса пропускания (UWB)"
msgid "Unknown"
msgstr "Неизвестный"
#: subsonic/subsonicrequest.cpp:858 tidal/tidalrequest.cpp:1262
#: qobuz/qobuzrequest.cpp:1324
#: subsonic/subsonicrequest.cpp:864 tidal/tidalrequest.cpp:1259
#: qobuz/qobuzrequest.cpp:1321
msgid "Unknown error"
msgstr "Неизвестная ошибка"
@@ -4823,11 +4862,11 @@ msgstr "Неизвестная ошибка"
msgid "Unset cover"
msgstr "Удалить обложку"
#: core/mainwindow.cpp:1837
#: core/mainwindow.cpp:1850
msgid "Unskip selected tracks"
msgstr "Не пропускать выбранные треки"
#: core/mainwindow.cpp:1836
#: core/mainwindow.cpp:1849
msgid "Unskip track"
msgstr "Не пропускать трек"
@@ -5063,7 +5102,7 @@ msgid ""
"well?"
msgstr ""
#: core/mainwindow.cpp:2702
#: core/mainwindow.cpp:2715
msgid "Would you like to run a full rescan right now?"
msgstr "Желаете запустить повторное сканирование?"
@@ -5072,7 +5111,7 @@ msgid "Write metadata when saving playlists"
msgstr "Записывать метаданные при сохранении плейлистов"
#: collection/savedgroupingmanager.cpp:109 playlist/playlist.cpp:1268
#: organize/organizedialog.cpp:108 ../build/src/ui_groupbydialog.h:191
#: organize/organizedialog.cpp:111 ../build/src/ui_groupbydialog.h:191
#: ../build/src/ui_groupbydialog.h:213 ../build/src/ui_groupbydialog.h:235
#: ../build/src/ui_edittagdialog.h:714
#: ../build/src/ui_trackselectiondialog.h:211

View File

@@ -406,6 +406,8 @@ void PlayingWidget::UpdateDetailsText() {
// if something spans multiple lines the height needs to change
if (mode_ == LargeSongDetails) UpdateHeight();
update();
}
void PlayingWidget::paintEvent(QPaintEvent *e) {

View File

@@ -221,7 +221,7 @@ void StretchHeaderView::SetStretchEnabled(const bool enabled) {
stretch_enabled_ = enabled;
if (enabled) {
// Initialise the list of widths from the current state of the widget
// Initialize the list of widths from the current state of the widget
column_widths_.resize(count());
for (int i = 0; i < count(); ++i) {
column_widths_[i] = ColumnWidthType(sectionSize(i)) / width();

View File

@@ -70,8 +70,8 @@ class StretchHeaderView : public QHeaderView {
bool is_stretch_enabled() const { return stretch_enabled_; }
public slots:
// Changes the stretch mode. Enabling stretch mode will initialise the
// proportional column widths from the current state of the header.
// Changes the stretch mode.
// Enabling stretch mode will initialize the proportional column widths from the current state of the header.
void ToggleStretchEnabled();
void SetStretchEnabled(const bool enabled);

View File

@@ -136,6 +136,7 @@ macro(add_test_file test_source gui_required)
)
target_link_libraries(${TEST_NAME} PRIVATE
${QtCore_LIBRARIES}
${QtConcurrent_LIBRARIES}
${QtWidgets_LIBRARIES}
${QtNetwork_LIBRARIES}
${QtSql_LIBRARIES}

View File

@@ -91,7 +91,7 @@ class CollectionModelTest : public ::testing::Test {
bool added_dir_;
};
TEST_F(CollectionModelTest, Initialisation) {
TEST_F(CollectionModelTest, Initialization) {
EXPECT_EQ(0, model_->rowCount(QModelIndex()));
}
@@ -347,7 +347,7 @@ TEST_F(CollectionModelTest, RemoveEmptyArtists) {
// model3 - All container nodes are created in SongsDiscovered.
// WARNING: This test can take up to 30 minutes to complete.
#if 0
TEST_F(CollectionModelTest, TestContainerNodes) {
SongList songs;
@@ -669,5 +669,6 @@ TEST_F(CollectionModelTest, TestContainerNodes) {
}
}
#endif
} // namespace

View File

@@ -2,11 +2,11 @@
#include <gtest/gtest.h>
#include <QtConcurrent>
#include <QThreadPool>
#include <QEventLoop>
#include <QFutureWatcher>
#include "core/concurrentrun.h"
#include "test_utils.h"
int f();
@@ -17,7 +17,7 @@ int f() {
TEST(ConcurrentRunTest, ConcurrentRun0StartAndWait) {
QThreadPool threadpool;
QFuture<int> future = ConcurrentRun::Run<int>(&threadpool, &f);
QFuture<int> future = QtConcurrent::run(&threadpool, &f);
QFutureWatcher<int> watcher;
watcher.setFuture(future);
QEventLoop loop;
@@ -36,7 +36,7 @@ TEST(ConcurrentRunTest, ConcurrentRun1StartAndWait) {
QThreadPool threadpool;
int i = 1336;
QFuture<int> future = ConcurrentRun::Run<int, int>(&threadpool, &g, i);
QFuture<int> future = QtConcurrent::run(&threadpool, &g, i);
QFutureWatcher<int> watcher;
watcher.setFuture(future);
QEventLoop loop;
@@ -56,7 +56,7 @@ TEST(ConcurrentRunTest, ConcurrentRun2StartAndWait) {
int i = 10;
int j = 42;
QThreadPool threadpool;
QFuture<int> future = ConcurrentRun::Run<int, int, int>(&threadpool, &max, i, j);
QFuture<int> future = QtConcurrent::run(&threadpool, &max, i, j);
QFutureWatcher<int> watcher;
watcher.setFuture(future);
QEventLoop loop;
@@ -77,7 +77,7 @@ TEST(ConcurrentRunTest, ConcurrentRun3StartAndWait) {
int j = 42;
int k = 50;
QThreadPool threadpool;
QFuture<int> future = ConcurrentRun::Run<int, int, int, int>(&threadpool, &sum, i, j, k);
QFuture<int> future = QtConcurrent::run(&threadpool, &sum, i, j, k);
QFutureWatcher<int> watcher;
watcher.setFuture(future);
QEventLoop loop;
@@ -109,7 +109,7 @@ TEST(ConcurrentRunTest, ConcurrentRunVoidFunction1Start) {
QThreadPool threadpool;
int n = 10;
QFuture<void> future = ConcurrentRun::Run<void, int*>(&threadpool, &aFunction, &n);
QFuture<void> future = QtConcurrent::run(&threadpool, &aFunction, &n);
QFutureWatcher<void> watcher;
watcher.setFuture(future);
QEventLoop loop;
@@ -124,7 +124,7 @@ TEST(ConcurrentRunTest, ConcurrentRunVoidFunction2Start) {
QThreadPool threadpool;
int n = 10, m = 11;
QFuture<void> future = ConcurrentRun::Run<void, int*, int*>(&threadpool, &bFunction, &n, &m);
QFuture<void> future = QtConcurrent::run(&threadpool, &bFunction, &n, &m);
QFutureWatcher<void> watcher;
watcher.setFuture(future);
QEventLoop loop;
@@ -140,7 +140,7 @@ TEST(ConcurrentRunTest, ConcurrentRunVoidFunction3Start) {
QThreadPool threadpool;
int n = 10, m = 11, o = 12;
QFuture<void> future = ConcurrentRun::Run<void, int*, int*, int*>(&threadpool, &cFunction, &n, &m, &o);
QFuture<void> future = QtConcurrent::run(&threadpool, &cFunction, &n, &m, &o);
QFutureWatcher<void> watcher;
watcher.setFuture(future);
QEventLoop loop;
@@ -165,7 +165,7 @@ TEST(ConcurrentRunTest, ConcurrentRunVoidBindFunctionStart) {
A a;
int nb = 10;
QFuture<void> future = ConcurrentRun::Run<void>(&threadpool, std::bind(&A::f, &a, &nb));
QFuture<void> future = QtConcurrent::run(&threadpool, std::bind(&A::f, &a, &nb));
QFutureWatcher<void> watcher;
watcher.setFuture(future);
QEventLoop loop;

View File

@@ -64,6 +64,40 @@ TEST_F(OrganizeFormatTest, BasicReplace) {
}
TEST_F(OrganizeFormatTest, BasicReplacePaths) {
song_.set_title("title");
song_.set_album("album");
song_.set_artist("artist");
song_.set_albumartist("albumartist");
song_.set_track(321);
format_.set_format("%albumartist/%album/%track %albumartist %artist %album %title");
ASSERT_TRUE(format_.IsValid());
EXPECT_EQ("albumartist/album/321_albumartist_artist_album_title", format_.GetFilenameForSong(song_));
}
TEST_F(OrganizeFormatTest, PathOnlyFormat) {
song_.set_title("title");
song_.set_album("album");
song_.set_artist("artist");
song_.set_albumartist("albumartist");
song_.set_track(321);
song_.set_url(QUrl("file:///music/whatever/321_albumartist_artist_album_title"));
song_.set_basefilename("321_albumartist_artist_album_title");
format_.set_format("%albumartist/%album/");
ASSERT_TRUE(format_.IsValid());
EXPECT_EQ("albumartist/album/321_albumartist_artist_album_title", format_.GetFilenameForSong(song_));
}
TEST_F(OrganizeFormatTest, Extension) {
song_.set_url(QUrl("file:///some/path/filename.flac"));
@@ -163,13 +197,10 @@ TEST_F(OrganizeFormatTest, TrackNumberPadding) {
}
#if 0
TEST_F(OrganizeFormatTest, ReplaceSlashes) {
format_.set_format("%title");
song_.set_title("foo/bar\\baz");
qLog(Debug) << format_.GetFilenameForSong(song_);
EXPECT_EQ("foo_bar_baz", format_.GetFilenameForSong(song_));
EXPECT_EQ("foobarbaz", format_.GetFilenameForSong(song_));
}
#endif