Compare commits
63 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f91b6c3468 | ||
|
|
abe6eeb350 | ||
|
|
64f90a7912 | ||
|
|
5733966843 | ||
|
|
eb1344fcec | ||
|
|
c5fb29f00e | ||
|
|
63135b9c54 | ||
|
|
f7c666584e | ||
|
|
6834324de2 | ||
|
|
3a0d59e66f | ||
|
|
ffd2e2188a | ||
|
|
0e8d5bdc5d | ||
|
|
14806f6614 | ||
|
|
00ece83b9d | ||
|
|
8197ae2a2d | ||
|
|
5fe658bb16 | ||
|
|
617179f0c6 | ||
|
|
95ac85f642 | ||
|
|
ca8877ad47 | ||
|
|
6d8f31048c | ||
|
|
ac859eb576 | ||
|
|
2dfa171b6a | ||
|
|
6f72e3e2ea | ||
|
|
c2b73ae963 | ||
|
|
6c50077409 | ||
|
|
06746449a1 | ||
|
|
da7b8edf51 | ||
|
|
6e29b41f23 | ||
|
|
912bb069af | ||
|
|
6b2d7a67d8 | ||
|
|
dbb8ec0290 | ||
|
|
60b32760f2 | ||
|
|
73a40bcb49 | ||
|
|
0e258a5a32 | ||
|
|
7ca65c81d8 | ||
|
|
2ad1a60e59 | ||
|
|
cf17ff4478 | ||
|
|
fffc3aac68 | ||
|
|
295ac3c458 | ||
|
|
b6693a71f9 | ||
|
|
5b21118a8c | ||
|
|
0235b19801 | ||
|
|
7426399aa2 | ||
|
|
6861b0d668 | ||
|
|
c30fb0d38c | ||
|
|
e45521c6c0 | ||
|
|
d11fe8d4fc | ||
|
|
8e83e63e3d | ||
|
|
c8fd0ac4b3 | ||
|
|
d78419eb33 | ||
|
|
e44a3d013d | ||
|
|
aeb0d05017 | ||
|
|
62702e4b3d | ||
|
|
5146cdfa2f | ||
|
|
246e7018c3 | ||
|
|
24286dbe9d | ||
|
|
2f442dfbe1 | ||
|
|
b2fb01ee9c | ||
|
|
45e0a9a4ef | ||
|
|
675b7b4bf4 | ||
|
|
be7a35443e | ||
|
|
9918615fcd | ||
|
|
4b72ef77c1 |
27
.github/workflows/ccpp.yml
vendored
27
.github/workflows/ccpp.yml
vendored
@@ -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 }}
|
||||
|
||||
@@ -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})
|
||||
|
||||
15
Changelog
15
Changelog
@@ -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:
|
||||
|
||||
@@ -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/)
|
||||
|
||||
@@ -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
1
dist/CMakeLists.txt
vendored
@@ -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)
|
||||
|
||||
182
dist/windows/strawberry-wasapi.nsi.in
vendored
182
dist/windows/strawberry-wasapi.nsi.in
vendored
@@ -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
|
||||
22
dist/windows/strawberry.nsi.in
vendored
22
dist/windows/strawberry.nsi.in
vendored
@@ -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"
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
@@ -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(); });
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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];
|
||||
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
|
||||
@@ -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_);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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_;
|
||||
|
||||
@@ -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());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
87
src/dialogs/snapdialog.cpp
Normal file
87
src/dialogs/snapdialog.cpp
Normal 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
41
src/dialogs/snapdialog.h
Normal 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
160
src/dialogs/snapdialog.ui
Normal 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>
|
||||
@@ -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) {
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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_;
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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_;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
|
||||
|
||||
@@ -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_) {
|
||||
|
||||
@@ -36,7 +36,7 @@ class PulseDeviceFinder : public DeviceFinder {
|
||||
explicit PulseDeviceFinder();
|
||||
~PulseDeviceFinder() override;
|
||||
|
||||
bool Initialise() override;
|
||||
bool Initialize() override;
|
||||
QList<Device> ListDevices() override;
|
||||
|
||||
private:
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -76,7 +76,7 @@ private:
|
||||
|
||||
Ui_BackendSettingsPage *ui_;
|
||||
|
||||
bool EngineInitialised();
|
||||
bool EngineInitialized();
|
||||
|
||||
void EngineChanged(Engine::EngineType enginetype);
|
||||
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ class CollectionSettingsPage : public SettingsPage {
|
||||
|
||||
private:
|
||||
Ui_CollectionSettingsPage *ui_;
|
||||
bool initialised_model_;
|
||||
bool initialized_model_;
|
||||
|
||||
static const QStringList cacheUnitNames;
|
||||
};
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -50,7 +50,7 @@ class MoodbarSettingsPage : public SettingsPage {
|
||||
|
||||
Ui_MoodbarSettingsPage* ui_;
|
||||
|
||||
bool initialised_;
|
||||
bool initialized_;
|
||||
};
|
||||
|
||||
#endif // MOODBARSETTINGSPAGE_H
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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() {}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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_;
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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_);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 l’encodage 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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user