mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-07-26 06:28:43 +02:00
Compare commits
33
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
752e918d26 | ||
|
|
ad08cc69f4 | ||
|
|
da3882fd5e | ||
|
|
c04c7a55d9 | ||
|
|
3318846b43 | ||
|
|
e0860feeb9 | ||
|
|
c0253a69b9 | ||
|
|
9242c7e6e0 | ||
|
|
0bfc579ae4 | ||
|
|
5fad06756b | ||
|
|
5be6afa6c1 | ||
|
|
5ba3b8be7a | ||
|
|
0eb62f541d | ||
|
|
6baff881c7 | ||
|
|
8c23c1e795 | ||
|
|
9706c66a27 | ||
|
|
f4f7252537 | ||
|
|
430d200151 | ||
|
|
7be82d03f3 | ||
|
|
15aaef742d | ||
|
|
e443ba09da | ||
|
|
8235d1f1f7 | ||
|
|
9a39dcceee | ||
|
|
a707b7fc86 | ||
|
|
b6fea85ef4 | ||
|
|
7e3b3f55ae | ||
|
|
d2d3bbe8a1 | ||
|
|
41a65c0f9d | ||
|
|
165ddd58a6 | ||
|
|
09dc04c0de | ||
|
|
57d5dbc0d0 | ||
|
|
11af75e127 | ||
|
|
f8d82a3020 |
@@ -33,8 +33,8 @@ android {
|
||||
applicationId "com.audiobookshelf.app"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 103
|
||||
versionName "0.9.72-beta"
|
||||
versionCode 104
|
||||
versionName "0.9.73-beta"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
manifestPlaceholders = [
|
||||
"appAuthRedirectScheme": "com.audiobookshelf.app"
|
||||
|
||||
@@ -103,6 +103,9 @@ class MainActivity : BridgeActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
fun isPlayerNotificationServiceInitialized():Boolean {
|
||||
return ::foregroundService.isInitialized
|
||||
}
|
||||
|
||||
fun stopMyService() {
|
||||
if (mBounded) {
|
||||
|
||||
@@ -107,6 +107,7 @@ data class PlayItemRequestPayload(
|
||||
data class DeviceSettings(
|
||||
var disableAutoRewind:Boolean,
|
||||
var enableAltView:Boolean,
|
||||
var allowSeekingOnMediaControls:Boolean,
|
||||
var jumpBackwardsTime:Int,
|
||||
var jumpForwardTime:Int,
|
||||
var enableMp3IndexSeeking:Boolean,
|
||||
@@ -130,6 +131,7 @@ data class DeviceSettings(
|
||||
return DeviceSettings(
|
||||
disableAutoRewind = false,
|
||||
enableAltView = true,
|
||||
allowSeekingOnMediaControls = false,
|
||||
jumpBackwardsTime = 10,
|
||||
jumpForwardTime = 10,
|
||||
enableMp3IndexSeeking = false,
|
||||
|
||||
@@ -247,14 +247,16 @@ class MediaManager(private var apiHandler: ApiHandler, var ctx: Context) {
|
||||
}
|
||||
|
||||
private fun checkSetValidServerConnectionConfig(cb: (Boolean) -> Unit) = runBlocking {
|
||||
Log.d(tag, "checkSetValidServerConnectionConfig | $serverConfigIdUsed")
|
||||
Log.d(tag, "checkSetValidServerConnectionConfig | serverConfigIdUsed=$serverConfigIdUsed | lastServerConnectionConfigId=${DeviceManager.deviceData.lastServerConnectionConfigId}")
|
||||
|
||||
coroutineScope {
|
||||
if (!DeviceManager.checkConnectivity(ctx)) {
|
||||
serverUserMediaProgress = mutableListOf()
|
||||
Log.d(tag, "checkSetValidServerConnectionConfig: No connectivity")
|
||||
cb(false)
|
||||
} else if (DeviceManager.serverConnectionConfigId == "") { // If in offline mode server connection config is unset
|
||||
} else if (DeviceManager.deviceData.lastServerConnectionConfigId.isNullOrBlank()) { // If in offline mode last server connection config is unset
|
||||
serverUserMediaProgress = mutableListOf()
|
||||
Log.d(tag, "checkSetValidServerConnectionConfig: No last server connection config")
|
||||
cb(false)
|
||||
} else {
|
||||
var hasValidConn = false
|
||||
@@ -334,6 +336,7 @@ class MediaManager(private var apiHandler: ApiHandler, var ctx: Context) {
|
||||
checkSetValidServerConnectionConfig { isConnected ->
|
||||
if (isConnected) {
|
||||
serverConfigIdUsed = DeviceManager.serverConnectionConfigId
|
||||
Log.d(tag, "loadAndroidAutoItems: Connected to server config id=$serverConfigIdUsed")
|
||||
|
||||
loadLibraries { libraries ->
|
||||
if (libraries.isEmpty()) {
|
||||
@@ -360,6 +363,7 @@ class MediaManager(private var apiHandler: ApiHandler, var ctx: Context) {
|
||||
}
|
||||
}
|
||||
} else { // Not connected to server
|
||||
Log.d(tag, "loadAndroidAutoItems: Not connected to server")
|
||||
cb()
|
||||
}
|
||||
}
|
||||
|
||||
+15
-9
@@ -329,15 +329,7 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||
}
|
||||
}
|
||||
|
||||
mediaSessionConnector.setEnabledPlaybackActions(
|
||||
PlaybackStateCompat.ACTION_PLAY_PAUSE
|
||||
or PlaybackStateCompat.ACTION_PLAY
|
||||
or PlaybackStateCompat.ACTION_PAUSE
|
||||
or PlaybackStateCompat.ACTION_SEEK_TO
|
||||
or PlaybackStateCompat.ACTION_FAST_FORWARD
|
||||
or PlaybackStateCompat.ACTION_REWIND
|
||||
or PlaybackStateCompat.ACTION_STOP
|
||||
)
|
||||
setMediaSessionConnectorPlaybackActions()
|
||||
mediaSessionConnector.setQueueNavigator(queueNavigator)
|
||||
mediaSessionConnector.setPlaybackPreparer(MediaSessionPlaybackPreparer(this))
|
||||
|
||||
@@ -512,6 +504,20 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||
mediaSessionConnector.setCustomActionProviders(*customActionProviders.toTypedArray())
|
||||
}
|
||||
|
||||
fun setMediaSessionConnectorPlaybackActions() {
|
||||
var playbackActions = PlaybackStateCompat.ACTION_PLAY_PAUSE or
|
||||
PlaybackStateCompat.ACTION_PLAY or
|
||||
PlaybackStateCompat.ACTION_PAUSE or
|
||||
PlaybackStateCompat.ACTION_FAST_FORWARD or
|
||||
PlaybackStateCompat.ACTION_REWIND or
|
||||
PlaybackStateCompat.ACTION_STOP
|
||||
|
||||
if (deviceSettings.allowSeekingOnMediaControls) {
|
||||
playbackActions = playbackActions or PlaybackStateCompat.ACTION_SEEK_TO
|
||||
}
|
||||
mediaSessionConnector.setEnabledPlaybackActions(playbackActions)
|
||||
}
|
||||
|
||||
fun handlePlayerPlaybackError(errorMessage:String) {
|
||||
// On error and was attempting to direct play - fallback to transcode
|
||||
currentPlaybackSession?.let { playbackSession ->
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.audiobookshelf.app.plugins
|
||||
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.util.Log
|
||||
import com.audiobookshelf.app.MainActivity
|
||||
import com.audiobookshelf.app.data.*
|
||||
@@ -493,9 +495,16 @@ class AbsDatabase : Plugin() {
|
||||
fun updateDeviceSettings(call:PluginCall) { // Returns device data
|
||||
Log.d(tag, "updateDeviceSettings ${call.data}")
|
||||
val newDeviceSettings = jacksonMapper.readValue<DeviceSettings>(call.data.toString())
|
||||
GlobalScope.launch(Dispatchers.IO) {
|
||||
|
||||
Handler(Looper.getMainLooper()).post {
|
||||
DeviceManager.deviceData.deviceSettings = newDeviceSettings
|
||||
DeviceManager.dbManager.saveDeviceData(DeviceManager.deviceData)
|
||||
|
||||
// Updates playback actions for media notification (handles media control seek locking setting)
|
||||
if (mainActivity.isPlayerNotificationServiceInitialized()) {
|
||||
mainActivity.foregroundService.setMediaSessionConnectorPlaybackActions()
|
||||
}
|
||||
|
||||
call.resolve(JSObject(jacksonMapper.writeValueAsString(DeviceManager.deviceData)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,7 +163,8 @@ export default {
|
||||
showMoreMenuDialog: false,
|
||||
coverRgb: 'rgb(55, 56, 56)',
|
||||
coverBgIsLight: false,
|
||||
titleMarquee: null
|
||||
titleMarquee: null,
|
||||
isRefreshingUI: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -652,7 +653,7 @@ export default {
|
||||
this.closePlayback()
|
||||
},
|
||||
touchstart(e) {
|
||||
if (!e.changedTouches) return
|
||||
if (!e.changedTouches || this.$store.state.globals.isModalOpen) return
|
||||
const touchPosY = e.changedTouches[0].pageY
|
||||
// when minimized only listen to touchstart on the player
|
||||
if (!this.showFullscreen && touchPosY < window.innerHeight - 120) return
|
||||
@@ -880,15 +881,32 @@ export default {
|
||||
this.onProgressSyncSuccess = AbsAudioPlayer.addListener('onProgressSyncSuccess', this.showProgressSyncSuccess)
|
||||
this.onPlaybackSpeedChangedListener = AbsAudioPlayer.addListener('onPlaybackSpeedChanged', this.onPlaybackSpeedChanged)
|
||||
},
|
||||
screenOrientationChange() {
|
||||
setTimeout(() => {
|
||||
this.updateScreenSize()
|
||||
if (this.$refs.track) {
|
||||
this.trackWidth = this.$refs.track.clientWidth
|
||||
this.updateTrack()
|
||||
this.updateReadyTrack()
|
||||
async screenOrientationChange() {
|
||||
if (this.isRefreshingUI) return
|
||||
this.isRefreshingUI = true
|
||||
const windowWidth = window.innerWidth
|
||||
this.refreshUI()
|
||||
|
||||
// Window width does not always change right away. Wait up to 250ms for a change.
|
||||
// iPhone 10 on iOS 16 took between 100 - 200ms to update when going from portrait to landscape
|
||||
// but landscape to portrait was immediate
|
||||
for (let i = 0; i < 5; i++) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 50))
|
||||
if (window.innerWidth !== windowWidth) {
|
||||
this.refreshUI()
|
||||
break
|
||||
}
|
||||
}, 50)
|
||||
}
|
||||
|
||||
this.isRefreshingUI = false
|
||||
},
|
||||
refreshUI() {
|
||||
this.updateScreenSize()
|
||||
if (this.$refs.track) {
|
||||
this.trackWidth = this.$refs.track.clientWidth
|
||||
this.updateTrack()
|
||||
this.updateReadyTrack()
|
||||
}
|
||||
},
|
||||
updateScreenSize() {
|
||||
setTimeout(() => {
|
||||
|
||||
@@ -79,7 +79,7 @@ export default {
|
||||
return this.page
|
||||
},
|
||||
hasFilter() {
|
||||
if (this.page === 'series' || this.page === 'collections') return false
|
||||
if (this.page === 'series' || this.page === 'collections' || this.page === 'playlists') return false
|
||||
return this.filterBy !== 'all'
|
||||
},
|
||||
orderBy() {
|
||||
|
||||
@@ -26,6 +26,10 @@ export default {
|
||||
type: Object,
|
||||
default: () => null
|
||||
},
|
||||
playlist: {
|
||||
type: Object,
|
||||
default: () => null
|
||||
},
|
||||
hideRssFeedOption: Boolean
|
||||
},
|
||||
data() {
|
||||
@@ -92,6 +96,15 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
// If on playlist page show remove from playlist option
|
||||
if (this.playlist) {
|
||||
items.push({
|
||||
text: this.$strings.LabelRemoveFromPlaylist,
|
||||
value: 'removeFromPlaylist',
|
||||
icon: 'playlist_remove'
|
||||
})
|
||||
}
|
||||
|
||||
if (this.showRSSFeedOption) {
|
||||
items.push({
|
||||
text: this.rssFeed ? this.$strings.HeaderRSSFeed : this.$strings.HeaderOpenRSSFeed,
|
||||
@@ -255,6 +268,8 @@ export default {
|
||||
} else if (action === 'playlist') {
|
||||
this.$store.commit('globals/setSelectedPlaylistItems', [{ libraryItem: this.libraryItem, episode: this.episode }])
|
||||
this.$store.commit('globals/setShowPlaylistsAddCreateModal', true)
|
||||
} else if (action === 'removeFromPlaylist') {
|
||||
this.removeFromPlaylistClick()
|
||||
} else if (action === 'markFinished') {
|
||||
if (this.episode) this.toggleEpisodeFinished()
|
||||
else this.toggleFinished()
|
||||
@@ -456,6 +471,29 @@ export default {
|
||||
.finally(() => {
|
||||
this.$emit('update:processing', false)
|
||||
})
|
||||
},
|
||||
removeFromPlaylistClick() {
|
||||
if (!this.playlist) {
|
||||
this.$toast.error('Invalid: No Playlist')
|
||||
return
|
||||
}
|
||||
|
||||
this.$emit('update:processing', true)
|
||||
let url = `/api/playlists/${this.playlist.id}/item/${this.serverLibraryItemId}`
|
||||
if (this.serverEpisodeId) url += `/${this.serverEpisodeId}`
|
||||
this.$axios
|
||||
.$delete(url)
|
||||
.then(() => {
|
||||
this.$toast.success('Item removed from playlist')
|
||||
})
|
||||
.catch((error) => {
|
||||
const errorMsg = error.response?.data || 'Unknown error'
|
||||
console.error('Failed to remove item from playlist', error)
|
||||
this.$toast.error('Failed to remove from playlist: ' + errorMsg)
|
||||
})
|
||||
.finally(() => {
|
||||
this.$emit('update:processing', false)
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted() {}
|
||||
|
||||
@@ -728,12 +728,12 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = Icons;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 28;
|
||||
CURRENT_PROJECT_VERSION = 30;
|
||||
DEVELOPMENT_TEAM = 7UFJ7D8V6A;
|
||||
INFOPLIST_FILE = App/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
MARKETING_VERSION = 0.9.71;
|
||||
MARKETING_VERSION = 0.9.73;
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.audiobookshelf.app.dev;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@@ -752,12 +752,12 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = Icons;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 28;
|
||||
CURRENT_PROJECT_VERSION = 30;
|
||||
DEVELOPMENT_TEAM = 7UFJ7D8V6A;
|
||||
INFOPLIST_FILE = App/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
MARKETING_VERSION = 0.9.71;
|
||||
MARKETING_VERSION = 0.9.73;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.audiobookshelf.app;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
|
||||
|
||||
@@ -14,7 +14,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
// Override point for customization after application launch.
|
||||
|
||||
let configuration = Realm.Configuration(
|
||||
schemaVersion: 16,
|
||||
schemaVersion: 17,
|
||||
migrationBlock: { [weak self] migration, oldSchemaVersion in
|
||||
if (oldSchemaVersion < 1) {
|
||||
self?.logger.log("Realm schema version was \(oldSchemaVersion)")
|
||||
|
||||
@@ -238,6 +238,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
@objc func updateDeviceSettings(_ call: CAPPluginCall) {
|
||||
let disableAutoRewind = call.getBool("disableAutoRewind") ?? false
|
||||
let enableAltView = call.getBool("enableAltView") ?? false
|
||||
let allowSeekingOnMediaControls = call.getBool("allowSeekingOnMediaControls") ?? false
|
||||
let jumpBackwardsTime = call.getInt("jumpBackwardsTime") ?? 10
|
||||
let jumpForwardTime = call.getInt("jumpForwardTime") ?? 10
|
||||
let lockOrientation = call.getString("lockOrientation") ?? "NONE"
|
||||
@@ -246,6 +247,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
let settings = DeviceSettings()
|
||||
settings.disableAutoRewind = disableAutoRewind
|
||||
settings.enableAltView = enableAltView
|
||||
settings.allowSeekingOnMediaControls = allowSeekingOnMediaControls
|
||||
settings.jumpBackwardsTime = jumpBackwardsTime
|
||||
settings.jumpForwardTime = jumpForwardTime
|
||||
settings.lockOrientation = lockOrientation
|
||||
@@ -254,7 +256,9 @@ public class AbsDatabase: CAPPlugin {
|
||||
|
||||
Database.shared.setDeviceSettings(deviceSettings: settings)
|
||||
|
||||
// call.resolve([ "value": [] ])
|
||||
// Updates the media notification controls (for allowSeekingOnMediaControls setting)
|
||||
PlayerHandler.updateRemoteTransportControls()
|
||||
|
||||
getDeviceData(call)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
PODS:
|
||||
- Alamofire (5.6.4)
|
||||
- Alamofire (5.8.1)
|
||||
- ByteowlsCapacitorFilesharer (5.0.0):
|
||||
- Capacitor
|
||||
- Capacitor (5.4.0):
|
||||
@@ -23,11 +23,11 @@ PODS:
|
||||
- Capacitor
|
||||
- CordovaPlugins (5.4.0):
|
||||
- CapacitorCordova
|
||||
- Realm (10.36.0):
|
||||
- Realm/Headers (= 10.36.0)
|
||||
- Realm/Headers (10.36.0)
|
||||
- RealmSwift (10.36.0):
|
||||
- Realm (= 10.36.0)
|
||||
- Realm (10.47.0):
|
||||
- Realm/Headers (= 10.47.0)
|
||||
- Realm/Headers (10.47.0)
|
||||
- RealmSwift (10.47.0):
|
||||
- Realm (= 10.47.0)
|
||||
|
||||
DEPENDENCIES:
|
||||
- Alamofire (~> 5.5)
|
||||
@@ -78,7 +78,7 @@ EXTERNAL SOURCES:
|
||||
:path: "../capacitor-cordova-ios-plugins"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
Alamofire: 4e95d97098eacb88856099c4fc79b526a299e48c
|
||||
Alamofire: 3ca42e259043ee0dc5c0cdd76c4bc568b8e42af7
|
||||
ByteowlsCapacitorFilesharer: f6a773825632d65d5404a34764c4a3fd857bb176
|
||||
Capacitor: a5cd803e02b471591c81165f400ace01f40b11d3
|
||||
CapacitorApp: 024e1b1bea5f883d79f6330d309bc441c88ad04a
|
||||
@@ -91,8 +91,8 @@ SPEC CHECKSUMS:
|
||||
CapacitorPreferences: f03954bcb0ff09c792909e46bff88e3183c16b10
|
||||
CapacitorStatusBar: 565c0a1ebd79bb40d797606a8992b4a105885309
|
||||
CordovaPlugins: a5db67e5ac1061b9869a0efd754f2c2f776aeccc
|
||||
Realm: 3fd136cb4c83a927482a7f1612496d37beed3cf5
|
||||
RealmSwift: 513d4dcbf5bfc4d573454088b592685fc48dd716
|
||||
Realm: e43fb540ae947497e3ea8a662443256920602060
|
||||
RealmSwift: 8b06ed06b5d16749ae0c4d91c0cba414a9e28189
|
||||
|
||||
PODFILE CHECKSUM: 02e6ffe2f51a453ce222ee9af0e55e9448d8514c
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import RealmSwift
|
||||
class DeviceSettings: Object {
|
||||
@Persisted var disableAutoRewind: Bool = false
|
||||
@Persisted var enableAltView: Bool = true
|
||||
@Persisted var allowSeekingOnMediaControls: Bool = false
|
||||
@Persisted var jumpBackwardsTime: Int = 10
|
||||
@Persisted var jumpForwardTime: Int = 10
|
||||
@Persisted var lockOrientation: String = "NONE"
|
||||
@@ -26,6 +27,7 @@ func deviceSettingsToJSON(settings: DeviceSettings) -> Dictionary<String, Any> {
|
||||
return [
|
||||
"disableAutoRewind": settings.disableAutoRewind,
|
||||
"enableAltView": settings.enableAltView,
|
||||
"allowSeekingOnMediaControls": settings.allowSeekingOnMediaControls,
|
||||
"jumpBackwardsTime": settings.jumpBackwardsTime,
|
||||
"jumpForwardTime": settings.jumpForwardTime,
|
||||
"lockOrientation": settings.lockOrientation,
|
||||
|
||||
@@ -588,7 +588,7 @@ class AudioPlayer: NSObject {
|
||||
}
|
||||
|
||||
// MARK: - Now playing
|
||||
private func setupRemoteTransportControls() {
|
||||
func setupRemoteTransportControls() {
|
||||
DispatchQueue.runOnMainQueue {
|
||||
UIApplication.shared.beginReceivingRemoteControlEvents()
|
||||
}
|
||||
@@ -672,7 +672,7 @@ class AudioPlayer: NSObject {
|
||||
return .success
|
||||
}
|
||||
|
||||
commandCenter.changePlaybackPositionCommand.isEnabled = true
|
||||
commandCenter.changePlaybackPositionCommand.isEnabled = deviceSettings.allowSeekingOnMediaControls
|
||||
commandCenter.changePlaybackPositionCommand.addTarget { [weak self] event in
|
||||
guard let event = event as? MPChangePlaybackPositionCommandEvent else {
|
||||
return .noSuchContent
|
||||
|
||||
@@ -135,6 +135,10 @@ class PlayerHandler {
|
||||
)
|
||||
}
|
||||
|
||||
public static func updateRemoteTransportControls() {
|
||||
self.player?.setupRemoteTransportControls()
|
||||
}
|
||||
|
||||
// MARK: - Helper logic
|
||||
|
||||
private static func cleanupOldSessions(currentSessionId: String?) {
|
||||
|
||||
+1
-2
@@ -212,8 +212,7 @@ export default {
|
||||
}
|
||||
},
|
||||
userUpdated(user) {
|
||||
// console.log('[default] userUpdated:', JSON.stringify(user))
|
||||
if (this.user && this.user.id == user.id) {
|
||||
if (this.user?.id == user.id) {
|
||||
this.$store.commit('user/setUser', user)
|
||||
}
|
||||
},
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "audiobookshelf-app",
|
||||
"version": "0.9.72-beta",
|
||||
"version": "0.9.73-beta",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "audiobookshelf-app",
|
||||
"version": "0.9.72-beta",
|
||||
"version": "0.9.73-beta",
|
||||
"dependencies": {
|
||||
"@byteowls/capacitor-filesharer": "^5.0.0",
|
||||
"@capacitor/android": "^5.0.0",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "audiobookshelf-app",
|
||||
"version": "0.9.72-beta",
|
||||
"version": "0.9.73-beta",
|
||||
"author": "advplyr",
|
||||
"scripts": {
|
||||
"dev": "nuxt --hostname 0.0.0.0 --port 1337",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="w-full h-full py-6 px-2">
|
||||
<div v-if="localLibraryItem" class="w-full h-full">
|
||||
<div class="px-2 flex items-center mb-2">
|
||||
<p class="text-base font-semibold">{{ mediaMetadata.title }}</p>
|
||||
<p class="text-base font-semibold truncate">{{ mediaMetadata.title }}</p>
|
||||
<div class="flex-grow" />
|
||||
|
||||
<button v-if="audioTracks.length && !isPodcast" class="shadow-sm text-success flex items-center justify-center rounded-full mx-2" @click.stop="play">
|
||||
|
||||
+18
-2
@@ -24,7 +24,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<modals-item-more-menu-modal v-model="showMoreMenu" :library-item="selectedLibraryItem" :episode="selectedEpisode" hide-rss-feed-option :processing.sync="processing" />
|
||||
<modals-item-more-menu-modal v-model="showMoreMenu" :library-item="selectedLibraryItem" :episode="selectedEpisode" :playlist="playlist" hide-rss-feed-option :processing.sync="processing" />
|
||||
<div v-show="processing" class="fixed top-0 left-0 w-screen h-screen flex items-center justify-center bg-black/50 z-50">
|
||||
<ui-loading-indicator />
|
||||
</div>
|
||||
@@ -140,8 +140,24 @@ export default {
|
||||
this.$eventBus.$emit('play-item', { libraryItemId: nextItem.libraryItemId, episodeId: nextItem.episodeId })
|
||||
}
|
||||
}
|
||||
},
|
||||
playlistUpdated(playlist) {
|
||||
if (this.playlist.id !== playlist.id) return
|
||||
this.playlist = playlist
|
||||
},
|
||||
playlistRemoved(playlist) {
|
||||
if (this.playlist.id === playlist.id) {
|
||||
this.$router.replace('/bookshelf/playlists')
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {}
|
||||
mounted() {
|
||||
this.$socket.$on('playlist_updated', this.playlistUpdated)
|
||||
this.$socket.$on('playlist_removed', this.playlistRemoved)
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.$socket.$off('playlist_updated', this.playlistUpdated)
|
||||
this.$socket.$off('playlist_removed', this.playlistRemoved)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -61,6 +61,12 @@
|
||||
<p class="pl-4">{{ $strings.LabelEnableMp3IndexSeeking }}</p>
|
||||
<span class="material-icons-outlined ml-2" @click.stop="showConfirmMp3IndexSeeking">info</span>
|
||||
</div>
|
||||
<div class="flex items-center py-3">
|
||||
<div class="w-10 flex justify-center" @click="toggleAllowSeekingOnMediaControls">
|
||||
<ui-toggle-switch v-model="settings.allowSeekingOnMediaControls" @input="saveSettings" />
|
||||
</div>
|
||||
<p class="pl-4">{{ $strings.LabelAllowSeekingOnMediaControls }}</p>
|
||||
</div>
|
||||
|
||||
<!-- Sleep timer settings -->
|
||||
<template v-if="!isiOS">
|
||||
@@ -154,6 +160,7 @@ export default {
|
||||
settings: {
|
||||
disableAutoRewind: false,
|
||||
enableAltView: true,
|
||||
allowSeekingOnMediaControls: false,
|
||||
jumpForwardTime: 10,
|
||||
jumpBackwardsTime: 10,
|
||||
enableMp3IndexSeeking: false,
|
||||
@@ -429,6 +436,10 @@ export default {
|
||||
this.settings.enableAltView = !this.settings.enableAltView
|
||||
this.saveSettings()
|
||||
},
|
||||
toggleAllowSeekingOnMediaControls() {
|
||||
this.settings.allowSeekingOnMediaControls = !this.settings.allowSeekingOnMediaControls
|
||||
this.saveSettings()
|
||||
},
|
||||
getCurrentOrientation() {
|
||||
const orientation = window.screen?.orientation || {}
|
||||
const type = orientation.type || ''
|
||||
@@ -471,6 +482,7 @@ export default {
|
||||
const deviceSettings = this.deviceData.deviceSettings || {}
|
||||
this.settings.disableAutoRewind = !!deviceSettings.disableAutoRewind
|
||||
this.settings.enableAltView = !!deviceSettings.enableAltView
|
||||
this.settings.allowSeekingOnMediaControls = !!deviceSettings.allowSeekingOnMediaControls
|
||||
this.settings.jumpForwardTime = deviceSettings.jumpForwardTime || 10
|
||||
this.settings.jumpBackwardsTime = deviceSettings.jumpBackwardsTime || 10
|
||||
this.settings.enableMp3IndexSeeking = !!deviceSettings.enableMp3IndexSeeking
|
||||
|
||||
+3
-1
@@ -14,9 +14,11 @@ const languageCodeMap = {
|
||||
'hr': { label: 'Hrvatski', dateFnsLocale: 'hr' },
|
||||
'it': { label: 'Italiano', dateFnsLocale: 'it' },
|
||||
'lt': { label: 'Lietuvių', dateFnsLocale: 'lt' },
|
||||
'hu': { label: 'Magyar', dateFnsLocale: 'hu' },
|
||||
'nl': { label: 'Nederlands', dateFnsLocale: 'nl' },
|
||||
'no': { label: 'Norsk', dateFnsLocale: 'no' },
|
||||
'pl': { label: 'Polski', dateFnsLocale: 'pl' },
|
||||
'pt-br': { label: 'Português (Brasil)', dateFnsLocale: 'ptBR' },
|
||||
'ru': { label: 'Русский', dateFnsLocale: 'ru' },
|
||||
'sv': { label: 'Svenska', dateFnsLocale: 'sv' },
|
||||
'zh-cn': { label: '简体中文 (Simplified Chinese)', dateFnsLocale: 'zhCN' },
|
||||
@@ -131,4 +133,4 @@ async function initialize() {
|
||||
export default ({ app, store }, inject) => {
|
||||
$localStore = app.$localStore
|
||||
initialize()
|
||||
}
|
||||
}
|
||||
|
||||
+8
-5
@@ -48,11 +48,7 @@ class ServerSocket extends EventEmitter {
|
||||
this.socket.on('init', this.onInit.bind(this))
|
||||
this.socket.on('user_updated', this.onUserUpdated.bind(this))
|
||||
this.socket.on('user_item_progress_updated', this.onUserItemProgressUpdated.bind(this))
|
||||
|
||||
// Good for testing socket requests
|
||||
// this.socket.onAny((evt, args) => {
|
||||
// console.log(`[SOCKET] onAny: ${this.socket.id}: ${evt} ${JSON.stringify(args)}`)
|
||||
// })
|
||||
this.socket.on('playlist_added', this.onPlaylistAdded.bind(this))
|
||||
}
|
||||
|
||||
removeListeners() {
|
||||
@@ -93,6 +89,13 @@ class ServerSocket extends EventEmitter {
|
||||
this.$store.commit('user/updateUserMediaProgress', payload.data)
|
||||
this.emit('user_media_progress_updated', payload)
|
||||
}
|
||||
|
||||
onPlaylistAdded() {
|
||||
// Currently numUserPlaylists is only used for showing the playlist tab or not. Precise number is not necessary
|
||||
if (!this.$store.state.libraries.numUserPlaylists) {
|
||||
this.$store.commit('libraries/setNumUserPlaylists', 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default ({ app, store }, inject) => {
|
||||
|
||||
+160
-158
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"ButtonAdd": "Přidat",
|
||||
"ButtonAddNewServer": "Add New Server",
|
||||
"ButtonAddNewServer": "Přidat nový server",
|
||||
"ButtonAuthors": "Autoři",
|
||||
"ButtonBack": "Back",
|
||||
"ButtonBack": "Zpět",
|
||||
"ButtonCancel": "Zrušit",
|
||||
"ButtonCancelTimer": "Cancel Timer",
|
||||
"ButtonCancelTimer": "Zrušit časovač",
|
||||
"ButtonClearFilter": "Vymazat filtr",
|
||||
"ButtonCloseFeed": "Zavřít kanál",
|
||||
"ButtonCollections": "Kolekce",
|
||||
"ButtonConnect": "Connect",
|
||||
"ButtonConnectToServer": "Connect to Server",
|
||||
"ButtonConnect": "Připojit",
|
||||
"ButtonConnectToServer": "Připojit k serveru",
|
||||
"ButtonCreate": "Vytvořit",
|
||||
"ButtonCreateBookmark": "Create Bookmark",
|
||||
"ButtonCreateNewPlaylist": "Create New Playlist",
|
||||
"ButtonCreateBookmark": "Vytvořit záložku",
|
||||
"ButtonCreateNewPlaylist": "Vytvořit nový seznam skladeb",
|
||||
"ButtonDelete": "Smazat",
|
||||
"ButtonDeleteLocalEpisode": "Delete local episode",
|
||||
"ButtonDeleteLocalFile": "Delete local file",
|
||||
"ButtonDeleteLocalItem": "Delete local item",
|
||||
"ButtonDisableAutoTimer": "Disable Auto Timer",
|
||||
"ButtonDisconnect": "Disconnect",
|
||||
"ButtonHistory": "History",
|
||||
"ButtonDeleteLocalEpisode": "Smazat místní epizodu",
|
||||
"ButtonDeleteLocalFile": "Smazat místní soubor",
|
||||
"ButtonDeleteLocalItem": "Smazat místní položku",
|
||||
"ButtonDisableAutoTimer": "Zakázat automatický časovač",
|
||||
"ButtonDisconnect": "Odpojit",
|
||||
"ButtonHistory": "Historie",
|
||||
"ButtonHome": "Domů",
|
||||
"ButtonIssues": "Problémy",
|
||||
"ButtonLatest": "Nejnovější",
|
||||
"ButtonLibrary": "Knihovna",
|
||||
"ButtonLocalMedia": "Local Media",
|
||||
"ButtonManageLocalFiles": "Manage Local Files",
|
||||
"ButtonNewFolder": "New Folder",
|
||||
"ButtonNextEpisode": "Next Episode",
|
||||
"ButtonLocalMedia": "Místní média",
|
||||
"ButtonManageLocalFiles": "Spravovat místní soubory",
|
||||
"ButtonNewFolder": "Nová složka",
|
||||
"ButtonNextEpisode": "Další epizoda",
|
||||
"ButtonOpenFeed": "Otevřít kanál",
|
||||
"ButtonOverride": "Override",
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonOverride": "Přepsat",
|
||||
"ButtonPause": "Pozastavit",
|
||||
"ButtonPlay": "Přehrát",
|
||||
"ButtonPlaying": "Hraje",
|
||||
"ButtonPlaying": "Přehrává se",
|
||||
"ButtonPlaylists": "Seznamy skladeb",
|
||||
"ButtonRead": "Číst",
|
||||
"ButtonRemove": "Odstranit",
|
||||
"ButtonRemoveFromServer": "Remove from Server",
|
||||
"ButtonRemoveFromServer": "Odstranit ze serveru",
|
||||
"ButtonSave": "Uložit",
|
||||
"ButtonSaveOrder": "Save Order",
|
||||
"ButtonSaveOrder": "Uložit pořadí",
|
||||
"ButtonSearch": "Hledat",
|
||||
"ButtonSendEbookToDevice": "Send Ebook to Device",
|
||||
"ButtonSendEbookToDevice": "Odeslat e-knihu na zařízení",
|
||||
"ButtonSeries": "Série",
|
||||
"ButtonSetTimer": "Set Timer",
|
||||
"ButtonStream": "Stream",
|
||||
"ButtonSetTimer": "Nastavit časovač",
|
||||
"ButtonStream": "Streamovat",
|
||||
"ButtonSubmit": "Odeslat",
|
||||
"ButtonSwitchServerUser": "Switch Server/User",
|
||||
"ButtonUserStats": "User Stats",
|
||||
"ButtonSwitchServerUser": "Přepnout server/uživatele",
|
||||
"ButtonUserStats": "Statistiky uživatele",
|
||||
"ButtonYes": "Ano",
|
||||
"HeaderAccount": "Účet",
|
||||
"HeaderAdvanced": "Pokročilé",
|
||||
@@ -54,132 +54,133 @@
|
||||
"HeaderChapters": "Kapitoly",
|
||||
"HeaderCollection": "Kolekce",
|
||||
"HeaderCollectionItems": "Položky kolekce",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderConnectionStatus": "Stav připojení",
|
||||
"HeaderDetails": "Podrobnosti",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Soubory elektronických knih",
|
||||
"HeaderDownloads": "Stahování",
|
||||
"HeaderEbookFiles": "Soubory e-knih",
|
||||
"HeaderEpisodes": "Epizody",
|
||||
"HeaderEreaderSettings": "Nastavení čtečky elektronických knih",
|
||||
"HeaderLatestEpisodes": "Poslední epizody",
|
||||
"HeaderEreaderSettings": "Nastavení čtečky e-knih",
|
||||
"HeaderLatestEpisodes": "Nejnovější epizody",
|
||||
"HeaderLibraries": "Knihovny",
|
||||
"HeaderLocalFolders": "Local Folders",
|
||||
"HeaderLocalLibraryItems": "Local Library Items",
|
||||
"HeaderNewPlaylist": "New Playlist",
|
||||
"HeaderLocalFolders": "Místní složky",
|
||||
"HeaderLocalLibraryItems": "Místní položky knihovny",
|
||||
"HeaderNewPlaylist": "Nový seznam skladeb",
|
||||
"HeaderOpenRSSFeed": "Otevřít RSS kanál",
|
||||
"HeaderPlaybackSettings": "Playback Settings",
|
||||
"HeaderPlaybackSettings": "Nastavení přehrávání",
|
||||
"HeaderPlaylist": "Seznam skladeb",
|
||||
"HeaderPlaylistItems": "Položky seznamu přehrávání",
|
||||
"HeaderRSSFeed": "RSS Feed",
|
||||
"HeaderRSSFeedGeneral": "Podrobnosti o RSS",
|
||||
"HeaderRSSFeedIsOpen": "Informační kanál RSS je otevřený",
|
||||
"HeaderSelectDownloadLocation": "Select Download Location",
|
||||
"HeaderRSSFeed": "RSS kanál",
|
||||
"HeaderRSSFeedGeneral": "Detaily RSS",
|
||||
"HeaderRSSFeedIsOpen": "Kanál RSS je otevřen",
|
||||
"HeaderSelectDownloadLocation": "Vyberte umístění pro stažení",
|
||||
"HeaderSettings": "Nastavení",
|
||||
"HeaderSleepTimer": "Časovač vypnutí",
|
||||
"HeaderSleepTimerSettings": "Sleep Timer Settings",
|
||||
"HeaderStatsMinutesListeningChart": "Počet minut poslechu (posledních 7 dní)",
|
||||
"HeaderStatsRecentSessions": "Poslední relace",
|
||||
"HeaderSleepTimer": "Časovač spánku",
|
||||
"HeaderSleepTimerSettings": "Nastavení časovače spánku",
|
||||
"HeaderStatsMinutesListeningChart": "Minuty poslechu (posledních 7 dní)",
|
||||
"HeaderStatsRecentSessions": "Poslední sezení",
|
||||
"HeaderTableOfContents": "Obsah",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderUserInterfaceSettings": "Nastavení uživatelského rozhraní",
|
||||
"HeaderYourStats": "Vaše statistiky",
|
||||
"LabelAdded": "Přidáno",
|
||||
"LabelAddedAt": "Přidáno v",
|
||||
"LabelAddToPlaylist": "Přidat do seznamu přehrávání",
|
||||
"LabelAddToPlaylist": "Přidat do seznamu skladeb",
|
||||
"LabelAll": "Vše",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Autor (jméno a příjmení)",
|
||||
"LabelAuthorLastFirst": "Autor (příjmení a jméno)",
|
||||
"LabelAuthors": "Autoři",
|
||||
"LabelAutoDownloadEpisodes": "Automaticky stahovat epizody",
|
||||
"LabelAutoRewindTime": "Auto rewind time",
|
||||
"LabelAutoSleepTimer": "Auto sleep timer",
|
||||
"LabelAutoSleepTimerAutoRewind": "Auto sleep timer auto rewind",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "When the auto sleep timer finishes, playing the item again will automatically rewind your position.",
|
||||
"LabelAutoSleepTimerHelp": "When playing media between the specified start and end times a sleep timer will automatically start.",
|
||||
"LabelAutoRewindTime": "Přetočit zpět o",
|
||||
"LabelAutoSleepTimer": "Automatický časovač spánku",
|
||||
"LabelAutoSleepTimerAutoRewind": "Přetočit zpět po uspání",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Když dojde k uspání automatickým časovačem spánku, pozice přehrávání je posunuta zpět o vybraný čas.",
|
||||
"LabelAutoSleepTimerHelp": "Během přehrávání média v časovém rozmezí \"Od\" a \"Do\" se automaticky spustí časovač spánku.",
|
||||
"LabelBooks": "Knihy",
|
||||
"LabelChapters": "Kapitoly",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelChapterTrack": "Stopa kapitoly",
|
||||
"LabelClosePlayer": "Zavřít přehrávač",
|
||||
"LabelCollapseSeries": "Sbalit sérii",
|
||||
"LabelComplete": "Dokončeno",
|
||||
"LabelContinueBooks": "Continue Books",
|
||||
"LabelContinueEpisodes": "Continue Episodes",
|
||||
"LabelContinueListening": "Continue Listening",
|
||||
"LabelContinueReading": "Continue Reading",
|
||||
"LabelContinueSeries": "Continue Series",
|
||||
"LabelCustomTime": "Custom time",
|
||||
"LabelContinueBooks": "Pokračovat v knihách",
|
||||
"LabelContinueEpisodes": "Pokračovat v epizodách",
|
||||
"LabelContinueListening": "Pokračovat v poslechu",
|
||||
"LabelContinueReading": "Pokračovat ve čtení",
|
||||
"LabelContinueSeries": "Pokračovat v sériích",
|
||||
"LabelCustomTime": "Vlastní čas",
|
||||
"LabelDescription": "Popis",
|
||||
"LabelDisableAudioFadeOut": "Disable audio fade out",
|
||||
"LabelDisableAudioFadeOutHelp": "Audio volume will start decreasing when there is less than 1 minute remaining on the sleep timer. Enable this setting to not fade out.",
|
||||
"LabelDisableAutoRewind": "Disable auto rewind",
|
||||
"LabelDisableShakeToReset": "Disable shake to reset",
|
||||
"LabelDisableShakeToResetHelp": "Shaking your device while the timer is running OR within 2 minutes of the timer expiring will reset the sleep timer. Enable this setting to disable shake to reset.",
|
||||
"LabelDisableVibrateOnReset": "Disable vibrate on reset",
|
||||
"LabelDisableVibrateOnResetHelp": "When the sleep timer gets reset your device will vibrate. Enable this setting to not vibrate when the sleep timer resets.",
|
||||
"LabelDiscover": "Discover",
|
||||
"LabelDisableAudioFadeOut": "Vypnout postupné snižování zvuku",
|
||||
"LabelDisableAudioFadeOutHelp": "Hlasitost zvuku začne klesat, pokud zbývá méně než 1 minuta do vypršení časovače spánku. Tuto možnost povolte, pokud nechcete postupné snižování hlasitosti.",
|
||||
"LabelDisableAutoRewind": "Zakázat automatické přetočení",
|
||||
"LabelDisableShakeToReset": "Zakázat resetování otřesem",
|
||||
"LabelDisableShakeToResetHelp": "Když je časovač spánku spuštěn nebo zbýva 2 minuty do jeho vypršení, zatřesení zařízením se resetuje časovač spánku. Povolte toto nastavení, pokud chcete resetování otřesem zakázat.",
|
||||
"LabelDisableVibrateOnReset": "Zakázat vibraci při resetování",
|
||||
"LabelDisableVibrateOnResetHelp": "Když je časovač spánku resetován, zařízení zavibruje. Tuto možnost povolte, pokud nechcete, aby zařízení vibrace provádělo při resetování časovače spánku.",
|
||||
"LabelDiscover": "Objevit",
|
||||
"LabelDownload": "Stáhnout",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDuration": "Doba trvání",
|
||||
"LabelEbook": "Elektronická kniha",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelDownloaded": "Staženo",
|
||||
"LabelDuration": "Trvání",
|
||||
"LabelEbook": "E-kniha",
|
||||
"LabelEbooks": "E-knihy",
|
||||
"LabelEnable": "Povolit",
|
||||
"LabelEnableMp3IndexSeeking": "Enable mp3 index seeking",
|
||||
"LabelEnableMp3IndexSeekingHelp": "This setting should only be enabled if you have mp3 files that are not seeking correctly. Inaccurate seeking is most likely due to Variable birate (VBR) MP3 files. This setting will force index seeking, in which a time-to-byte mapping is built as the file is read. In some cases with large MP3 files there will be a delay when seeking towards the end of the file.",
|
||||
"LabelEnableMp3IndexSeeking": "Povolit indexové vyhledávání mp3",
|
||||
"LabelEnableMp3IndexSeekingHelp": "Toto nastavení by mělo být povoleno pouze v případě, že soubory MP3 nejsou správně vyhledávány. Nepřesné vyhledávání je s největší pravděpodobností způsobeno soubory MP3 s proměnlivým datovým tokem (VBR). Toto nastavení vynutí indexové vyhledávání, při kterém se při čtení souboru vytváří mapování času na bajty. V některých případech u velkých souborů MP3 dochází ke zpoždění při vyhledávání ke konci souboru.",
|
||||
"LabelEnd": "Konec",
|
||||
"LabelEndOfChapter": "End of Chapter",
|
||||
"LabelEndTime": "End time",
|
||||
"LabelEndOfChapter": "Konec kapitoly",
|
||||
"LabelEndTime": "Do",
|
||||
"LabelEpisode": "Epizoda",
|
||||
"LabelFeedURL": "URL zdroje",
|
||||
"LabelFeedURL": "URL kanálu",
|
||||
"LabelFile": "Soubor",
|
||||
"LabelFileBirthtime": "Čas vzniku souboru",
|
||||
"LabelFileModified": "Soubor změněn",
|
||||
"LabelFileBirthtime": "Čas vytvoření souboru",
|
||||
"LabelFileModified": "Soubor upraven",
|
||||
"LabelFilename": "Název souboru",
|
||||
"LabelFinished": "Dokončeno",
|
||||
"LabelFolder": "Složka",
|
||||
"LabelFontScale": "Měřítko písma",
|
||||
"LabelGenre": "Žánr",
|
||||
"LabelGenres": "Žánry",
|
||||
"LabelHapticFeedback": "Haptic feedback",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHigh": "High",
|
||||
"LabelHapticFeedback": "Haptická odezva",
|
||||
"LabelHasEbook": "Má e-knihu",
|
||||
"LabelHasSupplementaryEbook": "Má doplňkovou e-knihu",
|
||||
"LabelHeavy": "Těžké",
|
||||
"LabelHigh": "Vysoké",
|
||||
"LabelHost": "Hostitel",
|
||||
"LabelIncomplete": "Neúplné",
|
||||
"LabelInProgress": "Probíhá",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
"LabelInternalAppStorage": "Interní úložiště aplikace",
|
||||
"LabelJumpBackwardsTime": "Délka skoku zpět v čase",
|
||||
"LabelJumpForwardsTime": "Délka skoku vpřed v čase",
|
||||
"LabelLanguage": "Jazyk",
|
||||
"LabelLayout": "Layout",
|
||||
"LabelLayoutAuto": "Auto",
|
||||
"LabelLayoutSinglePage": "Single page",
|
||||
"LabelLight": "Light",
|
||||
"LabelLayout": "Rozvržení",
|
||||
"LabelLayoutAuto": "Automatické",
|
||||
"LabelLayoutSinglePage": "Jedna stránka",
|
||||
"LabelLight": "Světlé",
|
||||
"LabelLineSpacing": "Řádkování",
|
||||
"LabelListenAgain": "Listen Again",
|
||||
"LabelLocalBooks": "Local Books",
|
||||
"LabelLocalPodcasts": "Local Podcasts",
|
||||
"LabelLockOrientation": "Lock orientation",
|
||||
"LabelLockPlayer": "Lock Player",
|
||||
"LabelLow": "Low",
|
||||
"LabelListenAgain": "Poslechnout znovu",
|
||||
"LabelLocalBooks": "Místní knihy",
|
||||
"LabelLocalPodcasts": "Místní podcasty",
|
||||
"LabelLockOrientation": "Zamknout orientaci",
|
||||
"LabelLockPlayer": "Zamknout přehrávač",
|
||||
"LabelLow": "Nízké",
|
||||
"LabelMediaType": "Typ média",
|
||||
"LabelMedium": "Medium",
|
||||
"LabelMedium": "Střední",
|
||||
"LabelMore": "Více",
|
||||
"LabelMoreInfo": "Více informací",
|
||||
"LabelName": "Jméno",
|
||||
"LabelNarrator": "Interpret",
|
||||
"LabelNarrators": "Interpreti",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNo": "No",
|
||||
"LabelNarrator": "Vypravěč",
|
||||
"LabelNarrators": "Vypravěči",
|
||||
"LabelNewestAuthors": "Nejnovější autoři",
|
||||
"LabelNewestEpisodes": "Nejnovější epizody",
|
||||
"LabelNo": "Ne",
|
||||
"LabelNotFinished": "Nedokončeno",
|
||||
"LabelNotStarted": "Nezahájeno",
|
||||
"LabelOff": "Off",
|
||||
"LabelOff": "Vypnout",
|
||||
"LabelPassword": "Heslo",
|
||||
"LabelPath": "Cesta",
|
||||
"LabelPlaybackDirect": "Direct",
|
||||
"LabelPlaybackLocal": "Local",
|
||||
"LabelPlaybackSpeed": "Playback Speed",
|
||||
"LabelPlaybackTranscode": "Transcode",
|
||||
"LabelPlaybackDirect": "Přímé",
|
||||
"LabelPlaybackLocal": "Místní",
|
||||
"LabelPlaybackSpeed": "Rychlost přehrávání",
|
||||
"LabelPlaybackTranscode": "Překódovává se",
|
||||
"LabelPodcast": "Podcast",
|
||||
"LabelPodcasts": "Podcasty",
|
||||
"LabelPreventIndexing": "Zabránit indexování vašeho kanálu v adresářích podcastů iTunes a Google",
|
||||
@@ -187,96 +188,97 @@
|
||||
"LabelPubDate": "Datum vydání",
|
||||
"LabelPublishYear": "Rok vydání",
|
||||
"LabelRead": "Číst",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelReadAgain": "Číst znovu",
|
||||
"LabelRecentlyAdded": "Nedávno přidáno",
|
||||
"LabelRecentSeries": "Nedávné série",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Vlastní e-mail vlastníka",
|
||||
"LabelRSSFeedCustomOwnerName": "Vlastní jméno vlastníka",
|
||||
"LabelRSSFeedPreventIndexing": "Zabránit indexování",
|
||||
"LabelRSSFeedSlug": "RSS kanál Slug",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelRSSFeedSlug": "Klíčové slovo kanálu RSS",
|
||||
"LabelScaleElapsedTimeBySpeed": "Škálovat uplynulý čas podle rychlosti",
|
||||
"LabelSeason": "Sezóna",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
"LabelSelectADevice": "Vyberte zařízení",
|
||||
"LabelSeries": "Série",
|
||||
"LabelServerAddress": "Server address",
|
||||
"LabelServerAddress": "Adresa serveru",
|
||||
"LabelSetEbookAsPrimary": "Nastavit jako primární",
|
||||
"LabelSetEbookAsSupplementary": "Nastavit jako doplňkové",
|
||||
"LabelShakeSensitivity": "Shake sensitivity",
|
||||
"LabelSetEbookAsSupplementary": "Nastavit jako doplňkový",
|
||||
"LabelShakeSensitivity": "Citlivost na otřes",
|
||||
"LabelShowAll": "Zobrazit vše",
|
||||
"LabelSize": "Velikost",
|
||||
"LabelSleepTimer": "Časovač vypnutí",
|
||||
"LabelStart": "Spustit",
|
||||
"LabelStartTime": "Čas Spuštění",
|
||||
"LabelSleepTimer": "Spánek po",
|
||||
"LabelStart": "Začít",
|
||||
"LabelStartTime": "Od",
|
||||
"LabelStatsBestDay": "Nejlepší den",
|
||||
"LabelStatsDailyAverage": "Denní průměr",
|
||||
"LabelStatsDays": "Dny",
|
||||
"LabelStatsDaysListened": "Dny poslechu",
|
||||
"LabelStatsInARow": "v řadě",
|
||||
"LabelStatsItemsFinished": "Dokončené Položky",
|
||||
"LabelStatsItemsFinished": "Dokončené položky",
|
||||
"LabelStatsMinutes": "minut",
|
||||
"LabelStatsMinutesListening": "Minuty poslechu",
|
||||
"LabelStatsWeekListening": "Týdenní poslech",
|
||||
"LabelTag": "Značka",
|
||||
"LabelTags": "Značky",
|
||||
"LabelStatsWeekListening": "Za týden",
|
||||
"LabelTag": "Štítek",
|
||||
"LabelTags": "Štítky",
|
||||
"LabelTheme": "Téma",
|
||||
"LabelThemeDark": "Tmavé",
|
||||
"LabelThemeLight": "Světlé",
|
||||
"LabelTimeRemaining": "{0} zbývá",
|
||||
"LabelTitle": "Název",
|
||||
"LabelTotalTrack": "Total Track",
|
||||
"LabelTotalTrack": "Celková stopa",
|
||||
"LabelTracks": "Stopy",
|
||||
"LabelType": "Typ",
|
||||
"LabelUnlockPlayer": "Unlock Player",
|
||||
"LabelUseBookshelfView": "Use bookshelf view",
|
||||
"LabelUnlockPlayer": "Odemknout přehrávač",
|
||||
"LabelUseBookshelfView": "Použít vzhled knihovny",
|
||||
"LabelUser": "Uživatel",
|
||||
"LabelUsername": "Uživatelské jméno",
|
||||
"LabelVeryHigh": "Very High",
|
||||
"LabelVeryLow": "Very Low",
|
||||
"LabelVeryHigh": "Velmi vysoké",
|
||||
"LabelVeryLow": "Velmi nízké",
|
||||
"LabelYourBookmarks": "Vaše záložky",
|
||||
"LabelYourProgress": "Váš pokrok",
|
||||
"MessageAndroid10Downloads": "Android 10 and below will use internal app storage for downloads.",
|
||||
"MessageAttemptingServerConnection": "Attempting server connection...",
|
||||
"MessageAudiobookshelfServerNotConnected": "Audiobookshelf server not connected",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>Important!</strong> This app is designed to work with an Audiobookshelf server that you or someone you know is hosting. This app does not provide any content.",
|
||||
"MessageBookshelfEmpty": "Bookshelf empty",
|
||||
"MessageConfirmDeleteLocalEpisode": "Remove local episode \"{0}\" from your device? The file on the server will be unaffected.",
|
||||
"MessageConfirmDeleteLocalFiles": "Remove local files of this item from your device? The files on the server and your progress will be unaffected.",
|
||||
"MessageConfirmDiscardProgress": "Are you sure you want to reset your progress?",
|
||||
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
|
||||
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
|
||||
"MessageDiscardProgress": "Discard Progress",
|
||||
"MessageDownloadCompleteProcessing": "Download complete. Processing...",
|
||||
"MessageDownloading": "Downloading...",
|
||||
"MessageAndroid10Downloads": "Android 10 a starší budou používat interní úložiště aplikace pro stahování.",
|
||||
"MessageAttemptingServerConnection": "Pokouším se o připojit k serveru...",
|
||||
"MessageAudiobookshelfServerNotConnected": "Server Audiobookshelf není připojen",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>Důležité!</strong> Tato aplikace je navržena, aby pracovala se serverem Audiobookshelf, který hostuje buď vy, nebo někdo, koho znáte. Tato aplikace neposkytuje žádný obsah.",
|
||||
"MessageBookshelfEmpty": "Knihovna je prázdná",
|
||||
"MessageConfirmDeleteLocalEpisode": "Odebrat místní epizodu „{0}“ ze zařízení? Soubor na serveru zůstane nezměněný.",
|
||||
"MessageConfirmDeleteLocalFiles": "Odebrat místní soubory této položky ze zařízení? Soubory na serveru a váš pokrok nebudou ovlivněny.",
|
||||
"MessageConfirmDiscardProgress": "Opravdu chcete zahodit svůj pokrok?",
|
||||
"MessageConfirmMarkAsFinished": "Opravdu chcete tuto položku označit jako dokončenou?",
|
||||
"MessageConfirmRemoveBookmark": "Opravdu chcete odebrat záložku?",
|
||||
"MessageDiscardProgress": "Zahodit pokrok",
|
||||
"MessageDownloadCompleteProcessing": "Stahování dokončeno. Zpracovává se...",
|
||||
"MessageDownloading": "Stahuje se...",
|
||||
"MessageDownloadingEpisode": "Stahuji epizodu",
|
||||
"MessageEpisodesQueuedForDownload": "{0} epizody zařazené do fronty ke stažení",
|
||||
"MessageEpisodesQueuedForDownload": "{0} epizod ve frontě ke stažení",
|
||||
"MessageFeedURLWillBe": "URL zdroje bude {0}",
|
||||
"MessageFetching": "Stahování...",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
|
||||
"MessageFetching": "Získává se...",
|
||||
"MessageFollowTheProjectOnGithub": "Sledujte projekt na GitHubu",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Stahování položky bylo dokončeno, ale nepodařilo se vytvořit položku v knihovně",
|
||||
"MessageLoading": "Načítá se...",
|
||||
"MessageLoadingServerData": "Loading server data...",
|
||||
"MessageLoadingServerData": "Načítání dat ze serveru...",
|
||||
"MessageMarkAsFinished": "Označit jako dokončené",
|
||||
"MessageMediaLinkedToADifferentServer": "Media is linked to an Audiobookshelf server on a different address ({0}). Progress will be synced when connected to this server address.",
|
||||
"MessageMediaLinkedToADifferentUser": "Media is linked to this server but was downloaded by a different user. Progress will only be synced to the user that downloaded it.",
|
||||
"MessageMediaLinkedToServer": "Linked to server {0}",
|
||||
"MessageMediaLinkedToThisServer": "Downloaded media is linked to this server",
|
||||
"MessageMediaNotLinkedToServer": "Media is not linked to an Audiobookshelf server. No progress will be synced.",
|
||||
"MessageMediaLinkedToADifferentServer": "Média jsou propojena se serverem Audiobookshelf na jiné adrese ({0}). Pokrok bude synchronizován, když budete připojeni k této adrese serveru.",
|
||||
"MessageMediaLinkedToADifferentUser": "Média jsou propojena se serverem, ale byla stažena jiným uživatelem. Pokrok bude synchronizován pouze s uživatelem, který je stáhl.",
|
||||
"MessageMediaLinkedToServer": "Propojeno se serverem {0}",
|
||||
"MessageMediaLinkedToThisServer": "Stažená média jsou propojena s tímto serverem",
|
||||
"MessageMediaNotLinkedToServer": "Média nejsou propojena se serverem Audiobookshelf. Pokrok nebude synchronizován.",
|
||||
"MessageNoBookmarks": "Žádné záložky",
|
||||
"MessageNoChapters": "Žádné kapitoly",
|
||||
"MessageNoItems": "Žádné položky",
|
||||
"MessageNoItemsFound": "Nebyly nalezeny žádné položky",
|
||||
"MessageNoListeningSessions": "Žádné poslechové relace",
|
||||
"MessageNoMediaFolders": "No Media Folders",
|
||||
"MessageNoNetworkConnection": "No network connection",
|
||||
"MessageNoMediaFolders": "Žádné složky médií",
|
||||
"MessageNoNetworkConnection": "Žádné připojení k síti",
|
||||
"MessageNoPodcastsFound": "Nebyly nalezeny žádné podcasty",
|
||||
"MessageNoUpdatesWereNecessary": "Nebyly nutné žádné aktualizace",
|
||||
"MessageNoUserPlaylists": "Nemáte žádné seznamy skladeb",
|
||||
"MessageReportBugsAndContribute": "Hlásit chyby, žádat o funkce a přispívat",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket connected over metered cellular",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered wifi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket connected over unmetered cellular",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered wifi",
|
||||
"MessageSocketNotConnected": "Socket not connected",
|
||||
"MessageReportBugsAndContribute": "Nahlašte chyby, vyžádejte si funkce a přispěte na",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket připojen přes měřenou mobilní síť",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket připojen přes měřenou wifi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket připojen přes neměřenou mobilní síť",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket připojen přes neměřenou wifi",
|
||||
"MessageSocketNotConnected": "Socket není připojen",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Upozornění: Většina aplikací pro podcasty bude vyžadovat, aby adresa URL kanálu RSS používala protokol HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Upozornění: 1 nebo více epizod nemá datum vydání. Některé podcastové aplikace to vyžadují.",
|
||||
"ToastBookmarkCreateFailed": "Vytvoření záložky se nezdařilo",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Tilføjet Kl.",
|
||||
"LabelAddToPlaylist": "Tilføj til Afspilningsliste",
|
||||
"LabelAll": "Alle",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Forfatter",
|
||||
"LabelAuthorFirstLast": "Forfatter (Fornavn Efternavn)",
|
||||
"LabelAuthorLastFirst": "Forfatter (Efternavn, Fornavn)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Brugerdefineret ejerens e-mail",
|
||||
"LabelRSSFeedCustomOwnerName": "Brugerdefineret ejerens navn",
|
||||
"LabelRSSFeedPreventIndexing": "Forhindrer indeksering",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Hinzugefügt am",
|
||||
"LabelAddToPlaylist": "Zur Wiedergabeliste hinzufügen",
|
||||
"LabelAll": "Alle",
|
||||
"LabelAllowSeekingOnMediaControls": "Erlaube Vor- und Zurückspulen auf dem Medienkontrollelement bei den Benachrichtigungen",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Autor (Vorname Nachname)",
|
||||
"LabelAuthorLastFirst": "Autor (Nachname, Vorname)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Erneut lesen",
|
||||
"LabelRecentlyAdded": "Kürzlich hinzugefügt",
|
||||
"LabelRecentSeries": "Aktuelle Serien",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Benutzerdefinierte Eigentümer-E-Mail",
|
||||
"LabelRSSFeedCustomOwnerName": "Benutzerdefinierter Name des Eigentümers",
|
||||
"LabelRSSFeedPreventIndexing": "Indizierung verhindern",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Added At",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAll": "All",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Author",
|
||||
"LabelAuthorFirstLast": "Author (First Last)",
|
||||
"LabelAuthorLastFirst": "Author (Last, First)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Añadido",
|
||||
"LabelAddToPlaylist": "Añadido a la Lista de Reproducción",
|
||||
"LabelAll": "Todos",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Autor (Nombre Apellido)",
|
||||
"LabelAuthorLastFirst": "Autor (Apellido, Nombre)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Email de dueño personalizado",
|
||||
"LabelRSSFeedCustomOwnerName": "Nombre de dueño personalizado",
|
||||
"LabelRSSFeedPreventIndexing": "Prevenir Indexado",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Date d’ajout",
|
||||
"LabelAddToPlaylist": "Ajouter à la liste de lecture",
|
||||
"LabelAll": "Tout",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Auteur",
|
||||
"LabelAuthorFirstLast": "Auteur (Prénom Nom)",
|
||||
"LabelAuthorLastFirst": "Auteur (Nom, Prénom)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Courriel du propriétaire personnalisé",
|
||||
"LabelRSSFeedCustomOwnerName": "Nom propriétaire personnalisé",
|
||||
"LabelRSSFeedPreventIndexing": "Empêcher l’indexation",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Added At",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAll": "All",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Author",
|
||||
"LabelAuthorFirstLast": "Author (First Last)",
|
||||
"LabelAuthorLastFirst": "Author (Last, First)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Added At",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAll": "All",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Author",
|
||||
"LabelAuthorFirstLast": "Author (First Last)",
|
||||
"LabelAuthorLastFirst": "Author (Last, First)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Added At",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAll": "All",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Author (First Last)",
|
||||
"LabelAuthorLastFirst": "Author (Last, First)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
||||
|
||||
+294
@@ -0,0 +1,294 @@
|
||||
{
|
||||
"ButtonAdd": "Hozzáadás",
|
||||
"ButtonAddNewServer": "Új szerver hozzáadása",
|
||||
"ButtonAuthors": "Szerzők",
|
||||
"ButtonBack": "Vissza",
|
||||
"ButtonCancel": "Mégse",
|
||||
"ButtonCancelTimer": "Időzítő megszakítása",
|
||||
"ButtonClearFilter": "Szűrő törlése",
|
||||
"ButtonCloseFeed": "Hírcsatorna bezárása",
|
||||
"ButtonCollections": "Gyűjtemények",
|
||||
"ButtonConnect": "Csatlakozás",
|
||||
"ButtonConnectToServer": "Csatlakozás a szerverhez",
|
||||
"ButtonCreate": "Létrehozás",
|
||||
"ButtonCreateBookmark": "Könyvjelző létrehozása",
|
||||
"ButtonCreateNewPlaylist": "Új lejátszási lista készítése",
|
||||
"ButtonDelete": "Törlés",
|
||||
"ButtonDeleteLocalEpisode": "Helyi epizód törlése",
|
||||
"ButtonDeleteLocalFile": "Helyi fájl törlése",
|
||||
"ButtonDeleteLocalItem": "Helyi elem törlése",
|
||||
"ButtonDisableAutoTimer": "Automatikus időzítő letiltása",
|
||||
"ButtonDisconnect": "Kapcsolat bontása",
|
||||
"ButtonHistory": "Előzmények",
|
||||
"ButtonHome": "Kezdőlap",
|
||||
"ButtonIssues": "Problémák",
|
||||
"ButtonLatest": "Legújabb",
|
||||
"ButtonLibrary": "Könyvtár",
|
||||
"ButtonLocalMedia": "Helyi média",
|
||||
"ButtonManageLocalFiles": "Helyi fájlok kezelése",
|
||||
"ButtonNewFolder": "Új mappa",
|
||||
"ButtonNextEpisode": "Következő epizód",
|
||||
"ButtonOpenFeed": "Hírcsatorna megnyitása",
|
||||
"ButtonOverride": "Felülírás",
|
||||
"ButtonPause": "Szünet",
|
||||
"ButtonPlay": "Lejátszás",
|
||||
"ButtonPlaying": "Lejátszás folyamatban",
|
||||
"ButtonPlaylists": "Lejátszási listák",
|
||||
"ButtonRead": "Olvasás",
|
||||
"ButtonRemove": "Eltávolítás",
|
||||
"ButtonRemoveFromServer": "Eltávolítás a szerverről",
|
||||
"ButtonSave": "Mentés",
|
||||
"ButtonSaveOrder": "Sorrend mentése",
|
||||
"ButtonSearch": "Keresés",
|
||||
"ButtonSendEbookToDevice": "E-könyv küldése eszközre",
|
||||
"ButtonSeries": "Sorozatok",
|
||||
"ButtonSetTimer": "Időzítő beállítása",
|
||||
"ButtonStream": "Streamelés",
|
||||
"ButtonSubmit": "Beküldés",
|
||||
"ButtonSwitchServerUser": "Szerver/Felhasználó váltása",
|
||||
"ButtonUserStats": "Felhasználói statisztikák",
|
||||
"ButtonYes": "Igen",
|
||||
"HeaderAccount": "Fiók",
|
||||
"HeaderAdvanced": "Haladó",
|
||||
"HeaderAudioTracks": "Audiósávok",
|
||||
"HeaderChapters": "Fejezetek",
|
||||
"HeaderCollection": "Gyűjtemény",
|
||||
"HeaderCollectionItems": "Gyűjtemény elemek",
|
||||
"HeaderConnectionStatus": "Kapcsolat állapota",
|
||||
"HeaderDetails": "Részletek",
|
||||
"HeaderDownloads": "Letöltések",
|
||||
"HeaderEbookFiles": "E-könyv fájlok",
|
||||
"HeaderEpisodes": "Epizódok",
|
||||
"HeaderEreaderSettings": "E-olvasó beállításai",
|
||||
"HeaderLatestEpisodes": "Legújabb epizódok",
|
||||
"HeaderLibraries": "Könyvtárak",
|
||||
"HeaderLocalFolders": "Helyi mappák",
|
||||
"HeaderLocalLibraryItems": "Helyi könyvtári elemek",
|
||||
"HeaderNewPlaylist": "Új lejátszási lista",
|
||||
"HeaderOpenRSSFeed": "RSS hírcsatorna megnyitása",
|
||||
"HeaderPlaybackSettings": "Lejátszási beállítások",
|
||||
"HeaderPlaylist": "Lejátszási lista",
|
||||
"HeaderPlaylistItems": "Lejátszási lista elemek",
|
||||
"HeaderRSSFeed": "RSS Hírcsatorna",
|
||||
"HeaderRSSFeedGeneral": "RSS részletek",
|
||||
"HeaderRSSFeedIsOpen": "RSS hírcsatorna nyitva van",
|
||||
"HeaderSelectDownloadLocation": "Letöltési hely kiválasztása",
|
||||
"HeaderSettings": "Beállítások",
|
||||
"HeaderSleepTimer": "Alvásidőzítő",
|
||||
"HeaderSleepTimerSettings": "Alvásidőzítő beállításai",
|
||||
"HeaderStatsMinutesListeningChart": "Hallgatási grafikon percekben (az elmúlt 7 napból)",
|
||||
"HeaderStatsRecentSessions": "Legutóbbi munkamenetek",
|
||||
"HeaderTableOfContents": "Tartalomjegyzék",
|
||||
"HeaderUserInterfaceSettings": "Felhasználói felület beállításai",
|
||||
"HeaderYourStats": "Saját statisztikák",
|
||||
"LabelAdded": "Hozzáadva",
|
||||
"LabelAddedAt": "Hozzáadva ekkor",
|
||||
"LabelAddToPlaylist": "Hozzáadás a lejátszási listához",
|
||||
"LabelAll": "Összes",
|
||||
"LabelAllowSeekingOnMediaControls": "Pozíció keresés engedélyezése a média értesítési vezérlőkön",
|
||||
"LabelAuthor": "Szerző",
|
||||
"LabelAuthorFirstLast": "Szerző (Keresztnév Vezetéknév)",
|
||||
"LabelAuthorLastFirst": "Szerző (Vezetéknév, Keresztnév)",
|
||||
"LabelAuthors": "Szerző",
|
||||
"LabelAutoDownloadEpisodes": "Epizódok automatikus letöltése",
|
||||
"LabelAutoRewindTime": "Automatikus visszatekerési idő",
|
||||
"LabelAutoSleepTimer": "Automatikus alvásidőzítő",
|
||||
"LabelAutoSleepTimerAutoRewind": "Automatikus alvásidőzítő automatikus visszatekerése",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Amikor az automatikus alvásidőzítő befejeződik, az elem újrajátszásakor automatikusan visszatekeri a pozíciót.",
|
||||
"LabelAutoSleepTimerHelp": "Amikor a megadott kezdési és befejezési idők között média lejátszása történik, egy alvásidőzítő automatikusan elindul.",
|
||||
"LabelBooks": "Könyv",
|
||||
"LabelChapters": "Fejezetek",
|
||||
"LabelChapterTrack": "Fejezet sáv",
|
||||
"LabelClosePlayer": "Lejátszó bezárása",
|
||||
"LabelCollapseSeries": "Sorozatok összecsukása",
|
||||
"LabelComplete": "Kész",
|
||||
"LabelContinueBooks": "Könyvek folytatása",
|
||||
"LabelContinueEpisodes": "Epizódok folytatása",
|
||||
"LabelContinueListening": "Hallgatás folytatása",
|
||||
"LabelContinueReading": "Olvasás folytatása",
|
||||
"LabelContinueSeries": "Sorozat folytatása",
|
||||
"LabelCustomTime": "Egyéni idő",
|
||||
"LabelDescription": "Leírás",
|
||||
"LabelDisableAudioFadeOut": "Hang fokozatos csendesítés letiltása",
|
||||
"LabelDisableAudioFadeOutHelp": "Az audio hangerő csökkenése kezdődik, amikor kevesebb, mint 1 perc marad az alvásidőzítőből. Engedélyezze ezt a beállítást, hogy ne csendesedjen el fokozatosan a hang.",
|
||||
"LabelDisableAutoRewind": "Automatikus visszatekerés letiltása",
|
||||
"LabelDisableShakeToReset": "Rázás a visszaállításhoz letiltása",
|
||||
"LabelDisableShakeToResetHelp": "Ha az időzítő futása alatt vagy az időzítő lejárta előtti 2 percben megrázza az eszközt, az alvásidőzítő visszaáll. Engedélyezze ezt a beállítást a rázásra történő visszaállítás letiltásához.",
|
||||
"LabelDisableVibrateOnReset": "Rezgés kikapcsolása visszaállításkor",
|
||||
"LabelDisableVibrateOnResetHelp": "Amikor az alvásidőzítő visszaállításra kerül, az eszköz rezegni fog. Engedélyezze ezt a beállítást, hogy ne rezegjen az alvásidőzítő visszaállításakor.",
|
||||
"LabelDiscover": "Felfedezés",
|
||||
"LabelDownload": "Letöltés",
|
||||
"LabelDownloaded": "Letöltve",
|
||||
"LabelDuration": "Időtartam",
|
||||
"LabelEbook": "E-könyv",
|
||||
"LabelEbooks": "E-könyvek",
|
||||
"LabelEnable": "Engedélyezés",
|
||||
"LabelEnableMp3IndexSeeking": "Mp3 indexkeresés engedélyezése",
|
||||
"LabelEnableMp3IndexSeekingHelp": "Ezt a beállítást csak akkor kell engedélyezni, ha vannak mp3 fájljai, amelyek nem megfelelően keresnek. A pontatlan keresés leginkább a változó bitráta (VBR) mp3 fájlok miatt lehetséges. Ez a beállítás indexkeresést fog kényszeríteni, amely során egy idő-bájt leképezés jön létre, ahogy a fájlt olvassák. Nagy mp3 fájlok esetén előfordulhat késedelem a fájl végéhez való kereséskor.",
|
||||
"LabelEnd": "Vége",
|
||||
"LabelEndOfChapter": "Fejezet vége",
|
||||
"LabelEndTime": "Befejezés ideje",
|
||||
"LabelEpisode": "Epizód",
|
||||
"LabelFeedURL": "Hírcsatorna URL",
|
||||
"LabelFile": "Fájl",
|
||||
"LabelFileBirthtime": "Fájl létrehozásának ideje",
|
||||
"LabelFileModified": "Fájl módosítva",
|
||||
"LabelFilename": "Fájlnév",
|
||||
"LabelFinished": "Befejezve",
|
||||
"LabelFolder": "Mappa",
|
||||
"LabelFontScale": "Betűméret skála",
|
||||
"LabelGenre": "Műfaj",
|
||||
"LabelGenres": "Műfajok",
|
||||
"LabelHapticFeedback": "Tapintás visszajelzés",
|
||||
"LabelHasEbook": "Van e-könyv",
|
||||
"LabelHasSupplementaryEbook": "Van kiegészítő e-könyv",
|
||||
"LabelHeavy": "Nehéz",
|
||||
"LabelHigh": "Magas",
|
||||
"LabelHost": "Házigazda",
|
||||
"LabelIncomplete": "Befejezetlen",
|
||||
"LabelInProgress": "Folyamatban",
|
||||
"LabelInternalAppStorage": "Belső alkalmazástároló",
|
||||
"LabelJumpBackwardsTime": "Visszaugrás ideje",
|
||||
"LabelJumpForwardsTime": "Előreugrás ideje",
|
||||
"LabelLanguage": "Nyelv",
|
||||
"LabelLayout": "Elrendezés",
|
||||
"LabelLayoutAuto": "Automatikus",
|
||||
"LabelLayoutSinglePage": "Egyoldalas",
|
||||
"LabelLight": "Könnyű",
|
||||
"LabelLineSpacing": "Sorköz",
|
||||
"LabelListenAgain": "Újrahallgatás",
|
||||
"LabelLocalBooks": "Helyi könyvek",
|
||||
"LabelLocalPodcasts": "Helyi podcastok",
|
||||
"LabelLockOrientation": "Tájolás zárolása",
|
||||
"LabelLockPlayer": "Lejátszó zárolása",
|
||||
"LabelLow": "Alacsony",
|
||||
"LabelMediaType": "Média típus",
|
||||
"LabelMedium": "Közepes",
|
||||
"LabelMore": "Több",
|
||||
"LabelMoreInfo": "Több információ",
|
||||
"LabelName": "Név",
|
||||
"LabelNarrator": "Előadó",
|
||||
"LabelNarrators": "Előadók",
|
||||
"LabelNewestAuthors": "Legújabb szerzők",
|
||||
"LabelNewestEpisodes": "Legújabb epizódok",
|
||||
"LabelNo": "Nem",
|
||||
"LabelNotFinished": "Nem befejezett",
|
||||
"LabelNotStarted": "Nem kezdődött el",
|
||||
"LabelOff": "Ki",
|
||||
"LabelPassword": "Jelszó",
|
||||
"LabelPath": "Útvonal",
|
||||
"LabelPlaybackDirect": "Közvetlen",
|
||||
"LabelPlaybackLocal": "Helyi",
|
||||
"LabelPlaybackSpeed": "Lejátszási sebesség",
|
||||
"LabelPlaybackTranscode": "Átkódolás",
|
||||
"LabelPodcast": "Podcast",
|
||||
"LabelPodcasts": "Podcastok",
|
||||
"LabelPreventIndexing": "Megakadályozza a hírcsatornájának indexelését az iTunes és a Google podcast könyvtárakban",
|
||||
"LabelProgress": "Haladás",
|
||||
"LabelPubDate": "Közzététel dátuma",
|
||||
"LabelPublishYear": "Kiadás éve",
|
||||
"LabelRead": "Olvasás",
|
||||
"LabelReadAgain": "Újraolvasás",
|
||||
"LabelRecentlyAdded": "Legutóbb hozzáadva",
|
||||
"LabelRecentSeries": "Legutóbbi sorozatok",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Egyéni tulajdonos e-mail",
|
||||
"LabelRSSFeedCustomOwnerName": "Egyéni tulajdonos neve",
|
||||
"LabelRSSFeedPreventIndexing": "Indexelés megakadályozása",
|
||||
"LabelRSSFeedSlug": "RSS hírcsatorna rövid cím",
|
||||
"LabelScaleElapsedTimeBySpeed": "Eltelt idő skálázása sebesség szerint",
|
||||
"LabelSeason": "Évad",
|
||||
"LabelSelectADevice": "Eszköz kiválasztása",
|
||||
"LabelSeries": "Sorozat",
|
||||
"LabelServerAddress": "Szerver címe",
|
||||
"LabelSetEbookAsPrimary": "Beállítás elsődlegesként",
|
||||
"LabelSetEbookAsSupplementary": "Beállítás kiegészítőként",
|
||||
"LabelShakeSensitivity": "Rázás érzékenység",
|
||||
"LabelShowAll": "Összes megjelenítése",
|
||||
"LabelSize": "Méret",
|
||||
"LabelSleepTimer": "Alvásidőzítő",
|
||||
"LabelStart": "Kezdés",
|
||||
"LabelStartTime": "Kezdési idő",
|
||||
"LabelStatsBestDay": "Legjobb nap",
|
||||
"LabelStatsDailyAverage": "Napi átlag",
|
||||
"LabelStatsDays": "Napok",
|
||||
"LabelStatsDaysListened": "Hallgatott napok",
|
||||
"LabelStatsInARow": "egymás után",
|
||||
"LabelStatsItemsFinished": "Befejezett elemek",
|
||||
"LabelStatsMinutes": "perc",
|
||||
"LabelStatsMinutesListening": "Hallgatás percekben",
|
||||
"LabelStatsWeekListening": "Heti hallgatás",
|
||||
"LabelTag": "Címke",
|
||||
"LabelTags": "Címkék",
|
||||
"LabelTheme": "Téma",
|
||||
"LabelThemeDark": "Sötét",
|
||||
"LabelThemeLight": "Világos",
|
||||
"LabelTimeRemaining": "{0} maradt",
|
||||
"LabelTitle": "Cím",
|
||||
"LabelTotalTrack": "Összes szám",
|
||||
"LabelTracks": "Számok",
|
||||
"LabelType": "Típus",
|
||||
"LabelUnlockPlayer": "Lejátszó feloldása",
|
||||
"LabelUseBookshelfView": "Polcnézet használata",
|
||||
"LabelUser": "Felhasználó",
|
||||
"LabelUsername": "Felhasználónév",
|
||||
"LabelVeryHigh": "Nagyon magas",
|
||||
"LabelVeryLow": "Nagyon alacsony",
|
||||
"LabelYourBookmarks": "Könyvjelzőid",
|
||||
"LabelYourProgress": "Haladásod",
|
||||
"MessageAndroid10Downloads": "Az Android 10 és az alatti verziók belső alkalmazástárolót használnak a letöltésekhez.",
|
||||
"MessageAttemptingServerConnection": "Szerverkapcsolat kísérlete...",
|
||||
"MessageAudiobookshelfServerNotConnected": "Az Audiobookshelf szerver nem csatlakozik",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>Fontos!</strong> Ez az alkalmazás egy Audiobookshelf szervert igényel, amit Ön vagy valaki, akit ismer, üzemeltet. Ez az alkalmazás nem biztosít tartalmat.",
|
||||
"MessageBookshelfEmpty": "A könyvespolc üres",
|
||||
"MessageConfirmDeleteLocalEpisode": "\"{0}\" helyi epizód eltávolítása az eszközről? A szerveren lévő fájl nem érintett.",
|
||||
"MessageConfirmDeleteLocalFiles": "Ezen elem helyi fájljainak eltávolítása az eszközről? A szerveren lévő fájlok és a haladás nem érintettek.",
|
||||
"MessageConfirmDiscardProgress": "Biztosan alaphelyzetbe akarja állítani a haladást?",
|
||||
"MessageConfirmMarkAsFinished": "Biztosan befejezettnek jelöli ezt az elemet?",
|
||||
"MessageConfirmRemoveBookmark": "Biztosan eltávolítja a könyvjelzőt?",
|
||||
"MessageDiscardProgress": "Haladás elvetése",
|
||||
"MessageDownloadCompleteProcessing": "Letöltés kész. Feldolgozás...",
|
||||
"MessageDownloading": "Letöltés...",
|
||||
"MessageDownloadingEpisode": "Epizód letöltése",
|
||||
"MessageEpisodesQueuedForDownload": "{0} epizód letöltésre vár",
|
||||
"MessageFeedURLWillBe": "A hírcsatorna URL-je lesz: {0}",
|
||||
"MessageFetching": "Lekérdezés...",
|
||||
"MessageFollowTheProjectOnGithub": "Kövesse a projektet a Githubon",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "A könyv letöltése befejeződött, de nem sikerült létrehozni a könyvtári elemet",
|
||||
"MessageLoading": "Betöltés...",
|
||||
"MessageLoadingServerData": "Szerveradatok betöltése...",
|
||||
"MessageMarkAsFinished": "Befejezettnek jelölés",
|
||||
"MessageMediaLinkedToADifferentServer": "A média egy másik címen található Audiobookshelf szerverhez kapcsolódik ({0}). A haladás szinkronizálva lesz, amikor csatlakozik ehhez a szervercímhez.",
|
||||
"MessageMediaLinkedToADifferentUser": "A média ehhez a szerverhez kapcsolódik, de egy másik felhasználó töltötte le. A haladás csak a letöltést végrehajtó felhasználóhoz lesz szinkronizálva.",
|
||||
"MessageMediaLinkedToServer": "Szerverhez kapcsolt {0}",
|
||||
"MessageMediaLinkedToThisServer": "A letöltött média ehhez a szerverhez kapcsolódik",
|
||||
"MessageMediaNotLinkedToServer": "A média nem kapcsolódik egy Audiobookshelf szerverhez. Nem lesz szinkronizálva a haladás.",
|
||||
"MessageNoBookmarks": "Nincsenek könyvjelzők",
|
||||
"MessageNoChapters": "Nincsenek fejezetek",
|
||||
"MessageNoItems": "Nincsenek elemek",
|
||||
"MessageNoItemsFound": "Nincs találat",
|
||||
"MessageNoListeningSessions": "Nincsenek hallgatási munkamenetek",
|
||||
"MessageNoMediaFolders": "Nincsenek médiamappák",
|
||||
"MessageNoNetworkConnection": "Nincs hálózati kapcsolat",
|
||||
"MessageNoPodcastsFound": "Nem találhatók podcastok",
|
||||
"MessageNoUpdatesWereNecessary": "Nem volt szükséges frissítés",
|
||||
"MessageNoUserPlaylists": "Nincsenek lejátszási listái",
|
||||
"MessageReportBugsAndContribute": "Hibák jelentése, funkciók kérése és hozzájárulás a",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Csatlakoztatva mért mobilhálózaton keresztül",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Csatlakoztatva mért Wi-Fi hálózaton keresztül",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Csatlakoztatva korlátlan mobilhálózaton keresztül",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Csatlakoztatva korlátlan Wi-Fi hálózaton keresztül",
|
||||
"MessageSocketNotConnected": "A socket nincs csatlakoztatva",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Figyelmeztetés: A legtöbb podcast alkalmazás megköveteli, hogy az RSS hírcsatorna URL-je HTTPS-t használjon",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Figyelmeztetés: Egy vagy több epizódnak nincs közzétételi dátuma. Néhány podcast alkalmazás ezt megköveteli.",
|
||||
"ToastBookmarkCreateFailed": "A könyvjelző létrehozása sikertelen",
|
||||
"ToastBookmarkRemoveFailed": "A könyvjelző eltávolítása sikertelen",
|
||||
"ToastBookmarkUpdateFailed": "A könyvjelző frissítése sikertelen",
|
||||
"ToastItemMarkedAsFinishedFailed": "Az elem befejezettnek jelölése sikertelen",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Az elem befejezetlennek jelölése sikertelen",
|
||||
"ToastPlaylistCreateFailed": "A lejátszási lista létrehozása sikertelen",
|
||||
"ToastPodcastCreateFailed": "A podcast létrehozása sikertelen",
|
||||
"ToastPodcastCreateSuccess": "A podcast sikeresen létrehozva",
|
||||
"ToastRSSFeedCloseFailed": "Az RSS hírcsatorna bezárása sikertelen",
|
||||
"ToastRSSFeedCloseSuccess": "Az RSS hírcsatorna sikeresen bezárva"
|
||||
}
|
||||
+3
-1
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Aggiunto il",
|
||||
"LabelAddToPlaylist": "aggiungi alla Playlist",
|
||||
"LabelAll": "Tutti",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Autore",
|
||||
"LabelAuthorFirstLast": "Autore (Per Nome)",
|
||||
"LabelAuthorLastFirst": "Autori (Per Cognome)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Leggi Ancora",
|
||||
"LabelRecentlyAdded": "Aggiunti Recentemente",
|
||||
"LabelRecentSeries": "Serie Recenti",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Email del proprietario personalizzato",
|
||||
"LabelRSSFeedCustomOwnerName": "Nome del proprietario personalizzato",
|
||||
"LabelRSSFeedPreventIndexing": "Impedisci l'indicizzazione",
|
||||
@@ -289,4 +291,4 @@
|
||||
"ToastPodcastCreateSuccess": "Podcast creato Correttamente",
|
||||
"ToastRSSFeedCloseFailed": "Errore chiusura RSS feed",
|
||||
"ToastRSSFeedCloseSuccess": "RSS feed chiuso"
|
||||
}
|
||||
}
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Pridėta {0}",
|
||||
"LabelAddToPlaylist": "Pridėti į grojaraštį",
|
||||
"LabelAll": "Visi",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Autorius",
|
||||
"LabelAuthorFirstLast": "Autorius (Vardas Pavardė)",
|
||||
"LabelAuthorLastFirst": "Autorius (Pavardė, Vardas)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Pasirinktinis savininko el. paštas",
|
||||
"LabelRSSFeedCustomOwnerName": "Pasirinktinis savininko vardas",
|
||||
"LabelRSSFeedPreventIndexing": "Neleisti indeksuoti",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Toegevoegd op",
|
||||
"LabelAddToPlaylist": "Toevoegen aan afspeellijst",
|
||||
"LabelAll": "Alle",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Auteur",
|
||||
"LabelAuthorFirstLast": "Auteur (Voornaam Achternaam)",
|
||||
"LabelAuthorLastFirst": "Auteur (Achternaam, Voornaam)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Aangepast e-mailadres eigenaar",
|
||||
"LabelRSSFeedCustomOwnerName": "Aangepaste naam eigenaar",
|
||||
"LabelRSSFeedPreventIndexing": "Voorkom indexering",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Dato lagt til ",
|
||||
"LabelAddToPlaylist": "Legg til i spilleliste",
|
||||
"LabelAll": "Alle",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Forfatter",
|
||||
"LabelAuthorFirstLast": "Forfatter (Fornavn Etternavn)",
|
||||
"LabelAuthorLastFirst": "Forfatter (Etternavn Fornavn)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Tilpasset eier Epost",
|
||||
"LabelRSSFeedCustomOwnerName": "Tilpasset eier Navn",
|
||||
"LabelRSSFeedPreventIndexing": "Forhindre indeksering",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Dodano w",
|
||||
"LabelAddToPlaylist": "Dodaj do playlisty",
|
||||
"LabelAll": "Wszystkie",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Autor (Rosnąco)",
|
||||
"LabelAuthorLastFirst": "Author (Malejąco)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Czytaj ponownie",
|
||||
"LabelRecentlyAdded": "Ostatnio dodane",
|
||||
"LabelRecentSeries": "Najnowsze serie",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedPreventIndexing": "Zapobiegaj indeksowaniu",
|
||||
|
||||
@@ -0,0 +1,294 @@
|
||||
{
|
||||
"ButtonAdd": "Adicionar",
|
||||
"ButtonAddNewServer": "Adicionar Novo Servidor",
|
||||
"ButtonAuthors": "Autores",
|
||||
"ButtonBack": "Voltar",
|
||||
"ButtonCancel": "Cancelar",
|
||||
"ButtonCancelTimer": "Cancelar Timer",
|
||||
"ButtonClearFilter": "Limpar Filtro",
|
||||
"ButtonCloseFeed": "Fechar Feed",
|
||||
"ButtonCollections": "Coleções",
|
||||
"ButtonConnect": "Conectar",
|
||||
"ButtonConnectToServer": "Conectar ao Servidor",
|
||||
"ButtonCreate": "Criar",
|
||||
"ButtonCreateBookmark": "Criar Marcador",
|
||||
"ButtonCreateNewPlaylist": "Criar Nova Lista de Reprodução",
|
||||
"ButtonDelete": "Apagar",
|
||||
"ButtonDeleteLocalEpisode": "Apagar episódio local",
|
||||
"ButtonDeleteLocalFile": "Apagar arquivo local",
|
||||
"ButtonDeleteLocalItem": "Apagar item local",
|
||||
"ButtonDisableAutoTimer": "Desativar Timer Automático",
|
||||
"ButtonDisconnect": "Desconectar",
|
||||
"ButtonHistory": "Histórico",
|
||||
"ButtonHome": "Principal",
|
||||
"ButtonIssues": "Problemas",
|
||||
"ButtonLatest": "Mais Recentes",
|
||||
"ButtonLibrary": "Biblioteca",
|
||||
"ButtonLocalMedia": "Mídia Local",
|
||||
"ButtonManageLocalFiles": "Gerenciar Arquivos Locais",
|
||||
"ButtonNewFolder": "Nova Pasta",
|
||||
"ButtonNextEpisode": "Próximo Episódio",
|
||||
"ButtonOpenFeed": "Abrir Feed",
|
||||
"ButtonOverride": "Sobrepor",
|
||||
"ButtonPause": "Pausar",
|
||||
"ButtonPlay": "Reproduzir",
|
||||
"ButtonPlaying": "Reproduzindo",
|
||||
"ButtonPlaylists": "Lista de Reprodução",
|
||||
"ButtonRead": "Ler",
|
||||
"ButtonRemove": "Remover",
|
||||
"ButtonRemoveFromServer": "Remover do Servidor",
|
||||
"ButtonSave": "Salvar",
|
||||
"ButtonSaveOrder": "Salvar Ordem",
|
||||
"ButtonSearch": "Pesquisar",
|
||||
"ButtonSendEbookToDevice": "Enviar Ebook para Dispositivo",
|
||||
"ButtonSeries": "Série",
|
||||
"ButtonSetTimer": "Definir Timer",
|
||||
"ButtonStream": "Stream",
|
||||
"ButtonSubmit": "Enviar",
|
||||
"ButtonSwitchServerUser": "Trocar Servidor/Usuário",
|
||||
"ButtonUserStats": "Estatísticas do Usuário",
|
||||
"ButtonYes": "Sim",
|
||||
"HeaderAccount": "Conta",
|
||||
"HeaderAdvanced": "Avançado",
|
||||
"HeaderAudioTracks": "Trilhas de áudio",
|
||||
"HeaderChapters": "Capítulos",
|
||||
"HeaderCollection": "Coleção",
|
||||
"HeaderCollectionItems": "Itens da Coleção",
|
||||
"HeaderConnectionStatus": "Status da Conexão",
|
||||
"HeaderDetails": "Detalhes",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Arquivos Ebook",
|
||||
"HeaderEpisodes": "Episódios",
|
||||
"HeaderEreaderSettings": "Configurações Ereader",
|
||||
"HeaderLatestEpisodes": "Últimos episódios",
|
||||
"HeaderLibraries": "Bibliotecas",
|
||||
"HeaderLocalFolders": "Pastas Locais",
|
||||
"HeaderLocalLibraryItems": "Itens de Biblioteca Locais",
|
||||
"HeaderNewPlaylist": "Nova Lista de Reprodução",
|
||||
"HeaderOpenRSSFeed": "Abrir Feed RSS",
|
||||
"HeaderPlaybackSettings": "Configurações de Reprodução",
|
||||
"HeaderPlaylist": "Lista de Reprodução",
|
||||
"HeaderPlaylistItems": "Itens da lista de reprodução",
|
||||
"HeaderRSSFeed": "Feed RSS",
|
||||
"HeaderRSSFeedGeneral": "Detalhes RSS",
|
||||
"HeaderRSSFeedIsOpen": "Feed RSS está Aberto",
|
||||
"HeaderSelectDownloadLocation": "Selecione Local para Download",
|
||||
"HeaderSettings": "Configurações",
|
||||
"HeaderSleepTimer": "Timer",
|
||||
"HeaderSleepTimerSettings": "Configurações do Timer",
|
||||
"HeaderStatsMinutesListeningChart": "Minutos Escutados (últimos 7 dias)",
|
||||
"HeaderStatsRecentSessions": "Sessões Recentes",
|
||||
"HeaderTableOfContents": "Sumário",
|
||||
"HeaderUserInterfaceSettings": "Configurações da Interface do Usuário",
|
||||
"HeaderYourStats": "Suas Estatísticas",
|
||||
"LabelAdded": "Acrescentado",
|
||||
"LabelAddedAt": "Acrescentado Em",
|
||||
"LabelAddToPlaylist": "Adicionar à Lista de Reprodução",
|
||||
"LabelAll": "Todos",
|
||||
"LabelAllowSeekingOnMediaControls": "Permitir busca de posição nos controles de notificação de mídia",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Autor (Nome Sobrenome)",
|
||||
"LabelAuthorLastFirst": "Autor (Sobrenome, Nome)",
|
||||
"LabelAuthors": "Autores",
|
||||
"LabelAutoDownloadEpisodes": "Download Automático de Episódios",
|
||||
"LabelAutoRewindTime": "Tempo para retroceder automaticamente",
|
||||
"LabelAutoSleepTimer": "Timer automático",
|
||||
"LabelAutoSleepTimerAutoRewind": "Retrocesso automático do timer",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Após o timer terminar, da próxima vez que o item for reproduzido a sua posição será retrocedida automaticamente.",
|
||||
"LabelAutoSleepTimerHelp": "Ao reproduzir uma mídia entre as horas especificadas como inicío e fim, um timer será iniciado automaticamente.",
|
||||
"LabelBooks": "Livros",
|
||||
"LabelChapters": "Capítulos",
|
||||
"LabelChapterTrack": "Trilha do Capítulo",
|
||||
"LabelClosePlayer": "Fechar Reprodutor",
|
||||
"LabelCollapseSeries": "Fechar Série",
|
||||
"LabelComplete": "Concluído",
|
||||
"LabelContinueBooks": "Continuar Livros",
|
||||
"LabelContinueEpisodes": "Continuar Episódios",
|
||||
"LabelContinueListening": "Continuar Escutando",
|
||||
"LabelContinueReading": "Continuar Lendo",
|
||||
"LabelContinueSeries": "Continuar Série",
|
||||
"LabelCustomTime": "Personalizar tempo",
|
||||
"LabelDescription": "Descrição",
|
||||
"LabelDisableAudioFadeOut": "Desativar fade out de áudio",
|
||||
"LabelDisableAudioFadeOutHelp": "O volume do áudio diminuirá progressivamente quando houver menos que 1 minuto no seu timer. Ative essa configuração para não diminuir o volume.",
|
||||
"LabelDisableAutoRewind": "Desativar retrocesso automático",
|
||||
"LabelDisableShakeToReset": "Desativar sacudir para resetar",
|
||||
"LabelDisableShakeToResetHelp": "Sacudir o seu dispositivo quando o timer estiver ativo OU em até 2 minutos após o seu fim resetará o seu timer. Ative essa configuração para desabilitar o sacudir para resetar.",
|
||||
"LabelDisableVibrateOnReset": "Desativar vibração ao resetar",
|
||||
"LabelDisableVibrateOnResetHelp": "Quando o timer for resetado o seu dispositivo vibrará. Ative essa configuração para não vibrar quando o timer for resetado.",
|
||||
"LabelDiscover": "Descobrir",
|
||||
"LabelDownload": "Download",
|
||||
"LabelDownloaded": "Download realizado",
|
||||
"LabelDuration": "Duração",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEnable": "Ativar",
|
||||
"LabelEnableMp3IndexSeeking": "Ativar busca por índice mp3",
|
||||
"LabelEnableMp3IndexSeekingHelp": "Esta configuração só deve ser ativada se a busca em arquivos mp3 não estiver funcionando corretamente. Buscas incorretas são normalmente causadas por arquivos MP3 com bitrate variável (VBR). Esta configuração forçará a busca por índice, que é uma consulta do tempo-para-byte, elaborado durante a leitura do arquivo. Em alguns casos, com arquivos MP3 maiores, haverá um atraso ao buscar perto do final do arquivo.",
|
||||
"LabelEnd": "Fim",
|
||||
"LabelEndOfChapter": "Fim do Chapítulo",
|
||||
"LabelEndTime": "Tempo final",
|
||||
"LabelEpisode": "Episódio",
|
||||
"LabelFeedURL": "URL do Feed",
|
||||
"LabelFile": "Arquivo",
|
||||
"LabelFileBirthtime": "Criação do Arquivo",
|
||||
"LabelFileModified": "Modificação do Arquivo",
|
||||
"LabelFilename": "Nome do Arquivo",
|
||||
"LabelFinished": "Concluído",
|
||||
"LabelFolder": "Pasta",
|
||||
"LabelFontScale": "Escala de fonte",
|
||||
"LabelGenre": "Gênero",
|
||||
"LabelGenres": "Gêneros",
|
||||
"LabelHapticFeedback": "Feedback tátil",
|
||||
"LabelHasEbook": "Tem ebook",
|
||||
"LabelHasSupplementaryEbook": "Tem ebook complementar",
|
||||
"LabelHeavy": "Pesado",
|
||||
"LabelHigh": "Alta",
|
||||
"LabelHost": "Host",
|
||||
"LabelIncomplete": "Incompleto",
|
||||
"LabelInProgress": "Em Andamento",
|
||||
"LabelInternalAppStorage": "Armazenamento Interno do App",
|
||||
"LabelJumpBackwardsTime": "Retroceder tempo",
|
||||
"LabelJumpForwardsTime": "Adiantar tempo",
|
||||
"LabelLanguage": "Idioma",
|
||||
"LabelLayout": "Layout",
|
||||
"LabelLayoutAuto": "Automático",
|
||||
"LabelLayoutSinglePage": "Uma página",
|
||||
"LabelLight": "Leve",
|
||||
"LabelLineSpacing": "Espaçamento entre linhas",
|
||||
"LabelListenAgain": "Escutar novamente",
|
||||
"LabelLocalBooks": "Livros Locais",
|
||||
"LabelLocalPodcasts": "Podcasts Locais",
|
||||
"LabelLockOrientation": "Travar orientação",
|
||||
"LabelLockPlayer": "Travar Reprodutor",
|
||||
"LabelLow": "Baixa",
|
||||
"LabelMediaType": "Tipo de Mídia",
|
||||
"LabelMedium": "Média",
|
||||
"LabelMore": "Mais",
|
||||
"LabelMoreInfo": "Mais Informações",
|
||||
"LabelName": "Nome",
|
||||
"LabelNarrator": "Narrador",
|
||||
"LabelNarrators": "Narradores",
|
||||
"LabelNewestAuthors": "Novos Autores",
|
||||
"LabelNewestEpisodes": "Episódios mais recentes",
|
||||
"LabelNo": "Não",
|
||||
"LabelNotFinished": "Não Concluído",
|
||||
"LabelNotStarted": "Não Iniciado",
|
||||
"LabelOff": "Desligado",
|
||||
"LabelPassword": "Senha",
|
||||
"LabelPath": "Caminho",
|
||||
"LabelPlaybackDirect": "Direto",
|
||||
"LabelPlaybackLocal": "Local",
|
||||
"LabelPlaybackSpeed": "Velocidade de Reprodução",
|
||||
"LabelPlaybackTranscode": "Transcodificar",
|
||||
"LabelPodcast": "Podcast",
|
||||
"LabelPodcasts": "Podcasts",
|
||||
"LabelPreventIndexing": "Evitar que o seu feed seja indexado pelos diretórios de podcast do iTunes e Google",
|
||||
"LabelProgress": "Progresso",
|
||||
"LabelPubDate": "Data de Publicação",
|
||||
"LabelPublishYear": "Ano de Publicação",
|
||||
"LabelRead": "Lido",
|
||||
"LabelReadAgain": "Ler Novamente",
|
||||
"LabelRecentlyAdded": "Novidades",
|
||||
"LabelRecentSeries": "Séries Recentes",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Email do dono personalizado",
|
||||
"LabelRSSFeedCustomOwnerName": "Nome do dono personalizado",
|
||||
"LabelRSSFeedPreventIndexing": "Impedir Indexação",
|
||||
"LabelRSSFeedSlug": "Slug do Feed RSS",
|
||||
"LabelScaleElapsedTimeBySpeed": "Proporcionalizar Tempo Decorrido com a Velocidade",
|
||||
"LabelSeason": "Temporada",
|
||||
"LabelSelectADevice": "Selecione um dispositivo",
|
||||
"LabelSeries": "Série",
|
||||
"LabelServerAddress": "Endereço do servidor",
|
||||
"LabelSetEbookAsPrimary": "Definir como principal",
|
||||
"LabelSetEbookAsSupplementary": "Definir como complementar",
|
||||
"LabelShakeSensitivity": "Sensitividade do sacudir",
|
||||
"LabelShowAll": "Exibir Todos",
|
||||
"LabelSize": "Tamanho",
|
||||
"LabelSleepTimer": "Timer",
|
||||
"LabelStart": "Iniciar",
|
||||
"LabelStartTime": "Iniciado Em",
|
||||
"LabelStatsBestDay": "Melhor Dia",
|
||||
"LabelStatsDailyAverage": "Média Diária",
|
||||
"LabelStatsDays": "Dias",
|
||||
"LabelStatsDaysListened": "Dias Escutando",
|
||||
"LabelStatsInARow": "seguidos",
|
||||
"LabelStatsItemsFinished": "Itens Concluídos",
|
||||
"LabelStatsMinutes": "minutos",
|
||||
"LabelStatsMinutesListening": "Minutos Escutando",
|
||||
"LabelStatsWeekListening": "Tempo escutando na semana",
|
||||
"LabelTag": "Etiqueta",
|
||||
"LabelTags": "Etiquetas",
|
||||
"LabelTheme": "Tema",
|
||||
"LabelThemeDark": "Escuro",
|
||||
"LabelThemeLight": "Claro",
|
||||
"LabelTimeRemaining": "{0} restantes",
|
||||
"LabelTitle": "Título",
|
||||
"LabelTotalTrack": "Total da Trilha",
|
||||
"LabelTracks": "Trilhas",
|
||||
"LabelType": "Tipo",
|
||||
"LabelUnlockPlayer": "Destravar Reprodutor",
|
||||
"LabelUseBookshelfView": "Usar visão estante",
|
||||
"LabelUser": "Usuário",
|
||||
"LabelUsername": "Nome do Usuário",
|
||||
"LabelVeryHigh": "Muito Alta",
|
||||
"LabelVeryLow": "Muito Baixa",
|
||||
"LabelYourBookmarks": "Seus Marcadores",
|
||||
"LabelYourProgress": "Seu Progresso",
|
||||
"MessageAndroid10Downloads": "Android 10 e versões anteriores utilizarão o armazenamento interno para downloads.",
|
||||
"MessageAttemptingServerConnection": "Tentando conexão ao ...",
|
||||
"MessageAudiobookshelfServerNotConnected": "Servidor Audiobookshelf não conectado",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>Importante!</strong> Esse aplicativo foi desenvolvido para funcionar com um servidor Audiobookshelf que você ou algum conhecido seu está mantendo. Esse aplicativo não oferece qualquer conteúdo.",
|
||||
"MessageBookshelfEmpty": "Estante vazia",
|
||||
"MessageConfirmDeleteLocalEpisode": "Remover episódio local \"{0}\" do seu dispositivo? O arquivo no servidor não será afetado.",
|
||||
"MessageConfirmDeleteLocalFiles": "Remover arquivos locais deste item do seu dispositivo? Os arquivos no servidor e o seu progresso não serão afetados.",
|
||||
"MessageConfirmDiscardProgress": "Tem certeza de que deseja restar o seu progresso?",
|
||||
"MessageConfirmMarkAsFinished": "Tem certeza de que deseja marcar esse item como concluído?",
|
||||
"MessageConfirmRemoveBookmark": "Tem certeza de que deseja remover o marcador?",
|
||||
"MessageDiscardProgress": "Descartar Progresso",
|
||||
"MessageDownloadCompleteProcessing": "Download concluído. Processando...",
|
||||
"MessageDownloading": "Realizando o download...",
|
||||
"MessageDownloadingEpisode": "Realizando o downloading do episódio",
|
||||
"MessageEpisodesQueuedForDownload": "{0} Episódio(s) na fila de download",
|
||||
"MessageFeedURLWillBe": "URL do Feed será {0}",
|
||||
"MessageFetching": "Buscando...",
|
||||
"MessageFollowTheProjectOnGithub": "Siga este projeto no Github",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Download concluído mas não foi possível criar item da biblioteca",
|
||||
"MessageLoading": "Carregando...",
|
||||
"MessageLoadingServerData": "Carregando dados do servidor...",
|
||||
"MessageMarkAsFinished": "Marcar como Concluído",
|
||||
"MessageMediaLinkedToADifferentServer": "Mídia está associada a um servidor Audiobookshelf em um endereço diferente ({0}). O progresso será sincronizado quando conectado a esse servidor.",
|
||||
"MessageMediaLinkedToADifferentUser": "Mídia está associada a este servidor mas o download foi feito por outro usuário. O progresso só será sincronizado para o usuário que realizou o download.",
|
||||
"MessageMediaLinkedToServer": "Associado ao servidor {0}",
|
||||
"MessageMediaLinkedToThisServer": "Mídia baixada está associada a esse servidor",
|
||||
"MessageMediaNotLinkedToServer": "Mídia não está associada a um servidor Audiobookshelf. Nenhum progresso será sincronizado.",
|
||||
"MessageNoBookmarks": "Sem Marcadores",
|
||||
"MessageNoChapters": "Sem Capítulos",
|
||||
"MessageNoItems": "Sem Itens",
|
||||
"MessageNoItemsFound": "Nenhum item encontrado",
|
||||
"MessageNoListeningSessions": "Sem Sessões de Escuta",
|
||||
"MessageNoMediaFolders": "Sem Pastas de Mídia",
|
||||
"MessageNoNetworkConnection": "Nem conexão de rede",
|
||||
"MessageNoPodcastsFound": "Nenhum podcast encontrado",
|
||||
"MessageNoUpdatesWereNecessary": "Nenhuma atualização é necessária",
|
||||
"MessageNoUserPlaylists": "Você não tem listas de reprodução",
|
||||
"MessageReportBugsAndContribute": "Reporte bugs, peça funcionalidades e contribua em",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket conectado usando rede celular limitada",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket conectado usando wifi limitada",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket conectado usando rede celular ilimitada",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket conectado usando wifi ilimitada",
|
||||
"MessageSocketNotConnected": "Socket não conectado",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Atenção: A maioria dos aplicativos de podcasts requer que a URL do feed RSS use HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Atenção: Um ou mais dos seus episódios não tem uma data de publicação. Alguns aplicativos de podcasts requerem isto.",
|
||||
"ToastBookmarkCreateFailed": "Falha ao criar marcador",
|
||||
"ToastBookmarkRemoveFailed": "Falha ao remover marcador",
|
||||
"ToastBookmarkUpdateFailed": "Falha ao atualizar marcador",
|
||||
"ToastItemMarkedAsFinishedFailed": "Falha ao marcar como Concluído",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Falha ao marcar como Não Concluído",
|
||||
"ToastPlaylistCreateFailed": "Falha ao criar lista de reprodução",
|
||||
"ToastPodcastCreateFailed": "Falha ao criar podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast criado",
|
||||
"ToastRSSFeedCloseFailed": "Falha ao fechar feed RSS",
|
||||
"ToastRSSFeedCloseSuccess": "Feed RSS fechado"
|
||||
}
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Дата добавления",
|
||||
"LabelAddToPlaylist": "Добавить в плейлист",
|
||||
"LabelAll": "Все",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Автор",
|
||||
"LabelAuthorFirstLast": "Автор (Имя Фамилия)",
|
||||
"LabelAuthorLastFirst": "Автор (Фамилия, Имя)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Недавно добавленные",
|
||||
"LabelRecentSeries": "Недавние серии",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Пользовательский Email владельца",
|
||||
"LabelRSSFeedCustomOwnerName": "Пользовательское Имя владельца",
|
||||
"LabelRSSFeedPreventIndexing": "Запретить индексирование",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "Tillagd vid",
|
||||
"LabelAddToPlaylist": "Lägg till i Spellista",
|
||||
"LabelAll": "Alla",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "Författare",
|
||||
"LabelAuthorFirstLast": "Författare (Förnamn Efternamn)",
|
||||
"LabelAuthorLastFirst": "Författare (Efternamn, Förnamn)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Anpassad ägarens e-post",
|
||||
"LabelRSSFeedCustomOwnerName": "Anpassat ägarnamn",
|
||||
"LabelRSSFeedPreventIndexing": "Förhindra indexering",
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"LabelAddedAt": "添加于",
|
||||
"LabelAddToPlaylist": "添加到播放列表",
|
||||
"LabelAll": "全部",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAuthor": "作者",
|
||||
"LabelAuthorFirstLast": "作者 (姓 名)",
|
||||
"LabelAuthorLastFirst": "作者 (名, 姓)",
|
||||
@@ -190,6 +191,7 @@
|
||||
"LabelReadAgain": "再次阅读",
|
||||
"LabelRecentlyAdded": "最近添加",
|
||||
"LabelRecentSeries": "最近添加系列",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "自定义所有者电子邮件",
|
||||
"LabelRSSFeedCustomOwnerName": "自定义所有者名称",
|
||||
"LabelRSSFeedPreventIndexing": "防止索引",
|
||||
|
||||
Reference in New Issue
Block a user