mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-07-25 05:58:34 +02:00
Compare commits
158
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8bc5932889 | ||
|
|
3cd597d71e | ||
|
|
48d5ad462e | ||
|
|
40cab87640 | ||
|
|
f405947ad8 | ||
|
|
fd550c15a5 | ||
|
|
d18537cf04 | ||
|
|
f01f0229a8 | ||
|
|
b369eb2d40 | ||
|
|
f08c65c5bf | ||
|
|
1043f4ecd7 | ||
|
|
4f17a32373 | ||
|
|
2203aae6e6 | ||
|
|
7b60c7b6c5 | ||
|
|
be98e06efc | ||
|
|
45239bca34 | ||
|
|
2493ce7ed7 | ||
|
|
2b1e53b371 | ||
|
|
d643a1769f | ||
|
|
a63b7a188c | ||
|
|
f9c0162b8a | ||
|
|
cda3cb3512 | ||
|
|
766f6938a7 | ||
|
|
8e1ccb517b | ||
|
|
540aab6f83 | ||
|
|
d1969d7897 | ||
|
|
b69e8fd649 | ||
|
|
2e95cf908d | ||
|
|
b589bae2b0 | ||
|
|
e7e4891d82 | ||
|
|
03a46decba | ||
|
|
d80482f443 | ||
|
|
735cce7614 | ||
|
|
8ea35a0b36 | ||
|
|
ad90bd3d05 | ||
|
|
fa3856e845 | ||
|
|
752d4ddc8c | ||
|
|
fd2d7a05d1 | ||
|
|
ccf4675867 | ||
|
|
bc043c73ca | ||
|
|
291ab247bc | ||
|
|
d901f470a1 | ||
|
|
0ebb01e39d | ||
|
|
20ac99bf8d | ||
|
|
90e86e1575 | ||
|
|
28652031e7 | ||
|
|
cd8be40cc8 | ||
|
|
52fc937f96 | ||
|
|
68e4722387 | ||
|
|
5f5b38b2f9 | ||
|
|
65f8d3ce81 | ||
|
|
ac571fd63d | ||
|
|
ea2d6e9f31 | ||
|
|
80b999d648 | ||
|
|
54720039e4 | ||
|
|
8c6717c201 | ||
|
|
6610754e25 | ||
|
|
d38622d8a2 | ||
|
|
cd2750a489 | ||
|
|
30140629ae | ||
|
|
0ce29337ef | ||
|
|
6715f29ebb | ||
|
|
b4a8dc9e26 | ||
|
|
c349a0bf00 | ||
|
|
0dc6c142be | ||
|
|
e46c1d9120 | ||
|
|
27ad554ea1 | ||
|
|
5660772b46 | ||
|
|
dab80642ab | ||
|
|
da46191208 | ||
|
|
6484c4de79 | ||
|
|
6716b6042a | ||
|
|
0686859fa7 | ||
|
|
4180862c3a | ||
|
|
7aa20d3211 | ||
|
|
b694b55710 | ||
|
|
024b613063 | ||
|
|
8768d11a20 | ||
|
|
5898303ba4 | ||
|
|
e79d09941c | ||
|
|
c52a60fe77 | ||
|
|
e64f9aa427 | ||
|
|
ee343f78ef | ||
|
|
1f20d5821f | ||
|
|
b0c512e946 | ||
|
|
0d13b7abd1 | ||
|
|
43fd8285c9 | ||
|
|
2f7e8d618a | ||
|
|
a0b910deeb | ||
|
|
e9dc45613c | ||
|
|
b5e90ec3d2 | ||
|
|
3d9f42c1e1 | ||
|
|
e62f430f37 | ||
|
|
9c53564c46 | ||
|
|
f7add6f6cd | ||
|
|
7786e6a827 | ||
|
|
b213e2aabf | ||
|
|
ebca0fafca | ||
|
|
ac8a2ca985 | ||
|
|
6380d7cc02 | ||
|
|
9056ba6b8d | ||
|
|
23801363c4 | ||
|
|
1cdcd7327f | ||
|
|
50ec50003e | ||
|
|
5ff4db1a3f | ||
|
|
394b44c343 | ||
|
|
eb2aa6f773 | ||
|
|
81130e04e5 | ||
|
|
c0ec0758f4 | ||
|
|
e21f7c545e | ||
|
|
c16dd2fcf6 | ||
|
|
90974e6d73 | ||
|
|
8e4f75d85b | ||
|
|
792ee2adb8 | ||
|
|
2c57489c07 | ||
|
|
e3321770fd | ||
|
|
848673f028 | ||
|
|
e6d3003ecf | ||
|
|
90551b7ce7 | ||
|
|
aabac5da13 | ||
|
|
4fad77f9c1 | ||
|
|
0fb6d746eb | ||
|
|
7fc712d19b | ||
|
|
d6018cfe10 | ||
|
|
5b8f231a98 | ||
|
|
cb503f84e1 | ||
|
|
a34f9b80ac | ||
|
|
3e6696b516 | ||
|
|
9cd8bd439a | ||
|
|
ca5b99e23d | ||
|
|
c44fd74f5b | ||
|
|
f82c4834c3 | ||
|
|
dda95bd69c | ||
|
|
a623cb57a7 | ||
|
|
e798d930fb | ||
|
|
f91b0c9e2f | ||
|
|
b6824cf242 | ||
|
|
41477fdac1 | ||
|
|
d4e8afc2f1 | ||
|
|
d42cbfe3e4 | ||
|
|
c7c3ef52e6 | ||
|
|
92344325b6 | ||
|
|
a8172fb3f9 | ||
|
|
a73ec783d5 | ||
|
|
5c9fc4c9e4 | ||
|
|
494ff38ef3 | ||
|
|
b7e6cbf1ab | ||
|
|
b33623b74f | ||
|
|
4f939ce6fc | ||
|
|
4f45f360df | ||
|
|
4ad54f34fe | ||
|
|
574dda5286 | ||
|
|
d788623509 | ||
|
|
f047f6a23b | ||
|
|
48b30f6b03 | ||
|
|
67d32164d9 | ||
|
|
b833019a14 | ||
|
|
00eeeb2a5a |
+1
-6
@@ -1,13 +1,8 @@
|
||||
# editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
name: 🐞 ABS App Bug Report
|
||||
description: File a bug/issue and help us improve the Audiobookshelf mobile apps.
|
||||
title: '[Bug]: '
|
||||
labels: ['bug', 'triage']
|
||||
title: "[Bug]: "
|
||||
labels: ["bug", "triage"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: '## App Bug Description'
|
||||
value: "## App Bug Description"
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: 'Thank you for filing a bug report! 🐛'
|
||||
value: "Thank you for filing a bug report! 🐛"
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: 'Join the [discord server](https://discord.gg/HQgCbd6E75) for questions or if you are not sure about a bug.'
|
||||
value: "Join the [discord server](https://discord.gg/HQgCbd6E75) for questions or if you are not sure about a bug."
|
||||
- type: textarea
|
||||
id: what-happened
|
||||
attributes:
|
||||
@@ -25,7 +25,7 @@ body:
|
||||
attributes:
|
||||
label: Steps to Reproduce the Issue
|
||||
description: Please help us understand how we can reliably reproduce the issue.
|
||||
placeholder: '1. Go to the library page of a Podcast library and...'
|
||||
placeholder: "1. Go to the library page of a Podcast library and..."
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
@@ -38,7 +38,7 @@ body:
|
||||
required: true
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: '## Mobile Environment'
|
||||
value: "## Mobile Environment"
|
||||
- type: input
|
||||
id: phone-model
|
||||
attributes:
|
||||
@@ -62,8 +62,10 @@ body:
|
||||
description: Please ensure your app is up to date. *If you are using a 3rd-party app, please reach out to them directly.*
|
||||
multiple: true
|
||||
options:
|
||||
- Android App - 0.9.63
|
||||
- iOS App - 0.9.63
|
||||
- Android App - 0.9.74
|
||||
- iOS App - 0.9.74
|
||||
- Android App - 0.9.73
|
||||
- iOS App - 0.9.73
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
@@ -83,4 +85,4 @@ body:
|
||||
attributes:
|
||||
label: Additional Notes
|
||||
description: Anything else you want to add?
|
||||
placeholder: 'e.g. I have tried X, Y, and Z.'
|
||||
placeholder: "e.g. I have tried X, Y, and Z."
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
name: 🚀 App Feature Request
|
||||
description: Request a feature/enhancement
|
||||
title: '[Enhancement]: '
|
||||
labels: ['enhancement']
|
||||
title: "[Enhancement]: "
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: '## App Feature Request Description'
|
||||
value: "## App Feature Request Description"
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: 'Please first search in both issues & discussions for your enhancement and make sure your app is up to date.'
|
||||
value: "Please first search in both issues & discussions for your enhancement and make sure your app is up to date."
|
||||
- type: textarea
|
||||
id: describe
|
||||
attributes:
|
||||
@@ -35,7 +35,7 @@ body:
|
||||
required: true
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: '## App Current Implementation'
|
||||
value: "## App Current Implementation"
|
||||
- type: dropdown
|
||||
id: version
|
||||
attributes:
|
||||
@@ -43,8 +43,10 @@ body:
|
||||
description: Please ensure your app is up to date. *If you are using a 3rd-party app, please reach out to them directly.*
|
||||
multiple: true
|
||||
options:
|
||||
- Android App - 0.9.63
|
||||
- iOS App - 0.9.63
|
||||
- Android App - 0.9.74
|
||||
- iOS App - 0.9.74
|
||||
- Android App - 0.9.73
|
||||
- iOS App - 0.9.73
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
name: Close fixed issues on release.
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
comment:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Close issues marked as fixed upon a release.
|
||||
uses: gcampbell-msft/fixed-pending-release@7fa1b75a0c04bcd4b375110522878e5f6100cff5
|
||||
with:
|
||||
label: 'awaiting release'
|
||||
removeLabel: true
|
||||
applyToAll: true
|
||||
message: Fixed in [${releaseTag}](${releaseUrl}).
|
||||
@@ -19,10 +19,10 @@ jobs:
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
|
||||
# The only argument is the `directory`, which is where the i18n files are
|
||||
# stored.
|
||||
- name: Run Update JSON Files action
|
||||
uses: audiobookshelf/audiobookshelf-i18n-updater@v1.2.0
|
||||
uses: audiobookshelf/audiobookshelf-i18n-updater@v1.3.0
|
||||
with:
|
||||
directory: 'strings/' # Adjust the directory path as needed
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"semi": false,
|
||||
"singleQuote": true,
|
||||
"printWidth": 400,
|
||||
"proseWrap": "never",
|
||||
"trailingComma": "none",
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["*.html"],
|
||||
"options": {
|
||||
"singleQuote": false,
|
||||
"wrapAttributes": false,
|
||||
"sortAttributes": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"EditorConfig.EditorConfig",
|
||||
"esbenp.prettier-vscode",
|
||||
"octref.vetur"
|
||||
]
|
||||
}
|
||||
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"vetur.format.defaultFormatterOptions": {
|
||||
"prettier": {
|
||||
"semi": false,
|
||||
"singleQuote": true,
|
||||
"printWidth": 400,
|
||||
"proseWrap": "never",
|
||||
"trailingComma": "none"
|
||||
},
|
||||
"prettyhtml": {
|
||||
"printWidth": 400,
|
||||
"singleQuote": false,
|
||||
"wrapAttributes": false,
|
||||
"sortAttributes": false
|
||||
}
|
||||
},
|
||||
"editor.formatOnSave": true,
|
||||
"editor.detectIndentation": true,
|
||||
"editor.tabSize": 2,
|
||||
"javascript.format.semicolons": "remove",
|
||||
"[javascript][json][jsonc]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"[vue]": {
|
||||
"editor.defaultFormatter": "octref.vetur"
|
||||
}
|
||||
}
|
||||
@@ -33,8 +33,8 @@ android {
|
||||
applicationId "com.audiobookshelf.app"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 105
|
||||
versionName "0.9.74-beta"
|
||||
versionCode 107
|
||||
versionName "0.9.76-beta"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
manifestPlaceholders = [
|
||||
"appAuthRedirectScheme": "com.audiobookshelf.app"
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
<!-- Permissions -->
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission
|
||||
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
|
||||
@@ -96,7 +96,7 @@ class Podcast(
|
||||
@JsonIgnore
|
||||
fun addEpisode(audioTrack:AudioTrack, episode:PodcastEpisode):PodcastEpisode {
|
||||
val localEpisodeId = "local_ep_" + episode.id
|
||||
val newEpisode = PodcastEpisode(localEpisodeId,(episodes?.size ?: 0) + 1,episode.episode,episode.episodeType,episode.title,episode.subtitle,episode.description,null,null,null,audioTrack,episode.chapters,audioTrack.duration,0, episode.id, localEpisodeId)
|
||||
val newEpisode = PodcastEpisode(localEpisodeId,(episodes?.size ?: 0) + 1,episode.episode,episode.episodeType,episode.title,episode.subtitle,episode.description,null,null,null,audioTrack,episode.chapters,audioTrack.duration,episode.size, episode.id, localEpisodeId)
|
||||
episodes?.add(newEpisode)
|
||||
|
||||
var index = 1
|
||||
|
||||
@@ -20,6 +20,14 @@ enum class ShakeSensitivitySetting {
|
||||
VERY_LOW, LOW, MEDIUM, HIGH, VERY_HIGH
|
||||
}
|
||||
|
||||
enum class DownloadUsingCellularSetting {
|
||||
ASK, ALWAYS, NEVER
|
||||
}
|
||||
|
||||
enum class StreamingUsingCellularSetting {
|
||||
ASK, ALWAYS, NEVER
|
||||
}
|
||||
|
||||
data class ServerConnectionConfig(
|
||||
var id:String,
|
||||
var index:Int,
|
||||
@@ -123,7 +131,9 @@ data class DeviceSettings(
|
||||
var sleepTimerLength: Long, // Time in milliseconds
|
||||
var disableSleepTimerFadeOut: Boolean,
|
||||
var disableSleepTimerResetFeedback: Boolean,
|
||||
var languageCode: String
|
||||
var languageCode: String,
|
||||
var downloadUsingCellular: DownloadUsingCellularSetting,
|
||||
var streamingUsingCellular: StreamingUsingCellularSetting
|
||||
) {
|
||||
companion object {
|
||||
// Static method to get default device settings
|
||||
@@ -147,7 +157,9 @@ data class DeviceSettings(
|
||||
autoSleepTimerAutoRewindTime = 300000L, // 5 minutes
|
||||
disableSleepTimerFadeOut = false,
|
||||
disableSleepTimerResetFeedback = false,
|
||||
languageCode = "en-us"
|
||||
languageCode = "en-us",
|
||||
downloadUsingCellular = DownloadUsingCellularSetting.ALWAYS,
|
||||
streamingUsingCellular = StreamingUsingCellularSetting.ALWAYS
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +53,14 @@ object DeviceManager {
|
||||
if (deviceData.deviceSettings?.languageCode == null) {
|
||||
deviceData.deviceSettings?.languageCode = "en-us"
|
||||
}
|
||||
|
||||
if (deviceData.deviceSettings?.downloadUsingCellular == null) {
|
||||
deviceData.deviceSettings?.downloadUsingCellular = DownloadUsingCellularSetting.ALWAYS
|
||||
}
|
||||
|
||||
if (deviceData.deviceSettings?.streamingUsingCellular == null) {
|
||||
deviceData.deviceSettings?.streamingUsingCellular = StreamingUsingCellularSetting.ALWAYS
|
||||
}
|
||||
}
|
||||
|
||||
fun getBase64Id(id:String):String {
|
||||
|
||||
@@ -70,6 +70,7 @@ class FolderScanner(var ctx: Context) {
|
||||
)
|
||||
localLibraryItem.localFiles.add(localFile)
|
||||
|
||||
val trackFileMetadata = FileMetadata(file.name, file.extension, file.absolutePath, file.getBasePath(ctx), file.length())
|
||||
// Create new audio track
|
||||
val track = AudioTrack(
|
||||
audioTrackFromServer.index,
|
||||
@@ -78,7 +79,7 @@ class FolderScanner(var ctx: Context) {
|
||||
localFile.filename ?: "",
|
||||
localFile.contentUrl,
|
||||
localFile.mimeType ?: "",
|
||||
null,
|
||||
trackFileMetadata,
|
||||
true,
|
||||
localFileId,
|
||||
null,
|
||||
@@ -274,7 +275,8 @@ class FolderScanner(var ctx: Context) {
|
||||
localLibraryItem.localFiles.add(localFile)
|
||||
|
||||
// Create new audio track
|
||||
val track = AudioTrack(audioTrackFromServer.index, audioTrackFromServer.startOffset, audioTrackFromServer.duration, localFile.filename ?: "", localFile.contentUrl, localFile.mimeType ?: "", null, true, localFileId, null, audioTrackFromServer.index)
|
||||
val trackFileMetadata = FileMetadata(docFile.name ?: "", docFile.extension ?: "", docFile.getAbsolutePath(ctx), docFile.getBasePath(ctx), docFile.length())
|
||||
val track = AudioTrack(audioTrackFromServer.index, audioTrackFromServer.startOffset, audioTrackFromServer.duration, localFile.filename ?: "", localFile.contentUrl, localFile.mimeType ?: "", trackFileMetadata, true, localFileId, null, audioTrackFromServer.index)
|
||||
audioTracks.add(track)
|
||||
|
||||
Log.d(tag, "scanDownloadItem: Created Audio Track with index ${track.index} from local file ${localFile.absolutePath}")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
ext {
|
||||
minSdkVersion = 24
|
||||
compileSdkVersion = 34
|
||||
targetSdkVersion = 33
|
||||
targetSdkVersion = 34
|
||||
androidxActivityVersion = '1.7.0'
|
||||
androidxAppCompatVersion = '1.6.1'
|
||||
androidxCoordinatorLayoutVersion = '1.2.0'
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<script>
|
||||
import { AbsAudioPlayer } from '@/plugins/capacitor'
|
||||
import { Dialog } from '@capacitor/dialog'
|
||||
import CellularPermissionHelpers from '@/mixins/cellularPermissionHelpers'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
@@ -39,6 +40,7 @@ export default {
|
||||
serverEpisodeId: null
|
||||
}
|
||||
},
|
||||
mixins: [CellularPermissionHelpers],
|
||||
computed: {
|
||||
bookmarks() {
|
||||
if (!this.serverLibraryItemId) return []
|
||||
@@ -193,12 +195,21 @@ export default {
|
||||
const startTime = payload.startTime
|
||||
const startWhenReady = !payload.paused
|
||||
|
||||
const isLocal = libraryItemId.startsWith('local')
|
||||
if (!isLocal) {
|
||||
const hasPermission = await this.checkCellularPermission('streaming')
|
||||
if (!hasPermission) {
|
||||
this.$store.commit('setPlayerDoneStartingPlayback')
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// When playing local library item and can also play this item from the server
|
||||
// then store the server library item id so it can be used if a cast is made
|
||||
const serverLibraryItemId = payload.serverLibraryItemId || null
|
||||
const serverEpisodeId = payload.serverEpisodeId || null
|
||||
|
||||
if (libraryItemId.startsWith('local') && this.$store.state.isCasting) {
|
||||
if (isLocal && this.$store.state.isCasting) {
|
||||
const { value } = await Dialog.confirm({
|
||||
title: 'Warning',
|
||||
message: `Cannot cast downloaded media items. Confirm to close cast and play on your device.`
|
||||
@@ -373,4 +384,4 @@ export default {
|
||||
this.$eventBus.$off('device-focus-update', this.deviceFocused)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<ui-text-input v-model="password" type="password" :disabled="processing" :placeholder="$strings.LabelPassword" class="w-full mb-2 text-lg" />
|
||||
|
||||
<div class="flex items-center pt-2">
|
||||
<ui-icon-btn v-if="serverConfig.id" small bg-color="error" icon="delete" @click="removeServerConfigClick" />
|
||||
<ui-icon-btn v-if="serverConfig.id" small bg-color="error" icon="delete" type="button" @click="removeServerConfigClick" />
|
||||
<div class="flex-grow" />
|
||||
<ui-btn :disabled="processing || !networkConnected" type="submit" class="mt-1 h-10">{{ networkConnected ? $strings.ButtonSubmit : $strings.MessageNoNetworkConnection }}</ui-btn>
|
||||
</div>
|
||||
|
||||
@@ -63,6 +63,10 @@ export default {
|
||||
{
|
||||
text: this.$strings.LabelFileModified,
|
||||
value: 'mtimeMs'
|
||||
},
|
||||
{
|
||||
text: this.$strings.LabelRandomly,
|
||||
value: 'random'
|
||||
}
|
||||
],
|
||||
podcastItems: [
|
||||
@@ -89,6 +93,10 @@ export default {
|
||||
{
|
||||
text: this.$strings.LabelFileModified,
|
||||
value: 'mtimeMs'
|
||||
},
|
||||
{
|
||||
text: this.$strings.LabelRandomly,
|
||||
value: 'random'
|
||||
}
|
||||
],
|
||||
episodeItems: [
|
||||
|
||||
@@ -65,7 +65,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
manualTimerModal: true,
|
||||
manualTimerModal: false,
|
||||
manualTimeoutMin: 1
|
||||
}
|
||||
},
|
||||
|
||||
@@ -34,16 +34,18 @@ export default {
|
||||
currentLocationNum: 0,
|
||||
currentLocationCfi: null,
|
||||
inittingDisplay: true,
|
||||
isRefreshingUI: false,
|
||||
ereaderSettings: {
|
||||
theme: 'dark',
|
||||
fontScale: 100,
|
||||
lineSpacing: 115
|
||||
lineSpacing: 115,
|
||||
textStroke: 0
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
isPlayerOpen() {
|
||||
this.updateHeight()
|
||||
this.refreshUI()
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -112,7 +114,8 @@ export default {
|
||||
'*': {
|
||||
color: `${fontColor}!important`,
|
||||
'background-color': `${backgroundColor}!important`,
|
||||
'line-height': this.ereaderSettings.lineSpacing + '%!important'
|
||||
'line-height': this.ereaderSettings.lineSpacing + '%!important',
|
||||
'-webkit-text-stroke': this.ereaderSettings.textStroke/100 + 'px ' + fontColor + '!important'
|
||||
},
|
||||
a: {
|
||||
color: `${fontColor}!important`
|
||||
@@ -135,11 +138,6 @@ export default {
|
||||
goToChapter(href) {
|
||||
return this.rendition?.display(href)
|
||||
},
|
||||
updateHeight() {
|
||||
if (this.rendition && this.rendition.resize) {
|
||||
this.rendition.resize(window.innerWidth, window.innerHeight - this.readerHeightOffset)
|
||||
}
|
||||
},
|
||||
prev() {
|
||||
if (this.rendition) {
|
||||
this.rendition.prev()
|
||||
@@ -382,14 +380,54 @@ export default {
|
||||
this.rendition.getContents().forEach((c) => {
|
||||
c.addStylesheetRules(this.themeRules)
|
||||
})
|
||||
},
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
this.isRefreshingUI = false
|
||||
},
|
||||
refreshUI() {
|
||||
if (this.rendition?.resize) {
|
||||
this.rendition.resize(window.innerWidth, window.innerHeight - this.readerHeightOffset)
|
||||
}
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.book?.destroy()
|
||||
},
|
||||
mounted() {
|
||||
this.initEpub()
|
||||
}
|
||||
|
||||
if (screen.orientation) {
|
||||
// Not available on ios
|
||||
screen.orientation.addEventListener('change', this.screenOrientationChange)
|
||||
} else {
|
||||
document.addEventListener('orientationchange', this.screenOrientationChange)
|
||||
}
|
||||
window.addEventListener('resize', this.screenOrientationChange)
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.book?.destroy()
|
||||
|
||||
if (screen.orientation) {
|
||||
// Not available on ios
|
||||
screen.orientation.removeEventListener('change', this.screenOrientationChange)
|
||||
} else {
|
||||
document.removeEventListener('orientationchange', this.screenOrientationChange)
|
||||
}
|
||||
window.removeEventListener('resize', this.screenOrientationChange)
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -404,4 +442,4 @@ export default {
|
||||
max-height: calc(100% - 132px);
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<div class="h-full flex items-center justify-center">
|
||||
<div :style="{ width: pdfWidth + 'px', height: pdfHeight + 'px' }" class="w-full h-full overflow-auto">
|
||||
<div v-if="loadedRatio > 0 && loadedRatio < 1" style="background-color: green; color: white; text-align: center" :style="{ width: loadedRatio * 100 + '%' }">{{ Math.floor(loadedRatio * 100) }}%</div>
|
||||
<pdf ref="pdf" class="m-auto z-10 border border-black border-opacity-20 shadow-md bg-white" :src="pdfDocInitParams" :page="page" :rotate="rotate" @progress="loadedRatio = $event" @error="error" @num-pages="numPagesLoaded" @link-clicked="page = $event" @loaded="loadedEvt"></pdf>
|
||||
<pdf v-if="pdfDocInitParams" ref="pdf" class="m-auto z-10 border border-black border-opacity-20 shadow-md bg-white" :src="pdfDocInitParams" :page="page" :rotate="rotate" @progress="loadedRatio = $event" @error="error" @num-pages="numPagesLoaded" @link-clicked="page = $event" @loaded="loadedEvt"></pdf>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -48,7 +48,8 @@ export default {
|
||||
page: 1,
|
||||
numPages: 0,
|
||||
windowWidth: 0,
|
||||
windowHeight: 0
|
||||
windowHeight: 0,
|
||||
pdfDocInitParams: null
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -106,14 +107,6 @@ export default {
|
||||
if (!this.userItemProgress?.ebookLocation || isNaN(this.userItemProgress.ebookLocation)) return 0
|
||||
return Number(this.userItemProgress.ebookLocation)
|
||||
},
|
||||
pdfDocInitParams() {
|
||||
return {
|
||||
url: this.url,
|
||||
httpHeaders: {
|
||||
Authorization: `Bearer ${this.userToken}`
|
||||
}
|
||||
}
|
||||
},
|
||||
isPlayerOpen() {
|
||||
return this.$store.getters['getIsPlayerOpen']
|
||||
}
|
||||
@@ -157,6 +150,8 @@ export default {
|
||||
}
|
||||
},
|
||||
numPagesLoaded(e) {
|
||||
if (!e) return
|
||||
|
||||
this.numPages = e
|
||||
},
|
||||
prev() {
|
||||
@@ -175,6 +170,14 @@ export default {
|
||||
screenOrientationChange() {
|
||||
this.windowWidth = window.innerWidth
|
||||
this.windowHeight = window.innerHeight
|
||||
},
|
||||
init() {
|
||||
this.pdfDocInitParams = {
|
||||
url: this.url,
|
||||
httpHeaders: {
|
||||
Authorization: `Bearer ${this.userToken}`
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -188,6 +191,8 @@ export default {
|
||||
document.addEventListener('orientationchange', this.screenOrientationChange)
|
||||
}
|
||||
window.addEventListener('resize', this.screenOrientationChange)
|
||||
|
||||
this.init()
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (screen.orientation) {
|
||||
@@ -199,4 +204,4 @@ export default {
|
||||
window.removeEventListener('resize', this.screenOrientationChange)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -82,6 +82,12 @@
|
||||
</div>
|
||||
<ui-range-input v-model="ereaderSettings.lineSpacing" :min="100" :max="300" :step="5" input-width="180px" @input="settingsUpdated" />
|
||||
</div>
|
||||
<div class="flex items-center mb-6">
|
||||
<div class="w-32">
|
||||
<p class="text-base">{{ $strings.LabelFontBoldness }}:</p>
|
||||
</div>
|
||||
<ui-range-input v-model="ereaderSettings.textStroke" :min="0" :max="300" :step="5" input-width="180px" @input="settingsUpdated" />
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<div class="w-32">
|
||||
<p class="text-base">{{ $strings.LabelLayout }}:</p>
|
||||
@@ -116,7 +122,8 @@ export default {
|
||||
theme: 'dark',
|
||||
fontScale: 100,
|
||||
lineSpacing: 115,
|
||||
spread: 'auto'
|
||||
spread: 'auto',
|
||||
textStroke: 0
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -369,12 +376,12 @@ export default {
|
||||
try {
|
||||
const settings = localStorage.getItem('ereaderSettings')
|
||||
if (settings) {
|
||||
const ereaderSettings = JSON.parse(settings)
|
||||
if (!ereaderSettings.spread) {
|
||||
// Added in 0.9.71
|
||||
ereaderSettings.spread = 'auto'
|
||||
const _ereaderSettings = JSON.parse(settings)
|
||||
for (const key in this.ereaderSettings) {
|
||||
if (_ereaderSettings[key] !== undefined) {
|
||||
this.ereaderSettings[key] = _ereaderSettings[key]
|
||||
}
|
||||
}
|
||||
this.ereaderSettings = ereaderSettings
|
||||
this.settingsUpdated()
|
||||
}
|
||||
} catch (error) {
|
||||
@@ -396,4 +403,4 @@ export default {
|
||||
this.unregisterListeners()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
|
||||
<script>
|
||||
import { AbsFileSystem, AbsDownloader } from '@/plugins/capacitor'
|
||||
import cellularPermissionHelpers from '@/mixins/cellularPermissionHelpers'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
@@ -73,6 +74,7 @@ export default {
|
||||
},
|
||||
isLocal: Boolean
|
||||
},
|
||||
mixins: [cellularPermissionHelpers],
|
||||
data() {
|
||||
return {
|
||||
isProcessingReadUpdate: false,
|
||||
@@ -180,6 +182,9 @@ export default {
|
||||
async downloadClick() {
|
||||
if (this.downloadItem || this.startingDownload) return
|
||||
|
||||
const hasPermission = await this.checkCellularPermission('download')
|
||||
if (!hasPermission) return
|
||||
|
||||
this.startingDownload = true
|
||||
setTimeout(() => {
|
||||
this.startingDownload = false
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
|
||||
<script>
|
||||
import { AbsFileSystem, AbsDownloader } from '@/plugins/capacitor'
|
||||
import CellularPermissionHelpers from '@/mixins/cellularPermissionHelpers'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
@@ -83,6 +84,7 @@ export default {
|
||||
processing: false
|
||||
}
|
||||
},
|
||||
mixins: [CellularPermissionHelpers],
|
||||
computed: {
|
||||
bookCoverAspectRatio() {
|
||||
return this.$store.getters['libraries/getBookCoverAspectRatio']
|
||||
@@ -187,6 +189,10 @@ export default {
|
||||
},
|
||||
async downloadClick() {
|
||||
if (this.downloadItem || this.pendingDownload) return
|
||||
|
||||
const hasPermission = await this.checkCellularPermission('download')
|
||||
if (!hasPermission) return
|
||||
|
||||
this.pendingDownload = true
|
||||
await this.$hapticsImpact()
|
||||
if (this.isIos) {
|
||||
@@ -262,7 +268,6 @@ export default {
|
||||
|
||||
if (this.localEpisode && this.localLibraryItemId) {
|
||||
console.log('Play local episode', this.localEpisode.id, this.localLibraryItemId)
|
||||
|
||||
this.$eventBus.$emit('play-item', {
|
||||
libraryItemId: this.localLibraryItemId,
|
||||
episodeId: this.localEpisode.id,
|
||||
@@ -285,7 +290,11 @@ export default {
|
||||
const isFinished = !this.userIsFinished
|
||||
const localLibraryItemId = this.isLocal ? this.libraryItemId : this.localLibraryItemId
|
||||
const localEpisodeId = this.isLocal ? this.episode.id : this.localEpisode.id
|
||||
const payload = await this.$db.updateLocalMediaProgressFinished({ localLibraryItemId, localEpisodeId, isFinished })
|
||||
const payload = await this.$db.updateLocalMediaProgressFinished({
|
||||
localLibraryItemId,
|
||||
localEpisodeId,
|
||||
isFinished
|
||||
})
|
||||
console.log('toggleFinished payload', JSON.stringify(payload))
|
||||
if (payload?.error) {
|
||||
this.$toast.error(payload?.error || 'Unknown error')
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<button class="icon-btn rounded-md flex items-center justify-center h-9 w-9 relative" @mousedown.prevent :disabled="disabled || loading" :class="className" @click="clickBtn">
|
||||
<button class="icon-btn rounded-md flex items-center justify-center h-9 w-9 relative" :disabled="disabled || loading" :class="className" :type="type" @mousedown.prevent @click="clickBtn">
|
||||
<div v-if="loading" class="text-fg absolute top-0 left-0 w-full h-full flex items-center justify-center text-opacity-100">
|
||||
<svg class="animate-spin" style="width: 24px; height: 24px" viewBox="0 0 24 24">
|
||||
<path fill="currentColor" d="M12,4V2A10,10 0 0,0 2,12H4A8,8 0 0,1 12,4Z" />
|
||||
@@ -13,6 +13,10 @@
|
||||
export default {
|
||||
props: {
|
||||
icon: String,
|
||||
type: {
|
||||
type: String,
|
||||
default: 'button'
|
||||
},
|
||||
disabled: Boolean,
|
||||
bgColor: {
|
||||
type: String,
|
||||
@@ -77,4 +81,4 @@ button.icon-btn:disabled::before {
|
||||
button.icon-btn:disabled span {
|
||||
color: #777;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -740,12 +740,12 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = Icons;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 30;
|
||||
CURRENT_PROJECT_VERSION = 32;
|
||||
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.73;
|
||||
MARKETING_VERSION = 0.9.75;
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.audiobookshelf.app.dev;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@@ -764,12 +764,12 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = Icons;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 30;
|
||||
CURRENT_PROJECT_VERSION = 32;
|
||||
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.73;
|
||||
MARKETING_VERSION = 0.9.75;
|
||||
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: 17,
|
||||
schemaVersion: 18,
|
||||
migrationBlock: { [weak self] migration, oldSchemaVersion in
|
||||
if (oldSchemaVersion < 1) {
|
||||
self?.logger.log("Realm schema version was \(oldSchemaVersion)")
|
||||
@@ -54,6 +54,13 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
newObject?["chapterTrack"] = false
|
||||
}
|
||||
}
|
||||
if (oldSchemaVersion < 17) {
|
||||
self?.logger.log("Realm schema version was \(oldSchemaVersion)... Adding downloadUsingCellular and streamingUsingCellular settings")
|
||||
migration.enumerateObjects(ofType: PlayerSettings.className()) { oldObject, newObject in
|
||||
newObject?["downloadUsingCellular"] = "ALWAYS"
|
||||
newObject?["streamingUsingCellular"] = "ALWAYS"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
)
|
||||
|
||||
@@ -8,13 +8,16 @@
|
||||
import Foundation
|
||||
import Capacitor
|
||||
import RealmSwift
|
||||
import Network
|
||||
|
||||
@objc(AbsAudioPlayer)
|
||||
public class AbsAudioPlayer: CAPPlugin {
|
||||
private let logger = AppLogger(category: "AbsAudioPlayer")
|
||||
|
||||
|
||||
private var initialPlayWhenReady = false
|
||||
|
||||
private var monitor: NWPathMonitor?
|
||||
private let queue = DispatchQueue.global(qos: .background)
|
||||
|
||||
override public func load() {
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(sendMetadata), name: NSNotification.Name(PlayerEvents.update.rawValue), object: nil)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(sendPlaybackClosedEvent), name: NSNotification.Name(PlayerEvents.closed.rawValue), object: nil)
|
||||
@@ -24,20 +27,25 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(sendSleepTimerEnded), name: NSNotification.Name(PlayerEvents.sleepEnded.rawValue), object: nil)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(onPlaybackFailed), name: NSNotification.Name(PlayerEvents.failed.rawValue), object: nil)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(onLocalMediaProgressUpdate), name: NSNotification.Name(PlayerEvents.localProgress.rawValue), object: nil)
|
||||
|
||||
|
||||
self.bridge?.webView?.allowsBackForwardNavigationGestures = true;
|
||||
self.bridge?.webView?.scrollView.alwaysBounceVertical = false;
|
||||
|
||||
|
||||
setupNetworkMonitor()
|
||||
}
|
||||
|
||||
|
||||
deinit {
|
||||
monitor?.cancel()
|
||||
}
|
||||
|
||||
@objc func onReady(_ call: CAPPluginCall) {
|
||||
// TODO: Was used to notify when Abs UI was ready so that last played media could be opened - this was buggy and removed
|
||||
call.resolve()
|
||||
}
|
||||
|
||||
|
||||
@objc func startPlaybackSession(_ session: PlaybackSession, playWhenReady: Bool, playbackRate: Float) throws {
|
||||
guard let libraryItemId = session.libraryItemId else { throw PlayerError.libraryItemIdNotSpecified }
|
||||
|
||||
|
||||
self.sendPrepareMetadataEvent(itemId: libraryItemId, playWhenReady: playWhenReady)
|
||||
self.sendPlaybackSession(session: try session.asDictionary())
|
||||
PlayerHandler.startPlayback(sessionId: session.id, playWhenReady: playWhenReady, playbackRate: playbackRate)
|
||||
@@ -50,14 +58,14 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
let playWhenReady = call.getBool("playWhenReady", true)
|
||||
let playbackRate = call.getFloat("playbackRate", 1)
|
||||
let startTimeOverride = call.getDouble("startTime")
|
||||
|
||||
|
||||
if libraryItemId == nil {
|
||||
logger.error("provide library item id")
|
||||
return call.resolve()
|
||||
}
|
||||
|
||||
|
||||
PlayerHandler.stopPlayback()
|
||||
|
||||
|
||||
let isLocalItem = libraryItemId?.starts(with: "local_") ?? false
|
||||
if (isLocalItem) {
|
||||
let item = Database.shared.getLocalLibraryItem(localLibraryItemId: libraryItemId!)
|
||||
@@ -66,7 +74,7 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
logger.error("Failed to get local playback session")
|
||||
return call.resolve([:])
|
||||
}
|
||||
|
||||
|
||||
do {
|
||||
if (startTimeOverride != nil) {
|
||||
playbackSession.currentTime = startTimeOverride!
|
||||
@@ -96,14 +104,14 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@objc func closePlayback(_ call: CAPPluginCall) {
|
||||
logger.log("Close playback")
|
||||
|
||||
|
||||
PlayerHandler.stopPlayback()
|
||||
call.resolve()
|
||||
}
|
||||
|
||||
|
||||
@objc func getCurrentTime(_ call: CAPPluginCall) {
|
||||
call.resolve([
|
||||
"value": PlayerHandler.getCurrentTime() ?? 0,
|
||||
@@ -130,7 +138,7 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
PlayerHandler.setChapterTrack()
|
||||
call.resolve()
|
||||
}
|
||||
|
||||
|
||||
@objc func playPlayer(_ call: CAPPluginCall) {
|
||||
PlayerHandler.paused = false
|
||||
call.resolve()
|
||||
@@ -144,7 +152,7 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
PlayerHandler.paused = !PlayerHandler.paused
|
||||
call.resolve([ "playing": !PlayerHandler.paused ])
|
||||
}
|
||||
|
||||
|
||||
@objc func seek(_ call: CAPPluginCall) {
|
||||
PlayerHandler.seek(amount: call.getDouble("value", 0.0))
|
||||
call.resolve()
|
||||
@@ -157,7 +165,7 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
PlayerHandler.seekBackward(amount: call.getDouble("value", 0.0))
|
||||
call.resolve()
|
||||
}
|
||||
|
||||
|
||||
@objc func sendMetadata() {
|
||||
self.notifyListeners("onPlayingUpdate", data: [ "value": !PlayerHandler.paused ])
|
||||
if let metadata = try? PlayerHandler.getMetdata()?.asDictionary() {
|
||||
@@ -167,34 +175,34 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
@objc func sendPlaybackClosedEvent() {
|
||||
self.notifyListeners("onPlaybackClosed", data: [ "value": true ])
|
||||
}
|
||||
|
||||
|
||||
@objc func decreaseSleepTime(_ call: CAPPluginCall) {
|
||||
guard let timeString = call.getString("time") else { return call.resolve([ "success": false ]) }
|
||||
guard let time = Double(timeString) else { return call.resolve([ "success": false ]) }
|
||||
guard let _ = PlayerHandler.getSleepTimeRemaining() else { return call.resolve([ "success": false ]) }
|
||||
|
||||
|
||||
let seconds = time/1000
|
||||
PlayerHandler.decreaseSleepTime(decreaseSeconds: seconds)
|
||||
call.resolve()
|
||||
}
|
||||
|
||||
|
||||
@objc func increaseSleepTime(_ call: CAPPluginCall) {
|
||||
guard let timeString = call.getString("time") else { return call.resolve([ "success": false ]) }
|
||||
guard let time = Double(timeString) else { return call.resolve([ "success": false ]) }
|
||||
guard let _ = PlayerHandler.getSleepTimeRemaining() else { return call.resolve([ "success": false ]) }
|
||||
|
||||
|
||||
let seconds = time/1000
|
||||
PlayerHandler.increaseSleepTime(increaseSeconds: seconds)
|
||||
call.resolve()
|
||||
}
|
||||
|
||||
|
||||
@objc func setSleepTimer(_ call: CAPPluginCall) {
|
||||
guard let timeString = call.getString("time") else { return call.resolve([ "success": false ]) }
|
||||
guard let time = Double(timeString) else { return call.resolve([ "success": false ]) }
|
||||
let isChapterTime = call.getBool("isChapterTime", false)
|
||||
|
||||
|
||||
let seconds = time / 1000
|
||||
|
||||
|
||||
logger.log("chapter time: \(isChapterTime)")
|
||||
if isChapterTime {
|
||||
PlayerHandler.setChapterSleepTime(stopAt: seconds)
|
||||
@@ -204,30 +212,30 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
call.resolve([ "success": true ])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@objc func cancelSleepTimer(_ call: CAPPluginCall) {
|
||||
PlayerHandler.cancelSleepTime()
|
||||
call.resolve()
|
||||
}
|
||||
|
||||
|
||||
@objc func getSleepTimerTime(_ call: CAPPluginCall) {
|
||||
call.resolve([
|
||||
"value": PlayerHandler.getSleepTimeRemaining() ?? 0
|
||||
])
|
||||
}
|
||||
|
||||
|
||||
@objc func sendSleepTimerEnded() {
|
||||
self.notifyListeners("onSleepTimerEnded", data: [
|
||||
"value": PlayerHandler.getCurrentTime() ?? 0
|
||||
])
|
||||
}
|
||||
|
||||
|
||||
@objc func sendSleepTimerSet() {
|
||||
self.notifyListeners("onSleepTimerSet", data: [
|
||||
"value": PlayerHandler.getSleepTimeRemaining() ?? 0
|
||||
])
|
||||
}
|
||||
|
||||
|
||||
@objc func onLocalMediaProgressUpdate() {
|
||||
guard let localMediaProgressId = PlayerHandler.getPlaybackSession()?.localMediaProgressId else { return }
|
||||
guard let localMediaProgress = Database.shared.getLocalMediaProgress(localMediaProgressId: localMediaProgressId) else { return }
|
||||
@@ -235,7 +243,7 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
logger.log("Sending local progress back to the UI")
|
||||
self.notifyListeners("onLocalMediaProgressUpdate", data: progressUpdate)
|
||||
}
|
||||
|
||||
|
||||
@objc func onPlaybackFailed() {
|
||||
if (PlayerHandler.getPlayMethod() == PlayMethod.directplay.rawValue) {
|
||||
let session = PlayerHandler.getPlaybackSession()
|
||||
@@ -243,7 +251,7 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
let libraryItemId = session?.libraryItemId ?? ""
|
||||
let episodeId = session?.episodeId ?? nil
|
||||
logger.log("Forcing Transcode")
|
||||
|
||||
|
||||
// If direct playing then fallback to transcode
|
||||
ApiClient.startPlaybackSession(libraryItemId: libraryItemId, episodeId: episodeId, forceTranscode: true) { [weak self] session in
|
||||
do {
|
||||
@@ -262,19 +270,38 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||
"value": "Playback Error"
|
||||
])
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@objc func sendPrepareMetadataEvent(itemId: String, playWhenReady: Bool) {
|
||||
self.notifyListeners("onPrepareMedia", data: [
|
||||
"audiobookId": itemId,
|
||||
"playWhenReady": playWhenReady,
|
||||
])
|
||||
}
|
||||
|
||||
|
||||
@objc func sendPlaybackSession(session: [String: Any]) {
|
||||
self.notifyListeners("onPlaybackSession", data: session)
|
||||
}
|
||||
|
||||
private func setupNetworkMonitor() {
|
||||
monitor = NWPathMonitor()
|
||||
monitor?.pathUpdateHandler = { [weak self] path in
|
||||
guard let self = self else { return }
|
||||
|
||||
let isUnmetered = !path.isExpensive && !path.isConstrained
|
||||
|
||||
DispatchQueue.main.async {
|
||||
self.notifyNetworkMeteredChanged(isUnmetered: isUnmetered)
|
||||
}
|
||||
}
|
||||
monitor?.start(queue: queue)
|
||||
}
|
||||
|
||||
private func notifyNetworkMeteredChanged(isUnmetered: Bool) {
|
||||
let data: [String: Any] = ["value": isUnmetered]
|
||||
self.notifyListeners("onNetworkMeteredChanged", data: data)
|
||||
}
|
||||
}
|
||||
|
||||
enum PlayerError: String, Error {
|
||||
|
||||
@@ -29,20 +29,20 @@ extension String {
|
||||
@objc(AbsDatabase)
|
||||
public class AbsDatabase: CAPPlugin {
|
||||
private let logger = AppLogger(category: "AbsDatabase")
|
||||
|
||||
|
||||
@objc func setCurrentServerConnectionConfig(_ call: CAPPluginCall) {
|
||||
var id = call.getString("id")
|
||||
let address = call.getString("address", "")
|
||||
let userId = call.getString("userId", "")
|
||||
let username = call.getString("username", "")
|
||||
let token = call.getString("token", "")
|
||||
|
||||
|
||||
let name = "\(address) (\(username))"
|
||||
|
||||
|
||||
if id == nil {
|
||||
id = "\(address)@\(username)".toBase64()
|
||||
}
|
||||
|
||||
|
||||
let config = ServerConnectionConfig()
|
||||
config.id = id ?? ""
|
||||
config.index = 0
|
||||
@@ -51,7 +51,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
config.userId = userId
|
||||
config.username = username
|
||||
config.token = token
|
||||
|
||||
|
||||
Store.serverConfig = config
|
||||
let savedConfig = Store.serverConfig // Fetch the latest value
|
||||
call.resolve(convertServerConnectionConfigToJSON(config: savedConfig!))
|
||||
@@ -59,26 +59,26 @@ public class AbsDatabase: CAPPlugin {
|
||||
@objc func removeServerConnectionConfig(_ call: CAPPluginCall) {
|
||||
let id = call.getString("serverConnectionConfigId", "")
|
||||
Database.shared.deleteServerConnectionConfig(id: id)
|
||||
|
||||
|
||||
call.resolve()
|
||||
}
|
||||
@objc func logout(_ call: CAPPluginCall) {
|
||||
Store.serverConfig = nil
|
||||
call.resolve()
|
||||
}
|
||||
|
||||
|
||||
@objc func getDeviceData(_ call: CAPPluginCall) {
|
||||
let configs = Database.shared.getServerConnectionConfigs()
|
||||
let index = Database.shared.getLastActiveConfigIndex()
|
||||
let settings = Database.shared.getDeviceSettings()
|
||||
|
||||
|
||||
call.resolve([
|
||||
"serverConnectionConfigs": configs.map { config in convertServerConnectionConfigToJSON(config: config) },
|
||||
"lastServerConnectionConfigId": configs.first { config in config.index == index }?.id as Any,
|
||||
"deviceSettings": deviceSettingsToJSON(settings: settings)
|
||||
])
|
||||
}
|
||||
|
||||
|
||||
@objc func getLocalLibraryItems(_ call: CAPPluginCall) {
|
||||
do {
|
||||
let items = Database.shared.getLocalLibraryItems()
|
||||
@@ -89,7 +89,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
call.resolve()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@objc func getLocalLibraryItem(_ call: CAPPluginCall) {
|
||||
do {
|
||||
let item = Database.shared.getLocalLibraryItem(localLibraryItemId: call.getString("id") ?? "")
|
||||
@@ -105,7 +105,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
call.resolve()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@objc func getLocalLibraryItemByLId(_ call: CAPPluginCall) {
|
||||
do {
|
||||
let item = Database.shared.getLocalLibraryItem(byServerLibraryItemId: call.getString("libraryItemId") ?? "")
|
||||
@@ -121,11 +121,11 @@ public class AbsDatabase: CAPPlugin {
|
||||
call.resolve()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@objc func getLocalLibraryItemsInFolder(_ call: CAPPluginCall) {
|
||||
call.resolve([ "value": [] ])
|
||||
}
|
||||
|
||||
|
||||
@objc func getAllLocalMediaProgress(_ call: CAPPluginCall) {
|
||||
do {
|
||||
call.resolve([ "value": try Database.shared.getAllLocalMediaProgress().asDictionaryArray() ])
|
||||
@@ -135,7 +135,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
call.resolve(["value": []])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@objc func removeLocalMediaProgress(_ call: CAPPluginCall) {
|
||||
let localMediaProgressId = call.getString("localMediaProgressId")
|
||||
guard let localMediaProgressId = localMediaProgressId else {
|
||||
@@ -145,7 +145,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
try? Database.shared.removeLocalMediaProgress(localMediaProgressId: localMediaProgressId)
|
||||
call.resolve()
|
||||
}
|
||||
|
||||
|
||||
@objc func syncLocalSessionsWithServer(_ call: CAPPluginCall) {
|
||||
let isFirstSync = call.getBool("isFirstSync", false)
|
||||
logger.log("syncLocalSessionsWithServer: Starting (First sync: \(isFirstSync))")
|
||||
@@ -153,19 +153,19 @@ public class AbsDatabase: CAPPlugin {
|
||||
call.reject("syncLocalSessionsWithServer not connected to server")
|
||||
return call.resolve()
|
||||
}
|
||||
|
||||
|
||||
Task {
|
||||
await ApiClient.syncLocalSessionsWithServer(isFirstSync: isFirstSync)
|
||||
call.resolve()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@objc func syncServerMediaProgressWithLocalMediaProgress(_ call: CAPPluginCall) {
|
||||
let serverMediaProgress = call.getJson("mediaProgress", type: MediaProgress.self)
|
||||
let localLibraryItemId = call.getString("localLibraryItemId")
|
||||
let localEpisodeId = call.getString("localEpisodeId")
|
||||
let localMediaProgressId = call.getString("localMediaProgressId")
|
||||
|
||||
|
||||
do {
|
||||
guard let serverMediaProgress = serverMediaProgress else {
|
||||
return call.reject("serverMediaProgress not specified")
|
||||
@@ -173,35 +173,35 @@ public class AbsDatabase: CAPPlugin {
|
||||
guard localLibraryItemId != nil || localMediaProgressId != nil else {
|
||||
return call.reject("localLibraryItemId or localMediaProgressId must be specified")
|
||||
}
|
||||
|
||||
|
||||
let localMediaProgress = try LocalMediaProgress.fetchOrCreateLocalMediaProgress(localMediaProgressId: localMediaProgressId, localLibraryItemId: localLibraryItemId, localEpisodeId: localEpisodeId)
|
||||
guard let localMediaProgress = localMediaProgress else {
|
||||
call.reject("Local media progress not found or created")
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
logger.log("syncServerMediaProgressWithLocalMediaProgress: Saving local media progress")
|
||||
try localMediaProgress.updateFromServerMediaProgress(serverMediaProgress)
|
||||
|
||||
|
||||
call.resolve(try localMediaProgress.asDictionary())
|
||||
} catch {
|
||||
call.reject("Failed to sync media progress")
|
||||
debugPrint(error)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@objc func updateLocalMediaProgressFinished(_ call: CAPPluginCall) {
|
||||
let localLibraryItemId = call.getString("localLibraryItemId")
|
||||
let localEpisodeId = call.getString("localEpisodeId")
|
||||
let isFinished = call.getBool("isFinished", false)
|
||||
|
||||
|
||||
var localMediaProgressId = localLibraryItemId ?? ""
|
||||
if localEpisodeId != nil {
|
||||
localMediaProgressId += "-\(localEpisodeId ?? "")"
|
||||
}
|
||||
|
||||
|
||||
logger.log("updateLocalMediaProgressFinished \(localMediaProgressId) | Is Finished: \(isFinished)")
|
||||
|
||||
|
||||
do {
|
||||
let localMediaProgress = try LocalMediaProgress.fetchOrCreateLocalMediaProgress(localMediaProgressId: localMediaProgressId, localLibraryItemId: localLibraryItemId, localEpisodeId: localEpisodeId)
|
||||
guard let localMediaProgress = localMediaProgress else {
|
||||
@@ -211,11 +211,11 @@ public class AbsDatabase: CAPPlugin {
|
||||
|
||||
// Update finished status
|
||||
try localMediaProgress.updateIsFinished(isFinished)
|
||||
|
||||
|
||||
// Build API response
|
||||
let progressDictionary = try? localMediaProgress.asDictionary()
|
||||
var response: [String: Any] = ["local": true, "server": false, "localMediaProgress": progressDictionary ?? ""]
|
||||
|
||||
|
||||
// Send update to the server if logged in
|
||||
let hasLinkedServer = localMediaProgress.serverConnectionConfigId != nil
|
||||
let loggedIntoServer = Store.serverConfig?.id == localMediaProgress.serverConnectionConfigId
|
||||
@@ -234,7 +234,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@objc func updateDeviceSettings(_ call: CAPPluginCall) {
|
||||
let disableAutoRewind = call.getBool("disableAutoRewind") ?? false
|
||||
let enableAltView = call.getBool("enableAltView") ?? false
|
||||
@@ -244,6 +244,8 @@ public class AbsDatabase: CAPPlugin {
|
||||
let lockOrientation = call.getString("lockOrientation") ?? "NONE"
|
||||
let hapticFeedback = call.getString("hapticFeedback") ?? "LIGHT"
|
||||
let languageCode = call.getString("languageCode") ?? "en-us"
|
||||
let downloadUsingCellular = call.getString("downloadUsingCellular") ?? "ALWAYS"
|
||||
let streamingUsingCellular = call.getString("streamingUsingCellular") ?? "ALWAYS"
|
||||
let settings = DeviceSettings()
|
||||
settings.disableAutoRewind = disableAutoRewind
|
||||
settings.enableAltView = enableAltView
|
||||
@@ -253,22 +255,24 @@ public class AbsDatabase: CAPPlugin {
|
||||
settings.lockOrientation = lockOrientation
|
||||
settings.hapticFeedback = hapticFeedback
|
||||
settings.languageCode = languageCode
|
||||
|
||||
settings.downloadUsingCellular = downloadUsingCellular
|
||||
settings.streamingUsingCellular = streamingUsingCellular
|
||||
|
||||
Database.shared.setDeviceSettings(deviceSettings: settings)
|
||||
|
||||
|
||||
// Updates the media notification controls (for allowSeekingOnMediaControls setting)
|
||||
PlayerHandler.updateRemoteTransportControls()
|
||||
|
||||
|
||||
getDeviceData(call)
|
||||
}
|
||||
|
||||
|
||||
@objc func updateLocalEbookProgress(_ call: CAPPluginCall) {
|
||||
let localLibraryItemId = call.getString("localLibraryItemId")
|
||||
let ebookLocation = call.getString("ebookLocation", "")
|
||||
let ebookProgress = call.getDouble("ebookProgress", 0.0)
|
||||
|
||||
|
||||
logger.log("updateLocalEbookProgress \(localLibraryItemId ?? "Unknown") | ebookLocation: \(ebookLocation) | ebookProgress: \(ebookProgress)")
|
||||
|
||||
|
||||
do {
|
||||
let localMediaProgress = try LocalMediaProgress.fetchOrCreateLocalMediaProgress(localMediaProgressId: localLibraryItemId, localLibraryItemId: localLibraryItemId, localEpisodeId: nil)
|
||||
guard let localMediaProgress = localMediaProgress else {
|
||||
@@ -278,7 +282,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
|
||||
// Update finished status
|
||||
try localMediaProgress.updateEbookProgress(ebookLocation: ebookLocation, ebookProgress: ebookProgress)
|
||||
|
||||
|
||||
// Build API response
|
||||
let progressDictionary = try? localMediaProgress.asDictionary()
|
||||
let response: [String: Any] = ["localMediaProgress": progressDictionary ?? ""]
|
||||
|
||||
@@ -17,6 +17,8 @@ class DeviceSettings: Object {
|
||||
@Persisted var lockOrientation: String = "NONE"
|
||||
@Persisted var hapticFeedback: String = "LIGHT"
|
||||
@Persisted var languageCode: String = "en-us"
|
||||
@Persisted var downloadUsingCellular: String = "ALWAYS"
|
||||
@Persisted var streamingUsingCellular: String = "ALWAYS"
|
||||
}
|
||||
|
||||
func getDefaultDeviceSettings() -> DeviceSettings {
|
||||
@@ -32,6 +34,8 @@ func deviceSettingsToJSON(settings: DeviceSettings) -> Dictionary<String, Any> {
|
||||
"jumpForwardTime": settings.jumpForwardTime,
|
||||
"lockOrientation": settings.lockOrientation,
|
||||
"hapticFeedback": settings.hapticFeedback,
|
||||
"languageCode": settings.languageCode
|
||||
"languageCode": settings.languageCode,
|
||||
"downloadUsingCellular": settings.downloadUsingCellular,
|
||||
"streamingUsingCellular": settings.streamingUsingCellular
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
import { Dialog } from '@capacitor/dialog';
|
||||
|
||||
export default {
|
||||
methods: {
|
||||
async checkCellularPermission(actionType) {
|
||||
if (this.$store.state.networkConnectionType !== 'cellular') return true
|
||||
|
||||
let permission;
|
||||
if (actionType === 'download') {
|
||||
permission = this.$store.getters['getCanDownloadUsingCellular']
|
||||
if (permission === 'NEVER') {
|
||||
this.$toast.error(this.$strings.ToastDownloadNotAllowedOnCellular)
|
||||
return false
|
||||
}
|
||||
} else if (actionType === 'streaming') {
|
||||
permission = this.$store.getters['getCanStreamingUsingCellular']
|
||||
if (permission === 'NEVER') {
|
||||
this.$toast.error(this.$strings.ToastStreamingNotAllowedOnCellular)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
if (permission === 'ASK') {
|
||||
const confirmed = await this.confirmAction(actionType)
|
||||
return confirmed
|
||||
}
|
||||
|
||||
return true
|
||||
},
|
||||
async confirmAction(actionType) {
|
||||
const message = actionType === 'download' ?
|
||||
this.$strings.MessageConfirmDownloadUsingCellular :
|
||||
this.$strings.MessageConfirmStreamingUsingCellular
|
||||
|
||||
const { value } = await Dialog.confirm({
|
||||
title: 'Confirm',
|
||||
message
|
||||
})
|
||||
return value
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "audiobookshelf-app",
|
||||
"version": "0.9.74-beta",
|
||||
"version": "0.9.76-beta",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "audiobookshelf-app",
|
||||
"version": "0.9.74-beta",
|
||||
"version": "0.9.76-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.74-beta",
|
||||
"version": "0.9.76-beta",
|
||||
"author": "advplyr",
|
||||
"scripts": {
|
||||
"dev": "nuxt --hostname 0.0.0.0 --port 1337",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<h1 class="text-xl mb-2 font-semibold">{{ $strings.HeaderLatestEpisodes }}</h1>
|
||||
|
||||
<template v-for="episode in recentEpisodes">
|
||||
<tables-podcast-latest-episode-row :episode="episode" :local-episode="localEpisodeMap[episode.id]" :library-item-id="episode.libraryItemId" :local-library-item-id="null" :is-local="isLocal" :key="episode.id" @addToPlaylist="addEpisodeToPlaylist" />
|
||||
<tables-podcast-latest-episode-row :episode="episode" :local-episode="localEpisodeMap[episode.id]" :library-item-id="episode.libraryItemId" :local-library-item-id="localEpisodeMap[episode.id]?.localLibraryItemId" :key="episode.id" @addToPlaylist="addEpisodeToPlaylist" />
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
@@ -17,7 +17,6 @@ export default {
|
||||
totalEpisodes: 0,
|
||||
currentPage: 0,
|
||||
localLibraryItems: [],
|
||||
isLocal: false,
|
||||
loadedLibraryId: null
|
||||
}
|
||||
},
|
||||
@@ -30,7 +29,10 @@ export default {
|
||||
const episodes = []
|
||||
this.localLibraryItems.forEach((li) => {
|
||||
if (li.media.episodes?.length) {
|
||||
episodes.push(...li.media.episodes)
|
||||
li.media.episodes.map((ep) => {
|
||||
ep.localLibraryItemId = li.id
|
||||
episodes.push(ep)
|
||||
})
|
||||
}
|
||||
})
|
||||
return episodes
|
||||
@@ -106,4 +108,4 @@ export default {
|
||||
this.$eventBus.$off('new-local-library-item', this.newLocalLibraryItem)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
+2
-6
@@ -34,11 +34,7 @@ export default {
|
||||
deviceData: null
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
networkConnected() {
|
||||
return this.$store.state.networkConnected
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
methods: {
|
||||
async init() {
|
||||
this.deviceData = await this.$db.getDeviceData()
|
||||
@@ -53,4 +49,4 @@ export default {
|
||||
this.init()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div v-if="localLibraryItems.length" class="mt-4 text-sm text-fg-muted">
|
||||
{{ $strings.LabelTotalSize }}: {{ $bytesPretty(localLibraryItems.reduce((acc, item) => acc + item.size, 0)) }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
</ui-btn>
|
||||
</div>
|
||||
|
||||
<p class="text-sm text-fg mt-1.5 mb-0.5 default-style" v-html="description" />
|
||||
<p class="text-sm text-fg mt-1.5 mb-0.5 default-style description-container" v-html="transformedDescription"></p>
|
||||
|
||||
<!-- loading overlay -->
|
||||
<div v-if="processing" class="absolute top-0 left-0 w-full h-full bg-black bg-opacity-30 flex items-center justify-center">
|
||||
@@ -56,6 +56,7 @@
|
||||
import { Capacitor } from '@capacitor/core'
|
||||
import { Dialog } from '@capacitor/dialog'
|
||||
import { AbsFileSystem, AbsDownloader } from '@/plugins/capacitor'
|
||||
import cellularPermissionHelpers from '@/mixins/cellularPermissionHelpers'
|
||||
|
||||
export default {
|
||||
async asyncData({ store, params, redirect, app }) {
|
||||
@@ -115,7 +116,11 @@ export default {
|
||||
startingDownload: false
|
||||
}
|
||||
},
|
||||
mixins: [cellularPermissionHelpers],
|
||||
computed: {
|
||||
transformedDescription() {
|
||||
return this.parseDescription(this.description)
|
||||
},
|
||||
bookCoverAspectRatio() {
|
||||
return this.$store.getters['libraries/getBookCoverAspectRatio']
|
||||
},
|
||||
@@ -310,6 +315,24 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
parseDescription(description) {
|
||||
const timeMarkerLinkRegex = /<a href="#([^"]*?\b\d{1,2}:\d{1,2}(?::\d{1,2})?)">(.*?)<\/a>/g
|
||||
const timeMarkerRegex = /\b\d{1,2}:\d{1,2}(?::\d{1,2})?\b/g
|
||||
|
||||
function convertToSeconds(time) {
|
||||
const timeParts = time.split(':').map(Number)
|
||||
return timeParts.reduce((acc, part, index) => acc * 60 + part, 0)
|
||||
}
|
||||
|
||||
return description.replace(timeMarkerLinkRegex, (match, href, displayTime) => {
|
||||
const time = displayTime.match(timeMarkerRegex)[0]
|
||||
const seekTimeInSeconds = convertToSeconds(time)
|
||||
return `<span class="time-marker cursor-pointer text-blue-400 hover:text-blue-300" data-time="${seekTimeInSeconds}">${displayTime}</span>`
|
||||
}).replace(timeMarkerRegex, (match) => {
|
||||
const seekTimeInSeconds = convertToSeconds(match)
|
||||
return `<span class="time-marker cursor-pointer text-blue-400 hover:text-blue-300" data-time="${seekTimeInSeconds}">${match}</span>`
|
||||
})
|
||||
},
|
||||
async deleteLocalEpisode() {
|
||||
await this.$hapticsImpact()
|
||||
|
||||
@@ -351,28 +374,56 @@ export default {
|
||||
} else {
|
||||
this.$store.commit('setPlayerIsStartingPlayback', this.episode.id)
|
||||
|
||||
if (this.localEpisodeId && this.localLibraryItemId && !this.isLocal) {
|
||||
console.log('Play local episode', this.localEpisodeId, this.localLibraryItemId)
|
||||
const playbackData = this.generatePlaybackData()
|
||||
this.emitPlayItemEvent(playbackData)
|
||||
}
|
||||
},
|
||||
async clickPlaybackTime(event) {
|
||||
const startTime = event.target.getAttribute('data-time')
|
||||
if (this.playerIsStartingPlayback) return
|
||||
|
||||
this.$eventBus.$emit('play-item', {
|
||||
libraryItemId: this.localLibraryItemId,
|
||||
episodeId: this.localEpisodeId,
|
||||
serverLibraryItemId: this.serverLibraryItemId,
|
||||
serverEpisodeId: this.serverEpisodeId
|
||||
})
|
||||
} else {
|
||||
this.$eventBus.$emit('play-item', {
|
||||
libraryItemId: this.libraryItemId,
|
||||
episodeId: this.episode.id,
|
||||
serverLibraryItemId: this.serverLibraryItemId,
|
||||
serverEpisodeId: this.serverEpisodeId
|
||||
})
|
||||
}
|
||||
await this.$hapticsImpact()
|
||||
|
||||
this.$store.commit('setPlayerIsStartingPlayback', this.episode.id)
|
||||
|
||||
const playbackData = this.generatePlaybackData(startTime)
|
||||
this.emitPlayItemEvent(playbackData)
|
||||
},
|
||||
generatePlaybackData(startTime) {
|
||||
const playbackData = {
|
||||
libraryItemId: this.libraryItemId,
|
||||
episodeId: this.episode.id,
|
||||
serverLibraryItemId: this.serverLibraryItemId,
|
||||
serverEpisodeId: this.serverEpisodeId,
|
||||
startTime
|
||||
}
|
||||
|
||||
if (this.localEpisodeId && this.localLibraryItemId && !this.isLocal) {
|
||||
playbackData.libraryItemId = this.localLibraryItemId
|
||||
playbackData.episodeId = this.localEpisodeId
|
||||
}
|
||||
|
||||
return playbackData
|
||||
},
|
||||
emitPlayItemEvent(playbackData) {
|
||||
this.$eventBus.$emit('play-item', playbackData)
|
||||
},
|
||||
bindTimeMarkerEvents() {
|
||||
const container = document.querySelector('.description-container')
|
||||
if (container) {
|
||||
container.addEventListener('click', (event) => {
|
||||
if (event.target.classList.contains('time-marker')) {
|
||||
this.clickPlaybackTime(event)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
async downloadClick() {
|
||||
if (this.downloadItem || this.startingDownload) return
|
||||
|
||||
const hasPermission = await this.checkCellularPermission('download')
|
||||
if (!hasPermission) return
|
||||
|
||||
this.startingDownload = true
|
||||
setTimeout(() => {
|
||||
this.startingDownload = false
|
||||
@@ -557,9 +608,13 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
this.$eventBus.$on('new-local-library-item', this.newLocalLibraryItem)
|
||||
this.bindTimeMarkerEvents()
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.$eventBus.$off('new-local-library-item', this.newLocalLibraryItem)
|
||||
document.querySelectorAll('.time-marker').forEach(marker => {
|
||||
marker.removeEventListener('click', this.clickPlaybackTime)
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -171,6 +171,7 @@
|
||||
import { Dialog } from '@capacitor/dialog'
|
||||
import { AbsFileSystem, AbsDownloader } from '@/plugins/capacitor'
|
||||
import { FastAverageColor } from 'fast-average-color'
|
||||
import cellularPermissionHelpers from '@/mixins/cellularPermissionHelpers'
|
||||
|
||||
export default {
|
||||
async asyncData({ store, params, redirect, app, query }) {
|
||||
@@ -221,6 +222,7 @@ export default {
|
||||
startingDownload: false
|
||||
}
|
||||
},
|
||||
mixins: [cellularPermissionHelpers],
|
||||
computed: {
|
||||
isIos() {
|
||||
return this.$platform === 'ios'
|
||||
@@ -607,9 +609,11 @@ export default {
|
||||
this.download(localFolder)
|
||||
},
|
||||
async downloadClick() {
|
||||
if (this.downloadItem || this.startingDownload) {
|
||||
return
|
||||
}
|
||||
if (this.downloadItem || this.startingDownload) return
|
||||
|
||||
const hasPermission = await this.checkCellularPermission('download')
|
||||
if (!hasPermission) return
|
||||
|
||||
this.startingDownload = true
|
||||
setTimeout(() => {
|
||||
this.startingDownload = false
|
||||
|
||||
@@ -17,7 +17,10 @@
|
||||
|
||||
<div class="w-full max-w-full media-item-container overflow-y-auto overflow-x-hidden relative pb-4" :class="{ 'media-order-changed': orderChanged }">
|
||||
<div v-if="!isPodcast && audioTracksCopy.length" class="w-full py-2">
|
||||
<p class="text-base mb-2">Audio Tracks ({{ audioTracks.length }})</p>
|
||||
<div class="flex justify-between items-center mb-2">
|
||||
<p class="text-base">Audio Tracks ({{ audioTracks.length }})</p>
|
||||
<p class="text-xs text-fg-muted px-2">{{ $strings.LabelTotalSize }}: {{ $bytesPretty(totalAudioSize) }}</p>
|
||||
</div>
|
||||
|
||||
<draggable v-model="audioTracksCopy" v-bind="dragOptions" handle=".drag-handle" draggable=".item" tag="div" @start="drag = true" @end="drag = false" @update="draggableUpdate" :disabled="isIos">
|
||||
<transition-group type="transition" :name="!drag ? 'dragtrack' : null">
|
||||
@@ -46,7 +49,10 @@
|
||||
</div>
|
||||
|
||||
<div v-if="isPodcast" class="w-full py-2">
|
||||
<p class="text-base mb-2">Episodes ({{ episodes.length }})</p>
|
||||
<div class="flex justify-between items-center mb-2">
|
||||
<p class="text-base">Episodes ({{ episodes.length }})</p>
|
||||
<p class="text-xs text-fg-muted px-2">{{ $strings.LabelTotalSize }}: {{ $bytesPretty(totalEpisodesSize) }}</p>
|
||||
</div>
|
||||
<template v-for="episode in episodes">
|
||||
<div :key="episode.id" class="flex items-center my-1">
|
||||
<div class="w-10 h-12 flex items-center justify-center" style="min-width: 48px">
|
||||
@@ -83,22 +89,31 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p v-if="otherFiles.length" class="text-lg py-2">Other Files</p>
|
||||
<template v-for="file in otherFiles">
|
||||
<div :key="file.id" class="flex items-center my-1">
|
||||
<div class="w-12 h-12 flex items-center justify-center">
|
||||
<img v-if="(file.mimeType || '').startsWith('image')" :src="getCapImageSrc(file.contentUrl)" class="w-full h-full object-contain" />
|
||||
<span v-else class="material-icons">music_note</span>
|
||||
</div>
|
||||
<div class="flex-grow px-2">
|
||||
<p class="text-sm">{{ file.filename }}</p>
|
||||
</div>
|
||||
<div class="w-24 text-center text-fg-muted" style="min-width: 96px">
|
||||
<p class="text-xs">{{ file.mimeType }}</p>
|
||||
<p class="text-sm">{{ $bytesPretty(file.size) }}</p>
|
||||
</div>
|
||||
<div v-if="otherFiles.length">
|
||||
<div class="flex justify-between items-center py-2">
|
||||
<p class="text-lg">Other Files</p>
|
||||
<p class="text-xs text-fg-muted px-2">{{ $strings.LabelTotalSize }}: {{ $bytesPretty(totalOtherFilesSize) }}</p>
|
||||
</div>
|
||||
</template>
|
||||
<template v-for="file in otherFiles">
|
||||
<div :key="file.id" class="flex items-center my-1">
|
||||
<div class="w-12 h-12 flex items-center justify-center">
|
||||
<img v-if="(file.mimeType || '').startsWith('image')" :src="getCapImageSrc(file.contentUrl)" class="w-full h-full object-contain" />
|
||||
<span v-else class="material-icons">music_note</span>
|
||||
</div>
|
||||
<div class="flex-grow px-2">
|
||||
<p class="text-sm">{{ file.filename }}</p>
|
||||
</div>
|
||||
<div class="w-24 text-center text-fg-muted" style="min-width: 96px">
|
||||
<p class="text-xs">{{ file.mimeType }}</p>
|
||||
<p class="text-sm">{{ $bytesPretty(file.size) }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
<div class="mt-4 text-sm text-fg-muted">
|
||||
{{ $strings.LabelTotalSize }}: {{ $bytesPretty(totalLibraryItemSize) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="px-2 w-full h-full">
|
||||
@@ -218,17 +233,27 @@ export default {
|
||||
},
|
||||
dialogItems() {
|
||||
if (this.selectedAudioTrack || this.selectedEpisode) {
|
||||
return [
|
||||
const items = [
|
||||
{
|
||||
text: this.$strings.ButtonDeleteLocalFile,
|
||||
value: 'track-delete'
|
||||
value: 'track-delete',
|
||||
icon: 'delete'
|
||||
}
|
||||
]
|
||||
if (this.isPodcast && this.selectedEpisode) {
|
||||
items.unshift({
|
||||
text: this.$strings.ButtonPlayEpisode,
|
||||
value: 'play-episode',
|
||||
icon: 'play_arrow'
|
||||
})
|
||||
}
|
||||
return items
|
||||
} else {
|
||||
return [
|
||||
{
|
||||
text: this.$strings.ButtonDeleteLocalItem,
|
||||
value: 'delete'
|
||||
value: 'delete',
|
||||
icon: 'delete'
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -236,6 +261,18 @@ export default {
|
||||
playerIsStartingPlayback() {
|
||||
// Play has been pressed and waiting for native play response
|
||||
return this.$store.state.playerIsStartingPlayback
|
||||
},
|
||||
totalAudioSize() {
|
||||
return this.audioTracks.reduce((acc, item) => item.metadata ? acc + item.metadata.size : acc, 0)
|
||||
},
|
||||
totalEpisodesSize() {
|
||||
return this.episodes.reduce((acc, item) => acc + item.size, 0)
|
||||
},
|
||||
totalOtherFilesSize() {
|
||||
return this.otherFiles.reduce((acc, item) => acc + item.size, 0)
|
||||
},
|
||||
totalLibraryItemSize() {
|
||||
return this.localFiles.reduce((acc, item) => acc + item.size, 0)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -291,6 +328,19 @@ export default {
|
||||
getCapImageSrc(contentUrl) {
|
||||
return Capacitor.convertFileSrc(contentUrl)
|
||||
},
|
||||
async playEpisode() {
|
||||
if (!this.selectedEpisode) return
|
||||
if (this.playerIsStartingPlayback) return
|
||||
await this.$hapticsImpact()
|
||||
this.$store.commit('setPlayerIsStartingPlayback', this.selectedEpisode.serverEpisodeId)
|
||||
|
||||
this.$eventBus.$emit('play-item', {
|
||||
libraryItemId: this.localLibraryItemId,
|
||||
episodeId: this.selectedEpisode.id,
|
||||
serverLibraryItemId: this.libraryItemId,
|
||||
serverEpisodeId: this.selectedEpisode.serverEpisodeId
|
||||
})
|
||||
},
|
||||
async dialogAction(action) {
|
||||
console.log('Dialog action', action)
|
||||
await this.$hapticsImpact()
|
||||
@@ -300,8 +350,10 @@ export default {
|
||||
} else if (action == 'track-delete') {
|
||||
if (this.isPodcast) this.deleteEpisode()
|
||||
else this.deleteTrack()
|
||||
} else if (action == 'play-episode') {
|
||||
this.playEpisode()
|
||||
}
|
||||
this.showDialog = false
|
||||
this.showDialog = false;
|
||||
},
|
||||
getLocalFileForTrack(localFileId) {
|
||||
return this.localFiles.find((lf) => lf.id == localFileId)
|
||||
|
||||
+73
-1
@@ -135,6 +135,21 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Data settings -->
|
||||
<p class="uppercase text-xs font-semibold text-fg-muted mb-2 mt-10">{{ $strings.HeaderDataSettings }}</p>
|
||||
<div class="py-3 flex items-center">
|
||||
<p class="pr-4 w-36">{{ $strings.LabelDownloadUsingCellular }}</p>
|
||||
<div @click.stop="showDownloadUsingCellularOptions">
|
||||
<ui-text-input :value="downloadUsingCellularOption" readonly append-icon="expand_more" style="max-width: 200px" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="py-3 flex items-center">
|
||||
<p class="pr-4 w-36">{{ $strings.LabelStreamingUsingCellular }}</p>
|
||||
<div @click.stop="showStreamingUsingCellularOptions">
|
||||
<ui-text-input :value="streamingUsingCellularOption" readonly append-icon="expand_more" style="max-width: 200px" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-show="loading" class="w-full h-full absolute top-0 left-0 flex items-center justify-center z-10">
|
||||
<ui-loading-indicator />
|
||||
</div>
|
||||
@@ -176,7 +191,9 @@ export default {
|
||||
disableSleepTimerResetFeedback: false,
|
||||
autoSleepTimerAutoRewind: false,
|
||||
autoSleepTimerAutoRewindTime: 300000, // 5 minutes
|
||||
languageCode: 'en-us'
|
||||
languageCode: 'en-us',
|
||||
downloadUsingCellular: 'ALWAYS',
|
||||
streamingUsingCellular: 'ALWAYS'
|
||||
},
|
||||
theme: 'dark',
|
||||
lockCurrentOrientation: false,
|
||||
@@ -245,6 +262,34 @@ export default {
|
||||
text: this.$strings.LabelVeryHigh,
|
||||
value: 'VERY_HIGH'
|
||||
}
|
||||
],
|
||||
downloadUsingCellularItems: [
|
||||
{
|
||||
text: this.$strings.LabelAskConfirmation,
|
||||
value: 'ASK'
|
||||
},
|
||||
{
|
||||
text: this.$strings.LabelAlways,
|
||||
value: 'ALWAYS'
|
||||
},
|
||||
{
|
||||
text: this.$strings.LabelNever,
|
||||
value: 'NEVER'
|
||||
}
|
||||
],
|
||||
streamingUsingCellularItems: [
|
||||
{
|
||||
text: this.$strings.LabelAskConfirmation,
|
||||
value: 'ASK'
|
||||
},
|
||||
{
|
||||
text: this.$strings.LabelAlways,
|
||||
value: 'ALWAYS'
|
||||
},
|
||||
{
|
||||
text: this.$strings.LabelNever,
|
||||
value: 'NEVER'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -319,11 +364,21 @@ export default {
|
||||
const minutes = Number(this.settings.autoSleepTimerAutoRewindTime) / 1000 / 60
|
||||
return `${minutes} min`
|
||||
},
|
||||
downloadUsingCellularOption() {
|
||||
const item = this.downloadUsingCellularItems.find((i) => i.value === this.settings.downloadUsingCellular)
|
||||
return item?.text || 'Error'
|
||||
},
|
||||
streamingUsingCellularOption() {
|
||||
const item = this.streamingUsingCellularItems.find((i) => i.value === this.settings.streamingUsingCellular)
|
||||
return item?.text || 'Error'
|
||||
},
|
||||
moreMenuItems() {
|
||||
if (this.moreMenuSetting === 'shakeSensitivity') return this.shakeSensitivityItems
|
||||
else if (this.moreMenuSetting === 'hapticFeedback') return this.hapticFeedbackItems
|
||||
else if (this.moreMenuSetting === 'language') return this.languageOptionItems
|
||||
else if (this.moreMenuSetting === 'theme') return this.themeOptionItems
|
||||
else if (this.moreMenuSetting === 'downloadUsingCellular') return this.downloadUsingCellularItems
|
||||
else if (this.moreMenuSetting === 'streamingUsingCellular') return this.streamingUsingCellularItems
|
||||
return []
|
||||
}
|
||||
},
|
||||
@@ -358,6 +413,14 @@ export default {
|
||||
this.moreMenuSetting = 'theme'
|
||||
this.showMoreMenuDialog = true
|
||||
},
|
||||
showDownloadUsingCellularOptions() {
|
||||
this.moreMenuSetting = 'downloadUsingCellular'
|
||||
this.showMoreMenuDialog = true
|
||||
},
|
||||
showStreamingUsingCellularOptions() {
|
||||
this.moreMenuSetting = 'streamingUsingCellular'
|
||||
this.showMoreMenuDialog = true
|
||||
},
|
||||
clickMenuAction(action) {
|
||||
this.showMoreMenuDialog = false
|
||||
if (this.moreMenuSetting === 'shakeSensitivity') {
|
||||
@@ -372,6 +435,12 @@ export default {
|
||||
} else if (this.moreMenuSetting === 'theme') {
|
||||
this.theme = action
|
||||
this.saveTheme(action)
|
||||
} else if (this.moreMenuSetting === 'downloadUsingCellular') {
|
||||
this.settings.downloadUsingCellular = action
|
||||
this.saveSettings()
|
||||
} else if (this.moreMenuSetting === 'streamingUsingCellular') {
|
||||
this.settings.streamingUsingCellular = action
|
||||
this.saveSettings()
|
||||
}
|
||||
},
|
||||
saveTheme(theme) {
|
||||
@@ -504,6 +573,9 @@ export default {
|
||||
this.settings.autoSleepTimerAutoRewindTime = !isNaN(deviceSettings.autoSleepTimerAutoRewindTime) ? deviceSettings.autoSleepTimerAutoRewindTime : 300000 // 5 minutes
|
||||
|
||||
this.settings.languageCode = deviceSettings.languageCode || 'en-us'
|
||||
|
||||
this.settings.downloadUsingCellular = deviceSettings.downloadUsingCellular || 'ALWAYS'
|
||||
this.settings.streamingUsingCellular = deviceSettings.streamingUsingCellular || 'ALWAYS'
|
||||
},
|
||||
async init() {
|
||||
this.loading = true
|
||||
|
||||
+32
-31
@@ -1,42 +1,41 @@
|
||||
import Vue from "vue"
|
||||
import Vue from 'vue'
|
||||
import enUsStrings from '../strings/en-us.json'
|
||||
|
||||
const defaultCode = 'en-us'
|
||||
let $localStore = null
|
||||
|
||||
const languageCodeMap = {
|
||||
'cs': { label: 'Čeština', dateFnsLocale: 'cs' },
|
||||
'da': { label: 'Dansk', dateFnsLocale: 'da' },
|
||||
'de': { label: 'Deutsch', dateFnsLocale: 'de' },
|
||||
cs: { label: 'Čeština', dateFnsLocale: 'cs' },
|
||||
da: { label: 'Dansk', dateFnsLocale: 'da' },
|
||||
de: { label: 'Deutsch', dateFnsLocale: 'de' },
|
||||
'en-us': { label: 'English', dateFnsLocale: 'enUS' },
|
||||
'es': { label: 'Español', dateFnsLocale: 'es' },
|
||||
'fr': { label: 'Français', dateFnsLocale: 'fr' },
|
||||
'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' },
|
||||
es: { label: 'Español', dateFnsLocale: 'es' },
|
||||
fi: { label: 'Suomi', dateFnsLocale: 'fi' },
|
||||
fr: { label: 'Français', dateFnsLocale: 'fr' },
|
||||
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' },
|
||||
'uk': { label: 'Українська', dateFnsLocale: 'uk' },
|
||||
ru: { label: 'Русский', dateFnsLocale: 'ru' },
|
||||
sv: { label: 'Svenska', dateFnsLocale: 'sv' },
|
||||
uk: { label: 'Українська', dateFnsLocale: 'uk' },
|
||||
'vi-vn': { label: 'Tiếng Việt', dateFnsLocale: 'vi' },
|
||||
'zh-cn': { label: '简体中文 (Simplified Chinese)', dateFnsLocale: 'zhCN' },
|
||||
'zh-cn': { label: '简体中文 (Simplified Chinese)', dateFnsLocale: 'zhCN' }
|
||||
}
|
||||
|
||||
function supplant(str, subs) {
|
||||
// source: http://crockford.com/javascript/remedial.html
|
||||
return str.replace(/{([^{}]*)}/g,
|
||||
function (a, b) {
|
||||
var r = subs[b]
|
||||
return typeof r === 'string' || typeof r === 'number' ? r : a
|
||||
}
|
||||
)
|
||||
return str.replace(/{([^{}]*)}/g, function (a, b) {
|
||||
var r = subs[b]
|
||||
return typeof r === 'string' || typeof r === 'number' ? r : a
|
||||
})
|
||||
}
|
||||
|
||||
Vue.prototype.$languageCodeOptions = Object.keys(languageCodeMap).map(code => {
|
||||
Vue.prototype.$languageCodeOptions = Object.keys(languageCodeMap).map((code) => {
|
||||
return {
|
||||
text: languageCodeMap[code].label,
|
||||
value: code
|
||||
@@ -66,12 +65,14 @@ var translations = {
|
||||
|
||||
function loadTranslationStrings(code) {
|
||||
return new Promise((resolve) => {
|
||||
import(`../strings/${code}`).then((fileContents) => {
|
||||
resolve(fileContents.default)
|
||||
}).catch((error) => {
|
||||
console.error('Failed to load i18n strings', code, error)
|
||||
resolve(null)
|
||||
})
|
||||
import(`../strings/${code}`)
|
||||
.then((fileContents) => {
|
||||
resolve(fileContents.default)
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Failed to load i18n strings', code, error)
|
||||
resolve(null)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@@ -82,7 +83,7 @@ async function loadi18n(code) {
|
||||
return false
|
||||
}
|
||||
|
||||
const strings = translations[code] || await loadTranslationStrings(code)
|
||||
const strings = translations[code] || (await loadTranslationStrings(code))
|
||||
if (!strings) {
|
||||
console.warn(`Invalid lang code ${code}`)
|
||||
return false
|
||||
|
||||
@@ -3,24 +3,25 @@
|
||||
Audiobookshelf is a self-hosted audiobook and podcast server.
|
||||
|
||||
### Android (beta)
|
||||
|
||||
Get the Android app on the [Google Play Store](https://play.google.com/store/apps/details?id=com.audiobookshelf.app)
|
||||
|
||||
### iOS (early beta)
|
||||
**Beta is currently full. Apple has a hard limit of 10k beta testers. Updates will be posted in Discord/Matrix.**
|
||||
|
||||
Using Test Flight: https://testflight.apple.com/join/wiic7QIW ***(beta is full)***
|
||||
**Beta is currently full. Apple has a hard limit of 10k beta testers. Updates will be posted in Discord.**
|
||||
|
||||
Using Test Flight: https://testflight.apple.com/join/wiic7QIW **_(beta is full)_**
|
||||
|
||||
---
|
||||
|
||||
[Go to the main project repo github.com/advplyr/audiobookshelf](https://github.com/advplyr/audiobookshelf) or the project site [audiobookshelf.org](https://audiobookshelf.org)
|
||||
|
||||
Join us on [discord](https://discord.gg/pJsjuNCKRq) or [Matrix](https://matrix.to/#/#audiobookshelf:matrix.org)
|
||||
Join us on [discord](https://discord.gg/pJsjuNCKRq)
|
||||
|
||||
**Requires an Audiobookshelf server to connect with**
|
||||
|
||||
<img alt="Screenshot" src="https://github.com/advplyr/audiobookshelf-app/raw/master/screenshots/DeviceDemoScreens.png" />
|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
This application is built using [NuxtJS](https://nuxtjs.org/) and [Capacitor](https://capacitorjs.com/) in order to run on both iOS and Android on the same code base.
|
||||
@@ -31,11 +32,11 @@ Information on helping with translations of the apps [here](https://www.audioboo
|
||||
|
||||
Required Software:
|
||||
|
||||
* [Git](https://git-scm.com/downloads)
|
||||
* [Node.js](https://nodejs.org/en/) (version 20)
|
||||
* Code editor of choice([VSCode](https://code.visualstudio.com/download), etc)
|
||||
* [Android Studio](https://developer.android.com/studio)
|
||||
* [Android SDK](https://developer.android.com/studio)
|
||||
- [Git](https://git-scm.com/downloads)
|
||||
- [Node.js](https://nodejs.org/en/) (version 20)
|
||||
- Code editor of choice([VSCode](https://code.visualstudio.com/download), etc)
|
||||
- [Android Studio](https://developer.android.com/studio)
|
||||
- [Android SDK](https://developer.android.com/studio)
|
||||
|
||||
<details>
|
||||
<summary>Install the required software with <a href=(https://docs.microsoft.com/en-us/windows/package-manager/winget/#production-recommended)>winget</a></summary>
|
||||
@@ -62,10 +63,10 @@ Your Windows environment should now be set up and ready to proceed!
|
||||
|
||||
Required Software:
|
||||
|
||||
* [Android Studio](https://developer.android.com/studio)
|
||||
* [Node.js](https://nodejs.org/en/) (version 20)
|
||||
* [Cocoapods](https://guides.cocoapods.org/using/getting-started.html#installation)
|
||||
* [Android SDK](https://developer.android.com/studio)
|
||||
- [Android Studio](https://developer.android.com/studio)
|
||||
- [Node.js](https://nodejs.org/en/) (version 20)
|
||||
- [Cocoapods](https://guides.cocoapods.org/using/getting-started.html#installation)
|
||||
- [Android SDK](https://developer.android.com/studio)
|
||||
|
||||
<details>
|
||||
<summary>Install the required software with <a href=(https://brew.sh/)>homebrew</a></summary>
|
||||
@@ -84,6 +85,7 @@ brew install android-studio node cocoapods
|
||||
Clone or fork the project from terminal or powershell and `cd` into the project directory.
|
||||
|
||||
Install the required node packages:
|
||||
|
||||
```shell
|
||||
npm install
|
||||
```
|
||||
@@ -92,10 +94,12 @@ npm install
|
||||
<summary>Expand for screenshot</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
Generate static web app:
|
||||
|
||||
```shell
|
||||
npm run generate
|
||||
```
|
||||
@@ -104,10 +108,12 @@ npm run generate
|
||||
<summary>Expand for screenshot</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
Copy web app into native android/ios folders:
|
||||
|
||||
```shell
|
||||
npx cap sync
|
||||
```
|
||||
@@ -116,6 +122,7 @@ npx cap sync
|
||||
<summary>Expand for screenshot</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
@@ -129,6 +136,7 @@ npx cap open android
|
||||
<summary>Expand for screenshot</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
@@ -138,15 +146,16 @@ Start coding!
|
||||
|
||||
Required Software:
|
||||
|
||||
* [Xcode](https://developer.apple.com/xcode/)
|
||||
* [Node.js](https://nodejs.org/en/)
|
||||
* [Cocoapods](https://guides.cocoapods.org/using/getting-started.html#installation)
|
||||
- [Xcode](https://developer.apple.com/xcode/)
|
||||
- [Node.js](https://nodejs.org/en/)
|
||||
- [Cocoapods](https://guides.cocoapods.org/using/getting-started.html#installation)
|
||||
|
||||
### Start working on the iOS app
|
||||
|
||||
Clone or fork the project in the terminal and `cd` into the project directory.
|
||||
|
||||
Install the required node packages:
|
||||
|
||||
```shell
|
||||
npm install
|
||||
```
|
||||
@@ -155,10 +164,12 @@ npm install
|
||||
<summary>Expand for screenshot</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
Generate static web app:
|
||||
|
||||
```shell
|
||||
npm run generate
|
||||
```
|
||||
@@ -167,10 +178,12 @@ npm run generate
|
||||
<summary>Expand for screenshot</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
Copy web app into native android/ios folders:
|
||||
|
||||
```shell
|
||||
npx cap sync
|
||||
```
|
||||
@@ -179,6 +192,7 @@ npx cap sync
|
||||
<summary>Expand for screenshot</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
@@ -192,6 +206,7 @@ npx cap open ios
|
||||
<summary>Expand for screenshot</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
|
||||
+9
-1
@@ -77,6 +77,14 @@ export const getters = {
|
||||
},
|
||||
getOrientationLockSetting: state => {
|
||||
return state.deviceData?.deviceSettings?.lockOrientation
|
||||
},
|
||||
getCanDownloadUsingCellular: state => {
|
||||
if (!state.deviceData?.deviceSettings?.downloadUsingCellular) return 'ALWAYS'
|
||||
return state.deviceData.deviceSettings.downloadUsingCellular || 'ALWAYS'
|
||||
},
|
||||
getCanStreamingUsingCellular: state => {
|
||||
if (!state.deviceData?.deviceSettings?.streamingUsingCellular) return 'ALWAYS'
|
||||
return state.deviceData.deviceSettings.streamingUsingCellular || 'ALWAYS'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -180,4 +188,4 @@ export const mutations = {
|
||||
state.serverSettings = val
|
||||
this.$localStore.setServerSettings(state.serverSettings)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+179
@@ -0,0 +1,179 @@
|
||||
{
|
||||
"ButtonAdd": "যোগ করুন",
|
||||
"ButtonAuthors": "লেখকগণ",
|
||||
"ButtonCancel": "বাতিল করুন",
|
||||
"ButtonClearFilter": "ফিল্টার পরিষ্কার করুন",
|
||||
"ButtonCloseFeed": "ফিড বন্ধ করুন",
|
||||
"ButtonCollections": "সংগ্রহ",
|
||||
"ButtonCreate": "তৈরি করুন",
|
||||
"ButtonDelete": "মুছুন",
|
||||
"ButtonHome": "নীড়",
|
||||
"ButtonIssues": "ইস্যু",
|
||||
"ButtonLatest": "সর্বশেষ",
|
||||
"ButtonLibrary": "লাইব্রেরি",
|
||||
"ButtonOpenFeed": "ফিড খুলুন",
|
||||
"ButtonPause": "বিরতি",
|
||||
"ButtonPlay": "বাজান",
|
||||
"ButtonPlaying": "বাজছে",
|
||||
"ButtonPlaylists": "প্লেলিস্ট",
|
||||
"ButtonRead": "পড়ুন",
|
||||
"ButtonRemove": "মুছে ফেলুন",
|
||||
"ButtonSave": "সংরক্ষণ করুন",
|
||||
"ButtonSearch": "অনুসন্ধান",
|
||||
"ButtonSeries": "সিরিজ",
|
||||
"ButtonSubmit": "জমা দিন",
|
||||
"ButtonYes": "হ্যাঁ",
|
||||
"HeaderAccount": "অ্যাকাউন্ট",
|
||||
"HeaderAdvanced": "অ্যাডভান্সড",
|
||||
"HeaderAudioTracks": "অডিও ট্র্যাক",
|
||||
"HeaderChapters": "অধ্যায়",
|
||||
"HeaderCollection": "সংগ্রহ",
|
||||
"HeaderCollectionItems": "সংগ্রহ আইটেম",
|
||||
"HeaderDetails": "বিস্তারিত",
|
||||
"HeaderEbookFiles": "ই-বই ফাইল",
|
||||
"HeaderEpisodes": "পর্ব",
|
||||
"HeaderEreaderSettings": "ই-রিডার সেটিংস",
|
||||
"HeaderLatestEpisodes": "সর্বশেষ পর্ব",
|
||||
"HeaderLibraries": "লাইব্রেরি",
|
||||
"HeaderOpenRSSFeed": "আরএসএস ফিড খুলুন",
|
||||
"HeaderPlaylist": "প্লেলিস্ট",
|
||||
"HeaderPlaylistItems": "প্লেলিস্ট আইটেম",
|
||||
"HeaderRSSFeedGeneral": "আরএসএস বিবরণ",
|
||||
"HeaderRSSFeedIsOpen": "আরএসএস ফিড খোলা আছে",
|
||||
"HeaderSettings": "সেটিংস",
|
||||
"HeaderSleepTimer": "স্লিপ টাইমার",
|
||||
"HeaderStatsMinutesListeningChart": "মিনিট শ্রবণ (গত ৭ দিন)",
|
||||
"HeaderStatsRecentSessions": "সাম্প্রতিক সেশন",
|
||||
"HeaderTableOfContents": "বিষয়বস্তুর সারণী",
|
||||
"HeaderYourStats": "আপনার পরিসংখ্যান",
|
||||
"LabelAddToPlaylist": "প্লেলিস্টে যোগ করুন",
|
||||
"LabelAdded": "যোগ করা হয়েছে",
|
||||
"LabelAddedAt": "এতে যোগ করা হয়েছে",
|
||||
"LabelAll": "সব",
|
||||
"LabelAuthor": "লেখক",
|
||||
"LabelAuthorFirstLast": "লেখক (প্রথম শেষ)",
|
||||
"LabelAuthorLastFirst": "লেখক (শেষ, প্রথম)",
|
||||
"LabelAuthors": "লেখকগণ",
|
||||
"LabelAutoDownloadEpisodes": "স্বয়ংক্রিয় ডাউনলোড পর্ব",
|
||||
"LabelBooks": "বইগুলো",
|
||||
"LabelChapters": "অধ্যায়",
|
||||
"LabelClosePlayer": "প্লেয়ার বন্ধ করুন",
|
||||
"LabelCollapseSeries": "সিরিজ সঙ্কুচিত করুন",
|
||||
"LabelComplete": "সম্পূর্ণ",
|
||||
"LabelContinueListening": "শোনা চালিয়ে যান",
|
||||
"LabelContinueReading": "পড়া চালিয়ে যান",
|
||||
"LabelContinueSeries": "সিরিজ চালিয়ে যান",
|
||||
"LabelDescription": "বিবরণ",
|
||||
"LabelDiscover": "আবিষ্কার",
|
||||
"LabelDownload": "ডাউনলোড করুন",
|
||||
"LabelDuration": "সময়কাল",
|
||||
"LabelEbook": "ই-বই",
|
||||
"LabelEbooks": "ই-বইগুলো",
|
||||
"LabelEnable": "সক্ষম করুন",
|
||||
"LabelEnd": "সমাপ্ত",
|
||||
"LabelEpisode": "পর্ব",
|
||||
"LabelFeedURL": "ফিড ইউআরএল",
|
||||
"LabelFile": "ফাইল",
|
||||
"LabelFileBirthtime": "ফাইল জন্মের সময়",
|
||||
"LabelFileModified": "ফাইল পরিবর্তিত",
|
||||
"LabelFilename": "ফাইলের নাম",
|
||||
"LabelFinished": "সমাপ্ত",
|
||||
"LabelFolder": "ফোল্ডার",
|
||||
"LabelFontScale": "ফন্ট স্কেল",
|
||||
"LabelGenre": "ঘরানা",
|
||||
"LabelGenres": "ঘরানাগুলো",
|
||||
"LabelHasEbook": "ই-বই আছে",
|
||||
"LabelHasSupplementaryEbook": "পরিপূরক ই-বই আছে",
|
||||
"LabelHost": "নিমন্ত্রণকর্তা",
|
||||
"LabelInProgress": "প্রগতিতে আছে",
|
||||
"LabelIncomplete": "অসম্পূর্ণ",
|
||||
"LabelLanguage": "ভাষা",
|
||||
"LabelLayout": "লেআউট",
|
||||
"LabelLayoutSinglePage": "একক পৃষ্ঠা",
|
||||
"LabelLight": "আলো",
|
||||
"LabelLineSpacing": "লাইন স্পেসিং",
|
||||
"LabelListenAgain": "আবার শুনুন",
|
||||
"LabelMediaType": "মিডিয়ার ধরন",
|
||||
"LabelMore": "আরো",
|
||||
"LabelMoreInfo": "আরো তথ্য",
|
||||
"LabelName": "নাম",
|
||||
"LabelNarrator": "কথক",
|
||||
"LabelNarrators": "কথক",
|
||||
"LabelNewestAuthors": "নতুন লেখক",
|
||||
"LabelNewestEpisodes": "নতুনতম পর্ব",
|
||||
"LabelNotFinished": "সমাপ্ত হয়নি",
|
||||
"LabelNotStarted": "শুরু হয়নি",
|
||||
"LabelPassword": "পাসওয়ার্ড",
|
||||
"LabelPath": "পথ",
|
||||
"LabelPodcast": "পডকাস্ট",
|
||||
"LabelPodcasts": "পডকাস্টগুলো",
|
||||
"LabelPreventIndexing": "আইটিউনস এবং গুগল পডকাস্ট ডিরেক্টরি দ্বারা আপনার ফিডকে ইন্ডেক্স করা থেকে বিরত রাখুন",
|
||||
"LabelProgress": "প্রগতি",
|
||||
"LabelPubDate": "প্রকাশের তারিখ",
|
||||
"LabelPublishYear": "প্রকাশের বছর",
|
||||
"LabelRSSFeedCustomOwnerEmail": "কাস্টম মালিকের ইমেইল",
|
||||
"LabelRSSFeedCustomOwnerName": "কাস্টম মালিকের নাম",
|
||||
"LabelRSSFeedPreventIndexing": "সূচীকরণ প্রতিরোধ করুন",
|
||||
"LabelRSSFeedSlug": "আরএসএস ফিড স্লাগ",
|
||||
"LabelRead": "পড়ুন",
|
||||
"LabelReadAgain": "আবার পড়ুন",
|
||||
"LabelRecentSeries": "সাম্প্রতিক সিরিজ",
|
||||
"LabelRecentlyAdded": "সম্প্রতি যোগ করা হয়েছে",
|
||||
"LabelSeason": "সেশন",
|
||||
"LabelSeries": "সিরিজ",
|
||||
"LabelSetEbookAsPrimary": "প্রাথমিক হিসাবে সেট করুন",
|
||||
"LabelSetEbookAsSupplementary": "পরিপূরক হিসেবে সেট করুন",
|
||||
"LabelShowAll": "সব দেখান",
|
||||
"LabelSize": "আকার",
|
||||
"LabelSleepTimer": "স্লিপ টাইমার",
|
||||
"LabelStart": "শুরু",
|
||||
"LabelStatsBestDay": "সেরা দিন",
|
||||
"LabelStatsDailyAverage": "দৈনিক গড়",
|
||||
"LabelStatsDays": "দিন",
|
||||
"LabelStatsDaysListened": "যেদিন শোনা হয়েছে",
|
||||
"LabelStatsInARow": "এক সারিতে",
|
||||
"LabelStatsItemsFinished": "আইটেম সমাপ্ত",
|
||||
"LabelStatsMinutes": "মিনিট",
|
||||
"LabelStatsMinutesListening": "মিনিট শুনছেন",
|
||||
"LabelStatsWeekListening": "সপ্তাহ শোনা",
|
||||
"LabelTag": "ট্যাগ",
|
||||
"LabelTags": "ট্যাগগুলো",
|
||||
"LabelTheme": "থিম",
|
||||
"LabelThemeDark": "অন্ধকার",
|
||||
"LabelThemeLight": "আলো",
|
||||
"LabelTimeRemaining": "{0}টি অবশিষ্ট",
|
||||
"LabelTitle": "শিরোনাম",
|
||||
"LabelTracks": "ট্র্যাকস",
|
||||
"LabelType": "টাইপ",
|
||||
"LabelUser": "ব্যবহারকারী",
|
||||
"LabelUsername": "ব্যবহারকারীর নাম",
|
||||
"LabelYourBookmarks": "আপনার বুকমার্কস",
|
||||
"LabelYourProgress": "আপনার অগ্রগতি",
|
||||
"MessageDownloadingEpisode": "ডাউনলোডিং পর্ব",
|
||||
"MessageEpisodesQueuedForDownload": "{0} পর্ব(গুলি) ডাউনলোডের জন্য সারিবদ্ধ",
|
||||
"MessageFeedURLWillBe": "ফিড URL হবে {0}",
|
||||
"MessageFetching": "আনয় হচ্ছে..।",
|
||||
"MessageLoading": "লোড হচ্ছে..।",
|
||||
"MessageMarkAsFinished": "সমাপ্ত হিসাবে চিহ্নিত করুন",
|
||||
"MessageNoBookmarks": "কোন বুকমার্ক নেই",
|
||||
"MessageNoChapters": "কোনও অধ্যায় নেই",
|
||||
"MessageNoItems": "কোন আইটেম নেই",
|
||||
"MessageNoItemsFound": "কোন আইটেম পাওয়া যায়নি",
|
||||
"MessageNoListeningSessions": "কোনও শোনার সেশন নেই",
|
||||
"MessageNoPodcastsFound": "কোন পডকাস্ট পাওয়া যায়নি",
|
||||
"MessageNoUpdatesWereNecessary": "কোন আপডেটের প্রয়োজন ছিল না",
|
||||
"MessageNoUserPlaylists": "আপনার কোনো প্লেলিস্ট নেই",
|
||||
"MessageReportBugsAndContribute": "বাগ রিপোর্ট করুন, বৈশিষ্ট্যের অনুরোধ করুন এবং এতে অবদান রাখুন",
|
||||
"NoteRSSFeedPodcastAppsHttps": "সতর্কতা: বেশিরভাগ পডকাস্ট অ্যাপের জন্য প্রয়োজন হবে RSS ফিড URL যেটি HTTPS ব্যবহার করছে",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "সতর্কতা: আপনার 1 বা তার বেশি পর্বের একটি পাব তারিখ নেই। কিছু পডকাস্ট অ্যাপের এটি প্রয়োজন।",
|
||||
"ToastBookmarkCreateFailed": "বুকমার্ক তৈরি করতে ব্যর্থ",
|
||||
"ToastBookmarkRemoveFailed": "বুকমার্ক সরাতে ব্যর্থ",
|
||||
"ToastBookmarkUpdateFailed": "বুকমার্ক আপডেট করতে ব্যর্থ",
|
||||
"ToastItemMarkedAsFinishedFailed": "সমাপ্ত হিসাবে চিহ্নিত করতে ব্যর্থ",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "সমাপ্ত হয়নি হিসাবে চিহ্নিত করতে ব্যর্থ",
|
||||
"ToastPlaylistCreateFailed": "প্লেলিস্ট তৈরি করতে ব্যর্থ",
|
||||
"ToastPodcastCreateFailed": "পডকাস্ট তৈরি করতে ব্যর্থ",
|
||||
"ToastPodcastCreateSuccess": "পডকাস্ট সফলভাবে তৈরি করা হয়েছে",
|
||||
"ToastRSSFeedCloseFailed": "RSS ফিড বন্ধ করতে ব্যর্থ",
|
||||
"ToastRSSFeedCloseSuccess": "RSS ফিড বন্ধ"
|
||||
}
|
||||
+33
-20
@@ -33,7 +33,8 @@
|
||||
"ButtonOverride": "Přepsat",
|
||||
"ButtonPause": "Pozastavit",
|
||||
"ButtonPlay": "Přehrát",
|
||||
"ButtonPlaying": "Přehrává se",
|
||||
"ButtonPlayEpisode": "Přehrát epizodu",
|
||||
"ButtonPlaying": "Hraje",
|
||||
"ButtonPlaylists": "Seznamy skladeb",
|
||||
"ButtonRead": "Číst",
|
||||
"ButtonRemove": "Odstranit",
|
||||
@@ -56,6 +57,7 @@
|
||||
"HeaderCollection": "Kolekce",
|
||||
"HeaderCollectionItems": "Položky kolekce",
|
||||
"HeaderConnectionStatus": "Stav připojení",
|
||||
"HeaderDataSettings": "Nastavení dat",
|
||||
"HeaderDetails": "Podrobnosti",
|
||||
"HeaderDownloads": "Stahování",
|
||||
"HeaderEbookFiles": "Soubory e-knih",
|
||||
@@ -77,16 +79,18 @@
|
||||
"HeaderSettings": "Nastavení",
|
||||
"HeaderSleepTimer": "Časovač spánku",
|
||||
"HeaderSleepTimerSettings": "Nastavení časovače spánku",
|
||||
"HeaderStatsMinutesListeningChart": "Minuty poslechu (posledních 7 dní)",
|
||||
"HeaderStatsMinutesListeningChart": "Poslech za posledních 7 dní (min)",
|
||||
"HeaderStatsRecentSessions": "Poslední sezení",
|
||||
"HeaderTableOfContents": "Obsah",
|
||||
"HeaderUserInterfaceSettings": "Nastavení uživatelského rozhraní",
|
||||
"HeaderYourStats": "Vaše statistiky",
|
||||
"LabelAddToPlaylist": "Přidat do seznamu skladeb",
|
||||
"LabelAdded": "Přidáno",
|
||||
"LabelAddedAt": "Přidáno v",
|
||||
"LabelAddToPlaylist": "Přidat do seznamu skladeb",
|
||||
"LabelAll": "Vše",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAllowSeekingOnMediaControls": "Povolit vyhledávání polohy v ovládacích prvcích oznámení médií",
|
||||
"LabelAlways": "Vždy",
|
||||
"LabelAskConfirmation": "Požádat o potvrzení",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Autor (jméno a příjmení)",
|
||||
"LabelAuthorLastFirst": "Autor (příjmení a jméno)",
|
||||
@@ -98,8 +102,8 @@
|
||||
"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": "Stopa kapitoly",
|
||||
"LabelChapters": "Kapitoly",
|
||||
"LabelClosePlayer": "Zavřít přehrávač",
|
||||
"LabelCollapseSeries": "Sbalit sérii",
|
||||
"LabelComplete": "Dokončeno",
|
||||
@@ -119,8 +123,9 @@
|
||||
"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",
|
||||
"LabelDownloadUsingCellular": "Stáhnout přes mobilní data",
|
||||
"LabelDownloaded": "Staženo",
|
||||
"LabelDuration": "Trvání",
|
||||
"LabelDuration": "Délka trvání",
|
||||
"LabelEbook": "E-kniha",
|
||||
"LabelEbooks": "E-knihy",
|
||||
"LabelEnable": "Povolit",
|
||||
@@ -137,6 +142,7 @@
|
||||
"LabelFilename": "Název souboru",
|
||||
"LabelFinished": "Dokončeno",
|
||||
"LabelFolder": "Složka",
|
||||
"LabelFontBoldness": "Výraznost písma",
|
||||
"LabelFontScale": "Měřítko písma",
|
||||
"LabelGenre": "Žánr",
|
||||
"LabelGenres": "Žánry",
|
||||
@@ -146,8 +152,8 @@
|
||||
"LabelHeavy": "Těžké",
|
||||
"LabelHigh": "Vysoké",
|
||||
"LabelHost": "Hostitel",
|
||||
"LabelIncomplete": "Neúplné",
|
||||
"LabelInProgress": "Probíhá",
|
||||
"LabelIncomplete": "Neúplné",
|
||||
"LabelInternalAppStorage": "Interní úložiště aplikace",
|
||||
"LabelJumpBackwardsTime": "Délka skoku zpět v čase",
|
||||
"LabelJumpForwardsTime": "Délka skoku vpřed v čase",
|
||||
@@ -157,7 +163,7 @@
|
||||
"LabelLayoutSinglePage": "Jedna stránka",
|
||||
"LabelLight": "Světlé",
|
||||
"LabelLineSpacing": "Řádkování",
|
||||
"LabelListenAgain": "Poslechnout znovu",
|
||||
"LabelListenAgain": "Poslouchat znovu",
|
||||
"LabelLocalBooks": "Místní knihy",
|
||||
"LabelLocalPodcasts": "Místní podcasty",
|
||||
"LabelLockOrientation": "Zamknout orientaci",
|
||||
@@ -170,6 +176,7 @@
|
||||
"LabelName": "Jméno",
|
||||
"LabelNarrator": "Vypravěč",
|
||||
"LabelNarrators": "Vypravěči",
|
||||
"LabelNever": "Nikdy",
|
||||
"LabelNewestAuthors": "Nejnovější autoři",
|
||||
"LabelNewestEpisodes": "Nejnovější epizody",
|
||||
"LabelNo": "Ne",
|
||||
@@ -188,15 +195,15 @@
|
||||
"LabelProgress": "Průběh",
|
||||
"LabelPubDate": "Datum vydání",
|
||||
"LabelPublishYear": "Rok vydání",
|
||||
"LabelRead": "Číst",
|
||||
"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": "Klíčové slovo kanálu RSS",
|
||||
"LabelRead": "Číst",
|
||||
"LabelReadAgain": "Číst znovu",
|
||||
"LabelRecentSeries": "Nedávné série",
|
||||
"LabelRecentlyAdded": "Nedávno přidáno",
|
||||
"LabelRemoveFromPlaylist": "Odebrat z Playlistu",
|
||||
"LabelScaleElapsedTimeBySpeed": "Škálovat uplynulý čas podle rychlosti",
|
||||
"LabelSeason": "Sezóna",
|
||||
"LabelSelectADevice": "Vyberte zařízení",
|
||||
@@ -208,7 +215,7 @@
|
||||
"LabelShowAll": "Zobrazit vše",
|
||||
"LabelSize": "Velikost",
|
||||
"LabelSleepTimer": "Spánek po",
|
||||
"LabelStart": "Začít",
|
||||
"LabelStart": "Spustit",
|
||||
"LabelStartTime": "Od",
|
||||
"LabelStatsBestDay": "Nejlepší den",
|
||||
"LabelStatsDailyAverage": "Denní průměr",
|
||||
@@ -219,6 +226,7 @@
|
||||
"LabelStatsMinutes": "minut",
|
||||
"LabelStatsMinutesListening": "Minuty poslechu",
|
||||
"LabelStatsWeekListening": "Za týden",
|
||||
"LabelStreamingUsingCellular": "Přehrávání přes mobilní data",
|
||||
"LabelTag": "Štítek",
|
||||
"LabelTags": "Štítky",
|
||||
"LabelTheme": "Téma",
|
||||
@@ -226,6 +234,7 @@
|
||||
"LabelThemeLight": "Světlé",
|
||||
"LabelTimeRemaining": "{0} zbývá",
|
||||
"LabelTitle": "Název",
|
||||
"LabelTotalSize": "Celková velikost",
|
||||
"LabelTotalTrack": "Celková stopa",
|
||||
"LabelTracks": "Stopy",
|
||||
"LabelType": "Typ",
|
||||
@@ -245,15 +254,17 @@
|
||||
"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?",
|
||||
"MessageConfirmDownloadUsingCellular": "Chystáte se stahovat přes mobilní data. Toto může zahrnovat poplatky za mobilní data. Chcete pokračovat?",
|
||||
"MessageConfirmMarkAsFinished": "Opravdu chcete tuto položku označit jako dokončenou?",
|
||||
"MessageConfirmRemoveBookmark": "Opravdu chcete odebrat záložku?",
|
||||
"MessageConfirmStreamingUsingCellular": "Chystáte se přehrávat přes mobilní data. Toto může zahrnovat poplatky za mobilní data. Chcete pokračovat?",
|
||||
"MessageDiscardProgress": "Zahodit pokrok",
|
||||
"MessageDownloadCompleteProcessing": "Stahování dokončeno. Zpracovává se...",
|
||||
"MessageDownloading": "Stahuje se...",
|
||||
"MessageDownloadingEpisode": "Stahuji epizodu",
|
||||
"MessageEpisodesQueuedForDownload": "{0} epizod ve frontě ke stažení",
|
||||
"MessageEpisodesQueuedForDownload": "{0} epizody zařazené do fronty ke stažení",
|
||||
"MessageFeedURLWillBe": "URL zdroje bude {0}",
|
||||
"MessageFetching": "Získává se...",
|
||||
"MessageFetching": "Stahování...",
|
||||
"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...",
|
||||
@@ -277,20 +288,22 @@
|
||||
"MessageNoUserPlaylists": "Nemáte žádné seznamy skladeb",
|
||||
"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",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket připojen přes měřenou Wi-Fi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket připojen přes neměřenou mobilní síť",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket připojen přes neměřenou wifi",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket připojen přes neměřenou Wi-Fi",
|
||||
"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",
|
||||
"ToastBookmarkRemoveFailed": "Nepodařilo se odstranit záložku",
|
||||
"ToastBookmarkUpdateFailed": "Aktualizace záložky se nezdařila",
|
||||
"ToastDownloadNotAllowedOnCellular": "Stahování přes mobilní data není povoleno",
|
||||
"ToastItemMarkedAsFinishedFailed": "Nepodařilo se označit jako dokončené",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Nepodařilo se označit jako nedokončené",
|
||||
"ToastPlaylistCreateFailed": "Vytvoření seznamu přehrávání se nezdařilo",
|
||||
"ToastPodcastCreateFailed": "Vytvoření podcastu se nezdařilo",
|
||||
"ToastPodcastCreateSuccess": "Podcast byl úspěšně vytvořen",
|
||||
"ToastRSSFeedCloseFailed": "Nepodařilo se zavřít RSS kanál",
|
||||
"ToastRSSFeedCloseSuccess": "RSS kanál uzavřen"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS kanál uzavřen",
|
||||
"ToastStreamingNotAllowedOnCellular": "Přehrávání přes mobilní data není povoleno"
|
||||
}
|
||||
|
||||
+43
-32
@@ -1,52 +1,53 @@
|
||||
{
|
||||
"ButtonAdd": "Tilføj",
|
||||
"ButtonAddNewServer": "Add New Server",
|
||||
"ButtonAddNewServer": "Tilføj ny server",
|
||||
"ButtonAuthors": "Forfattere",
|
||||
"ButtonBack": "Back",
|
||||
"ButtonBack": "Tilbage",
|
||||
"ButtonCancel": "Annuller",
|
||||
"ButtonCancelTimer": "Cancel Timer",
|
||||
"ButtonCancelTimer": "Stop timer",
|
||||
"ButtonClearFilter": "Ryd filter",
|
||||
"ButtonCloseFeed": "Luk feed",
|
||||
"ButtonCollections": "Samlinger",
|
||||
"ButtonConnect": "Connect",
|
||||
"ButtonConnectToServer": "Connect to Server",
|
||||
"ButtonConnect": "Forbind",
|
||||
"ButtonConnectToServer": "Forbind til Server",
|
||||
"ButtonCreate": "Opret",
|
||||
"ButtonCreateBookmark": "Create Bookmark",
|
||||
"ButtonCreateNewPlaylist": "Create New Playlist",
|
||||
"ButtonCreateBookmark": "Opret Bogmærker",
|
||||
"ButtonCreateNewPlaylist": "Opret Ny Playlist",
|
||||
"ButtonDelete": "Slet",
|
||||
"ButtonDeleteLocalEpisode": "Delete local episode",
|
||||
"ButtonDeleteLocalEpisode": "Slet lokalt afsnit",
|
||||
"ButtonDeleteLocalFile": "Delete local file",
|
||||
"ButtonDeleteLocalItem": "Delete local item",
|
||||
"ButtonDisableAutoTimer": "Disable Auto Timer",
|
||||
"ButtonDisconnect": "Disconnect",
|
||||
"ButtonDisableAutoTimer": "Afbryd Auto Timer",
|
||||
"ButtonDisconnect": "Luk forbindelse",
|
||||
"ButtonGoToWebClient": "Go to Web Client",
|
||||
"ButtonHistory": "History",
|
||||
"ButtonHistory": "Historik",
|
||||
"ButtonHome": "Hjem",
|
||||
"ButtonIssues": "Problemer",
|
||||
"ButtonLatest": "Seneste",
|
||||
"ButtonLibrary": "Bibliotek",
|
||||
"ButtonLocalMedia": "Local Media",
|
||||
"ButtonManageLocalFiles": "Manage Local Files",
|
||||
"ButtonNewFolder": "New Folder",
|
||||
"ButtonNextEpisode": "Next Episode",
|
||||
"ButtonManageLocalFiles": "Administrér Lokale Filer",
|
||||
"ButtonNewFolder": "Ny Folder",
|
||||
"ButtonNextEpisode": "Næste Afsnit",
|
||||
"ButtonOpenFeed": "Åbn feed",
|
||||
"ButtonOverride": "Override",
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonPlay": "Afspil",
|
||||
"ButtonPlayEpisode": "Afspil Afsnit",
|
||||
"ButtonPlaying": "Afspiller",
|
||||
"ButtonPlaylists": "Afspilningslister",
|
||||
"ButtonRead": "Læs",
|
||||
"ButtonRemove": "Fjern",
|
||||
"ButtonRemoveFromServer": "Remove from Server",
|
||||
"ButtonRemoveFromServer": "Fjern fra Server",
|
||||
"ButtonSave": "Gem",
|
||||
"ButtonSaveOrder": "Save Order",
|
||||
"ButtonSaveOrder": "Gem Rækkefølge",
|
||||
"ButtonSearch": "Søg",
|
||||
"ButtonSendEbookToDevice": "Send Ebook to Device",
|
||||
"ButtonSendEbookToDevice": "Send E-bog til Enhed",
|
||||
"ButtonSeries": "Serie",
|
||||
"ButtonSetTimer": "Set Timer",
|
||||
"ButtonStream": "Stream",
|
||||
"ButtonSubmit": "Send",
|
||||
"ButtonSwitchServerUser": "Switch Server/User",
|
||||
"ButtonSwitchServerUser": "Skift Server/Bruger",
|
||||
"ButtonUserStats": "User Stats",
|
||||
"ButtonYes": "Ja",
|
||||
"HeaderAccount": "Konto",
|
||||
@@ -55,7 +56,8 @@
|
||||
"HeaderChapters": "Kapitler",
|
||||
"HeaderCollection": "Samling",
|
||||
"HeaderCollectionItems": "Samlingselementer",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderConnectionStatus": "Forbindelsesstatus",
|
||||
"HeaderDataSettings": "Data Settings",
|
||||
"HeaderDetails": "Detaljer",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "E-bogsfiler",
|
||||
@@ -82,11 +84,13 @@
|
||||
"HeaderTableOfContents": "Indholdsfortegnelse",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderYourStats": "Dine Statistikker",
|
||||
"LabelAddToPlaylist": "Tilføj til Afspilningsliste",
|
||||
"LabelAdded": "Tilføjet",
|
||||
"LabelAddedAt": "Tilføjet Kl.",
|
||||
"LabelAddToPlaylist": "Tilføj til Afspilningsliste",
|
||||
"LabelAll": "Alle",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAlways": "Always",
|
||||
"LabelAskConfirmation": "Ask for confirmation",
|
||||
"LabelAuthor": "Forfatter",
|
||||
"LabelAuthorFirstLast": "Forfatter (Fornavn Efternavn)",
|
||||
"LabelAuthorLastFirst": "Forfatter (Efternavn, Fornavn)",
|
||||
@@ -98,8 +102,8 @@
|
||||
"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.",
|
||||
"LabelBooks": "Bøger",
|
||||
"LabelChapters": "Kapitler",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelChapters": "Kapitler",
|
||||
"LabelClosePlayer": "Luk afspiller",
|
||||
"LabelCollapseSeries": "Fold Serie Sammen",
|
||||
"LabelComplete": "Fuldfør",
|
||||
@@ -119,6 +123,7 @@
|
||||
"LabelDisableVibrateOnResetHelp": "When the sleep timer gets reset your device will vibrate. Enable this setting to not vibrate when the sleep timer resets.",
|
||||
"LabelDiscover": "Discover",
|
||||
"LabelDownload": "Download",
|
||||
"LabelDownloadUsingCellular": "Download using Cellular",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDuration": "Varighed",
|
||||
"LabelEbook": "E-bog",
|
||||
@@ -146,8 +151,8 @@
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHigh": "High",
|
||||
"LabelHost": "Vært",
|
||||
"LabelIncomplete": "Ufuldstændig",
|
||||
"LabelInProgress": "I gang",
|
||||
"LabelIncomplete": "Ufuldstændig",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
@@ -170,6 +175,7 @@
|
||||
"LabelName": "Navn",
|
||||
"LabelNarrator": "Fortæller",
|
||||
"LabelNarrators": "Fortællere",
|
||||
"LabelNever": "Never",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNo": "No",
|
||||
@@ -188,15 +194,15 @@
|
||||
"LabelProgress": "Fremskridt",
|
||||
"LabelPubDate": "Udgivelsesdato",
|
||||
"LabelPublishYear": "Udgivelsesår",
|
||||
"LabelRead": "Læst",
|
||||
"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",
|
||||
"LabelRSSFeedSlug": "RSS-feed-slug",
|
||||
"LabelRead": "Læst",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelSeason": "Sæson",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
@@ -219,6 +225,7 @@
|
||||
"LabelStatsMinutes": "minutter",
|
||||
"LabelStatsMinutesListening": "Minutter hørt",
|
||||
"LabelStatsWeekListening": "Ugens lytning",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Mærke",
|
||||
"LabelTags": "Mærker",
|
||||
"LabelTheme": "Tema",
|
||||
@@ -245,8 +252,10 @@
|
||||
"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?",
|
||||
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
|
||||
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Discard Progress",
|
||||
"MessageDownloadCompleteProcessing": "Download complete. Processing...",
|
||||
"MessageDownloading": "Downloading...",
|
||||
@@ -254,7 +263,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} episoder er sat i kø til download",
|
||||
"MessageFeedURLWillBe": "Feed-URL vil være {0}",
|
||||
"MessageFetching": "Henter...",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
|
||||
"MessageLoading": "Indlæser...",
|
||||
"MessageLoadingServerData": "Loading server data...",
|
||||
@@ -277,20 +286,22 @@
|
||||
"MessageNoUserPlaylists": "Du har ingen afspilningslister",
|
||||
"MessageReportBugsAndContribute": "Rapporter fejl, anmod om funktioner og bidrag på",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket connected over metered cellular",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered wifi",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered Wi-Fi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket connected over unmetered cellular",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered wifi",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered Wi-Fi",
|
||||
"MessageSocketNotConnected": "Socket not connected",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Advarsel: De fleste podcast-apps kræver, at RSS-feedets URL bruger HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Advarsel: En eller flere af dine episoder har ikke en Pub Date. Nogle podcast-apps kræver dette.",
|
||||
"ToastBookmarkCreateFailed": "Mislykkedes oprettelse af bogmærke",
|
||||
"ToastBookmarkRemoveFailed": "Mislykkedes fjernelse af bogmærke",
|
||||
"ToastBookmarkUpdateFailed": "Mislykkedes opdatering af bogmærke",
|
||||
"ToastDownloadNotAllowedOnCellular": "Downloading is not allowed on cellular data",
|
||||
"ToastItemMarkedAsFinishedFailed": "Mislykkedes markering som afsluttet",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Mislykkedes markering som ikke afsluttet",
|
||||
"ToastPlaylistCreateFailed": "Mislykkedes oprettelse af afspilningsliste",
|
||||
"ToastPodcastCreateFailed": "Mislykkedes oprettelse af podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast oprettet med succes",
|
||||
"ToastRSSFeedCloseFailed": "Mislykkedes lukning af RSS-feed",
|
||||
"ToastRSSFeedCloseSuccess": "RSS-feed lukket"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS-feed lukket",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+53
-40
@@ -19,7 +19,7 @@
|
||||
"ButtonDeleteLocalItem": "Lösche lokales Element",
|
||||
"ButtonDisableAutoTimer": "Deaktiviere automatischen Timer",
|
||||
"ButtonDisconnect": "Trennen",
|
||||
"ButtonGoToWebClient": "Go to Web Client",
|
||||
"ButtonGoToWebClient": "Gehe zum Web Client",
|
||||
"ButtonHistory": "Historie",
|
||||
"ButtonHome": "Startseite",
|
||||
"ButtonIssues": "Probleme",
|
||||
@@ -33,15 +33,16 @@
|
||||
"ButtonOverride": "Überschreiben",
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonPlay": "Abspielen",
|
||||
"ButtonPlayEpisode": "Episode abspielen",
|
||||
"ButtonPlaying": "Spielt",
|
||||
"ButtonPlaylists": "Wiedergabelisten",
|
||||
"ButtonRead": "Lesen",
|
||||
"ButtonRemove": "Löschen",
|
||||
"ButtonRemove": "Entfernen",
|
||||
"ButtonRemoveFromServer": "Vom Server entfernen",
|
||||
"ButtonSave": "Speichern",
|
||||
"ButtonSaveOrder": "Reihenfolge speichern",
|
||||
"ButtonSearch": "Suchen",
|
||||
"ButtonSendEbookToDevice": "Sende E-Book an Gerät",
|
||||
"ButtonSendEbookToDevice": "E-Buch an Gerät senden",
|
||||
"ButtonSeries": "Serien",
|
||||
"ButtonSetTimer": "Setze Timer",
|
||||
"ButtonStream": "Stream",
|
||||
@@ -53,21 +54,22 @@
|
||||
"HeaderAdvanced": "Erweitert",
|
||||
"HeaderAudioTracks": "Audiodateien",
|
||||
"HeaderChapters": "Kapitel",
|
||||
"HeaderCollection": "Sammlungen",
|
||||
"HeaderCollection": "Sammlung",
|
||||
"HeaderCollectionItems": "Sammlungseinträge",
|
||||
"HeaderConnectionStatus": "Verbindungsstatus",
|
||||
"HeaderDataSettings": "Daten-Einstellungen",
|
||||
"HeaderDetails": "Details",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "E-Book Dateien",
|
||||
"HeaderEbookFiles": "E-Buch-Dateien",
|
||||
"HeaderEpisodes": "Episoden",
|
||||
"HeaderEreaderSettings": "E-Reader Einstellungen",
|
||||
"HeaderEreaderSettings": "Einstellungen zum Lesen",
|
||||
"HeaderLatestEpisodes": "Neueste Episoden",
|
||||
"HeaderLibraries": "Bibliotheken",
|
||||
"HeaderLocalFolders": "Lokale Ordner",
|
||||
"HeaderLocalLibraryItems": "Lokale Bibliothek Elemente",
|
||||
"HeaderLocalLibraryItems": "Elemente der lokalen Bibliothek",
|
||||
"HeaderNewPlaylist": "Neue Wiedergabeliste",
|
||||
"HeaderOpenRSSFeed": "RSS-Feed öffnen",
|
||||
"HeaderPlaybackSettings": "Wiedergabe Einstellungen",
|
||||
"HeaderPlaybackSettings": "Wiedergabe-Einstellungen",
|
||||
"HeaderPlaylist": "Wiedergabeliste",
|
||||
"HeaderPlaylistItems": "Einträge in der Wiedergabeliste",
|
||||
"HeaderRSSFeed": "RSS-Feed",
|
||||
@@ -75,31 +77,33 @@
|
||||
"HeaderRSSFeedIsOpen": "RSS-Feed ist geöffnet",
|
||||
"HeaderSelectDownloadLocation": "Wähle Download-Speicherort",
|
||||
"HeaderSettings": "Einstellungen",
|
||||
"HeaderSleepTimer": "Sleep-Timer",
|
||||
"HeaderSleepTimerSettings": "Sleep-Timer Einstellungen",
|
||||
"HeaderSleepTimer": "Schlummerfunktion",
|
||||
"HeaderSleepTimerSettings": "Schlummerfunktion Einstellungen",
|
||||
"HeaderStatsMinutesListeningChart": "Hörminuten (letzte 7 Tage)",
|
||||
"HeaderStatsRecentSessions": "Neueste Ereignisse",
|
||||
"HeaderTableOfContents": "Inhaltsverzeichnis",
|
||||
"HeaderUserInterfaceSettings": "Einstellungen der Benutzeroberfläche",
|
||||
"HeaderYourStats": "Eigene Statistiken",
|
||||
"LabelAddToPlaylist": "Zur Wiedergabeliste hinzufügen",
|
||||
"LabelAdded": "Hinzugefügt",
|
||||
"LabelAddedAt": "Hinzugefügt am",
|
||||
"LabelAddToPlaylist": "Zur Wiedergabeliste hinzufügen",
|
||||
"LabelAll": "Alle",
|
||||
"LabelAllowSeekingOnMediaControls": "Erlaube Vor- und Zurückspulen auf dem Medienkontrollelement bei den Benachrichtigungen",
|
||||
"LabelAlways": "Immer",
|
||||
"LabelAskConfirmation": "Bestätigung anfordern",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Autor (Vorname Nachname)",
|
||||
"LabelAuthorLastFirst": "Autor (Nachname, Vorname)",
|
||||
"LabelAuthors": "Autoren",
|
||||
"LabelAutoDownloadEpisodes": "Episoden automatisch herunterladen",
|
||||
"LabelAutoRewindTime": "Automatische Rückspulzeit",
|
||||
"LabelAutoSleepTimer": "Automatischer Sleep-Timer",
|
||||
"LabelAutoSleepTimerAutoRewind": "Automatischer Sleep-Timer automatische Rückspulzeit",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Wenn der Sleep-Timer abgelaufen ist, wird bei der erneuten Wiedergabe des Titels die Position automatisch zurückgespult.",
|
||||
"LabelAutoSleepTimerHelp": "Bei der Wiedergabe von Medien zwischen der angegebenen Start- und Endzeit wird automatisch ein Sleep-Timer gestartet.",
|
||||
"LabelAutoSleepTimer": "Automatische Schlummerfunktion",
|
||||
"LabelAutoSleepTimerAutoRewind": "Automatische Schlummerfunktion automatische Rückspulzeit",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Wenn die Schlummerfunktion abgelaufen ist, wird bei der erneuten Wiedergabe des Titels die Position automatisch zurückgespult.",
|
||||
"LabelAutoSleepTimerHelp": "Bei der Wiedergabe von Medien zwischen der angegebenen Start- und Endzeit wird automatisch eine Schlummerfunktion gestartet.",
|
||||
"LabelBooks": "Bücher",
|
||||
"LabelChapterTrack": "Kapitelspur",
|
||||
"LabelChapters": "Kapitel",
|
||||
"LabelChapterTrack": "Kapitel Spur",
|
||||
"LabelClosePlayer": "Player schließen",
|
||||
"LabelCollapseSeries": "Serien zusammenfassen",
|
||||
"LabelComplete": "Vollständig",
|
||||
@@ -119,15 +123,16 @@
|
||||
"LabelDisableVibrateOnResetHelp": "Wenn der Sleep-Timer zurückgesetzt wird, vibriert dein Gerät. Aktiviere diese Einstellung, um nicht zu vibrieren, wenn der Sleep-Timer zurückgesetzt wird.",
|
||||
"LabelDiscover": "Entdecken",
|
||||
"LabelDownload": "Herunterladen",
|
||||
"LabelDownloadUsingCellular": "Über mobile Daten herunterladen",
|
||||
"LabelDownloaded": "Heruntergeladen",
|
||||
"LabelDuration": "Laufzeit",
|
||||
"LabelEbook": "E-Book",
|
||||
"LabelEbooks": "E-Books",
|
||||
"LabelEbook": "E-Buch",
|
||||
"LabelEbooks": "E-Bücher",
|
||||
"LabelEnable": "Aktivieren",
|
||||
"LabelEnableMp3IndexSeeking": "MP3-Indexsuche",
|
||||
"LabelEnableMp3IndexSeekingHelp": "Diese Einstellung sollte nur aktiviert werden, wenn du MP3-Dateien hast, bei denen das Navigieren (Seeking) nicht korrekt funktioniert. Ungenaues Navigieren ist höchstwahrscheinlich auf MP3-Dateien mit variabler Bitrate (VBR) zurückzuführen. Diese Einstellung erzwingt das Index-Navigieren (Index Seeking), bei dem eine Zeit-zu-Byte-Zuordnung erstellt wird, während die Datei gelesen wird. In einigen Fällen kann es bei großen MP3-Dateien zu einer Verzögerung kommen, wenn gegen Ende der Datei navigiert wird.",
|
||||
"LabelEnd": "Ende",
|
||||
"LabelEndOfChapter": "Kapitelende",
|
||||
"LabelEndOfChapter": "Ende des Kapitels",
|
||||
"LabelEndTime": "Endzeit",
|
||||
"LabelEpisode": "Episode",
|
||||
"LabelFeedURL": "Feed URL",
|
||||
@@ -137,6 +142,7 @@
|
||||
"LabelFilename": "Dateiname",
|
||||
"LabelFinished": "Beendet",
|
||||
"LabelFolder": "Ordner",
|
||||
"LabelFontBoldness": "Schriftstärke",
|
||||
"LabelFontScale": "Schriftgröße",
|
||||
"LabelGenre": "Kategorie",
|
||||
"LabelGenres": "Kategorien",
|
||||
@@ -146,15 +152,15 @@
|
||||
"LabelHeavy": "Stark",
|
||||
"LabelHigh": "Hoch",
|
||||
"LabelHost": "Host",
|
||||
"LabelIncomplete": "Unvollständig",
|
||||
"LabelInProgress": "In Bearbeitung",
|
||||
"LabelIncomplete": "Unvollständig",
|
||||
"LabelInternalAppStorage": "Interner App Speicher",
|
||||
"LabelJumpBackwardsTime": "Rückspulzeit",
|
||||
"LabelJumpForwardsTime": "Vorwärtsspulzeit",
|
||||
"LabelLanguage": "Sprache",
|
||||
"LabelLayout": "Layout",
|
||||
"LabelLayoutAuto": "Auto",
|
||||
"LabelLayoutSinglePage": "Einzelne Seite",
|
||||
"LabelLayoutSinglePage": "Eine Seite",
|
||||
"LabelLight": "Leicht",
|
||||
"LabelLineSpacing": "Zeilenabstand",
|
||||
"LabelListenAgain": "Erneut anhören",
|
||||
@@ -170,6 +176,7 @@
|
||||
"LabelName": "Name",
|
||||
"LabelNarrator": "Erzähler",
|
||||
"LabelNarrators": "Erzähler",
|
||||
"LabelNever": "Nie",
|
||||
"LabelNewestAuthors": "Neueste Autoren",
|
||||
"LabelNewestEpisodes": "Neueste Episoden",
|
||||
"LabelNo": "Nein",
|
||||
@@ -188,26 +195,26 @@
|
||||
"LabelProgress": "Fortschritt",
|
||||
"LabelPubDate": "Veröffentlichungsdatum",
|
||||
"LabelPublishYear": "Jahr",
|
||||
"LabelRead": "Lesen",
|
||||
"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",
|
||||
"LabelRSSFeedSlug": "RSS Feed Schlagwort",
|
||||
"LabelRSSFeedSlug": "RSS-Feed-Schlagwort",
|
||||
"LabelRead": "Lesen",
|
||||
"LabelReadAgain": "Noch einmal Lesen",
|
||||
"LabelRecentSeries": "Aktuelle Serien",
|
||||
"LabelRecentlyAdded": "Kürzlich hinzugefügt",
|
||||
"LabelRemoveFromPlaylist": "Von Wiedergabeliste entfernen",
|
||||
"LabelScaleElapsedTimeBySpeed": "Vergangene Zeit anhand der Geschwindigkeit skalieren",
|
||||
"LabelSeason": "Staffel",
|
||||
"LabelSelectADevice": "Wähle ein Gerät",
|
||||
"LabelSeries": "Serien",
|
||||
"LabelServerAddress": "Server Adresse",
|
||||
"LabelServerAddress": "Serveradresse",
|
||||
"LabelSetEbookAsPrimary": "Als Hauptbuch setzen",
|
||||
"LabelSetEbookAsSupplementary": "Als Ergänzung setzen",
|
||||
"LabelShakeSensitivity": "Schüttel-Empfindlichkeit",
|
||||
"LabelShowAll": "Alles anzeigen",
|
||||
"LabelSize": "Größe",
|
||||
"LabelSleepTimer": "Sleep-Timer",
|
||||
"LabelSleepTimer": "Schlummerfunktion",
|
||||
"LabelStart": "Start",
|
||||
"LabelStartTime": "Startzeit",
|
||||
"LabelStatsBestDay": "Bester Tag",
|
||||
@@ -219,13 +226,15 @@
|
||||
"LabelStatsMinutes": "Minuten",
|
||||
"LabelStatsMinutesListening": "Gehörte Minuten",
|
||||
"LabelStatsWeekListening": "Gehörte Wochen",
|
||||
"LabelStreamingUsingCellular": "Über mobile Daten streamen",
|
||||
"LabelTag": "Schlagwort",
|
||||
"LabelTags": "Schlagwörter",
|
||||
"LabelTheme": "Theme",
|
||||
"LabelTheme": "Farbschema",
|
||||
"LabelThemeDark": "Dunkel",
|
||||
"LabelThemeLight": "Hell",
|
||||
"LabelTimeRemaining": "{0} verbleibend",
|
||||
"LabelTitle": "Titel",
|
||||
"LabelTotalSize": "Gesamtegröße",
|
||||
"LabelTotalTrack": "Gesamtanzahl Titel",
|
||||
"LabelTracks": "Titel",
|
||||
"LabelType": "Typ",
|
||||
@@ -245,18 +254,20 @@
|
||||
"MessageConfirmDeleteLocalEpisode": "Soll die lokale Episode \"{0}\" von deinem Gerät entfernt werden? Die Datei auf dem Server bleibt davon unberührt.",
|
||||
"MessageConfirmDeleteLocalFiles": "Sollen lokale Dateien dieses Elements von deinem Gerät entfernt werden? Die Dateien auf dem Server und Ihr Fortschritt bleiben davon unberührt.",
|
||||
"MessageConfirmDiscardProgress": "Bist du sicher, dass du deinen Fortschritt zurücksetzen willst?",
|
||||
"MessageConfirmDownloadUsingCellular": "Du bist dabei, über mobile Daten herunterzuladen. Dies kann zu Gebühren deines Mobilfunkanbieters führen. Möchtest du fortfahren?",
|
||||
"MessageConfirmMarkAsFinished": "Bist du sicher, dass du diesen Artikel als beendet markieren willst?",
|
||||
"MessageConfirmRemoveBookmark": "Bist du sicher, dass du das Lesezeichen entfernen willst?",
|
||||
"MessageConfirmStreamingUsingCellular": "Du bist dabei, über mobile Daten zu streamen. Dies kann zu Gebühren deines Mobilfunkanbieters führen. Möchtest du fortfahren?",
|
||||
"MessageDiscardProgress": "Fortschritt verwerfen",
|
||||
"MessageDownloadCompleteProcessing": "Download abgeschlossen. Verarbeite...",
|
||||
"MessageDownloading": "Herunterladen...",
|
||||
"MessageDownloadCompleteProcessing": "Download abgeschlossen. Wird verarbeitet …",
|
||||
"MessageDownloading": "Wird heruntergeladen …",
|
||||
"MessageDownloadingEpisode": "Episode herunterladen",
|
||||
"MessageEpisodesQueuedForDownload": "{0} Episode(n) in der Warteschlange zum Herunterladen",
|
||||
"MessageFeedURLWillBe": "Feed-URL wird {0} sein",
|
||||
"MessageFetching": "Abrufen...",
|
||||
"MessageFollowTheProjectOnGithub": "Folge dem Projekt auf Github",
|
||||
"MessageFetching": "Wird abgerufen …",
|
||||
"MessageFollowTheProjectOnGithub": "Folge dem Projekt auf GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Element-Download abgeschlossen, aber Bibliothekselement kann nicht erstellt werden",
|
||||
"MessageLoading": "Laden...",
|
||||
"MessageLoading": "Wird geladen …",
|
||||
"MessageLoadingServerData": "Lade Server Daten...",
|
||||
"MessageMarkAsFinished": "Als beendet markieren",
|
||||
"MessageMediaLinkedToADifferentServer": "Die Medien sind mit einem Audiobookshelf-Server mit einer anderen Adresse ({0}) verknüpft. Der Fortschritt wird synchronisiert, wenn eine Verbindung zu dieser Serveradresse besteht.",
|
||||
@@ -272,7 +283,7 @@
|
||||
"MessageNoMediaFolders": "Keine Medien Ordner",
|
||||
"MessageNoNetworkConnection": "Keine Netzwerkverbindung",
|
||||
"MessageNoPodcastsFound": "Keine Podcasts gefunden",
|
||||
"MessageNoSeries": "No series",
|
||||
"MessageNoSeries": "Keine Serie",
|
||||
"MessageNoUpdatesWereNecessary": "Keine Aktualisierungen waren notwendig",
|
||||
"MessageNoUserPlaylists": "Keine Wiedergabelisten vorhanden",
|
||||
"MessageReportBugsAndContribute": "Fehler melden, Funktionen anfordern und mitwirken",
|
||||
@@ -281,16 +292,18 @@
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket verbunden über ungetaktetes Mobilfunknetz",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket verbunden über ungetaktetes Mobilfunknetz",
|
||||
"MessageSocketNotConnected": "Socket nicht verbunden",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Warnung: Die meisten Podcast-Apps verlangen, dass die URL des RSS-Feeds HTTPS verwendet.",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Warnung: Die meisten Podcast-Apps verlangen, dass die URL des RSS-Feeds HTTPS verwendet",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Warnung: 1 oder mehrere deiner Episoden haben kein Veröffentlichungsdatum. Einige Podcast-Apps verlangen dies.",
|
||||
"ToastBookmarkCreateFailed": "Lesezeichen konnte nicht erstellt werden",
|
||||
"ToastBookmarkRemoveFailed": "Lesezeichen konnte nicht gelöscht werden",
|
||||
"ToastBookmarkRemoveFailed": "Lesezeichen konnte nicht entfernt werden",
|
||||
"ToastBookmarkUpdateFailed": "Lesezeichenaktualisierung fehlgeschlagen",
|
||||
"ToastDownloadNotAllowedOnCellular": "Das Herunterladen über mobile Daten ist nicht erlaubt",
|
||||
"ToastItemMarkedAsFinishedFailed": "Fehler bei der Markierung des Mediums als \"Beendet\"",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Fehler bei der Markierung des Mediums als \"Nicht Beendet\"",
|
||||
"ToastPlaylistCreateFailed": "Erstellen der Wiedergabeliste fehlgeschlagen",
|
||||
"ToastPodcastCreateFailed": "Podcast konnte nicht erstellt werden",
|
||||
"ToastPodcastCreateSuccess": "Podcast erstellt",
|
||||
"ToastRSSFeedCloseFailed": "RSS-Feed konnte nicht geschlossen werden",
|
||||
"ToastRSSFeedCloseSuccess": "RSS-Feed geschlossen"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS-Feed geschlossen",
|
||||
"ToastStreamingNotAllowedOnCellular": "Das Streamen über mobile Daten ist nicht erlaubt"
|
||||
}
|
||||
|
||||
+24
-10
@@ -33,6 +33,7 @@
|
||||
"ButtonOverride": "Override",
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonPlay": "Play",
|
||||
"ButtonPlayEpisode": "Play Episode",
|
||||
"ButtonPlaying": "Playing",
|
||||
"ButtonPlaylists": "Playlists",
|
||||
"ButtonRead": "Read",
|
||||
@@ -56,6 +57,7 @@
|
||||
"HeaderCollection": "Collection",
|
||||
"HeaderCollectionItems": "Collection Items",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderDataSettings": "Data Settings",
|
||||
"HeaderDetails": "Details",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Ebook Files",
|
||||
@@ -82,11 +84,13 @@
|
||||
"HeaderTableOfContents": "Table of Contents",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderYourStats": "Your Stats",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAdded": "Added",
|
||||
"LabelAddedAt": "Added At",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAll": "All",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAlways": "Always",
|
||||
"LabelAskConfirmation": "Ask for confirmation",
|
||||
"LabelAuthor": "Author",
|
||||
"LabelAuthorFirstLast": "Author (First Last)",
|
||||
"LabelAuthorLastFirst": "Author (Last, First)",
|
||||
@@ -98,8 +102,8 @@
|
||||
"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.",
|
||||
"LabelBooks": "Books",
|
||||
"LabelChapters": "Chapters",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelChapters": "Chapters",
|
||||
"LabelClosePlayer": "Close player",
|
||||
"LabelCollapseSeries": "Collapse Series",
|
||||
"LabelComplete": "Complete",
|
||||
@@ -119,6 +123,7 @@
|
||||
"LabelDisableVibrateOnResetHelp": "When the sleep timer gets reset your device will vibrate. Enable this setting to not vibrate when the sleep timer resets.",
|
||||
"LabelDiscover": "Discover",
|
||||
"LabelDownload": "Download",
|
||||
"LabelDownloadUsingCellular": "Download using Cellular",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDuration": "Duration",
|
||||
"LabelEbook": "Ebook",
|
||||
@@ -137,6 +142,7 @@
|
||||
"LabelFilename": "Filename",
|
||||
"LabelFinished": "Finished",
|
||||
"LabelFolder": "Folder",
|
||||
"LabelFontBoldness": "Font Boldness",
|
||||
"LabelFontScale": "Font scale",
|
||||
"LabelGenre": "Genre",
|
||||
"LabelGenres": "Genres",
|
||||
@@ -146,8 +152,8 @@
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHigh": "High",
|
||||
"LabelHost": "Host",
|
||||
"LabelIncomplete": "Incomplete",
|
||||
"LabelInProgress": "In Progress",
|
||||
"LabelIncomplete": "Incomplete",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
@@ -170,6 +176,7 @@
|
||||
"LabelName": "Name",
|
||||
"LabelNarrator": "Narrator",
|
||||
"LabelNarrators": "Narrators",
|
||||
"LabelNever": "Never",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNo": "No",
|
||||
@@ -188,15 +195,16 @@
|
||||
"LabelProgress": "Progress",
|
||||
"LabelPubDate": "Pub Date",
|
||||
"LabelPublishYear": "Publish Year",
|
||||
"LabelRead": "Read",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
||||
"LabelRSSFeedSlug": "RSS Feed Slug",
|
||||
"LabelRandomly": "Randomly",
|
||||
"LabelRead": "Read",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelSeason": "Season",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
@@ -219,6 +227,7 @@
|
||||
"LabelStatsMinutes": "minutes",
|
||||
"LabelStatsMinutesListening": "Minutes Listening",
|
||||
"LabelStatsWeekListening": "Week Listening",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Tag",
|
||||
"LabelTags": "Tags",
|
||||
"LabelTheme": "Theme",
|
||||
@@ -226,6 +235,7 @@
|
||||
"LabelThemeLight": "Light",
|
||||
"LabelTimeRemaining": "{0} remaining",
|
||||
"LabelTitle": "Title",
|
||||
"LabelTotalSize": "Total Size",
|
||||
"LabelTotalTrack": "Total Track",
|
||||
"LabelTracks": "Tracks",
|
||||
"LabelType": "Type",
|
||||
@@ -245,8 +255,10 @@
|
||||
"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?",
|
||||
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
|
||||
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Discard Progress",
|
||||
"MessageDownloadCompleteProcessing": "Download complete. Processing...",
|
||||
"MessageDownloading": "Downloading...",
|
||||
@@ -286,11 +298,13 @@
|
||||
"ToastBookmarkCreateFailed": "Failed to create bookmark",
|
||||
"ToastBookmarkRemoveFailed": "Failed to remove bookmark",
|
||||
"ToastBookmarkUpdateFailed": "Failed to update bookmark",
|
||||
"ToastDownloadNotAllowedOnCellular": "Downloading is not allowed on cellular data",
|
||||
"ToastItemMarkedAsFinishedFailed": "Failed to mark as Finished",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Failed to mark as Not Finished",
|
||||
"ToastPlaylistCreateFailed": "Failed to create playlist",
|
||||
"ToastPodcastCreateFailed": "Failed to create podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast created successfully",
|
||||
"ToastRSSFeedCloseFailed": "Failed to close RSS feed",
|
||||
"ToastRSSFeedCloseSuccess": "RSS feed closed"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS feed closed",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+195
-182
@@ -1,213 +1,220 @@
|
||||
{
|
||||
"ButtonAdd": "Agregar",
|
||||
"ButtonAddNewServer": "Add New Server",
|
||||
"ButtonAddNewServer": "Agregar nuevo servidor",
|
||||
"ButtonAuthors": "Autores",
|
||||
"ButtonBack": "Back",
|
||||
"ButtonBack": "Atrás",
|
||||
"ButtonCancel": "Cancelar",
|
||||
"ButtonCancelTimer": "Cancel Timer",
|
||||
"ButtonClearFilter": "Quitar Filtros",
|
||||
"ButtonCloseFeed": "Cerrar Fuente",
|
||||
"ButtonCancelTimer": "Cancelar el temporizador",
|
||||
"ButtonClearFilter": "Quitar filtros",
|
||||
"ButtonCloseFeed": "Cerrar fuente",
|
||||
"ButtonCollections": "Colecciones",
|
||||
"ButtonConnect": "Connect",
|
||||
"ButtonConnectToServer": "Connect to Server",
|
||||
"ButtonConnect": "Conectar",
|
||||
"ButtonConnectToServer": "Conectar al servidor",
|
||||
"ButtonCreate": "Crear",
|
||||
"ButtonCreateBookmark": "Create Bookmark",
|
||||
"ButtonCreateNewPlaylist": "Create New Playlist",
|
||||
"ButtonCreateBookmark": "Crear marcador",
|
||||
"ButtonCreateNewPlaylist": "Crear nueva lista de reproducción",
|
||||
"ButtonDelete": "Eliminar",
|
||||
"ButtonDeleteLocalEpisode": "Delete local episode",
|
||||
"ButtonDeleteLocalFile": "Delete local file",
|
||||
"ButtonDeleteLocalItem": "Delete local item",
|
||||
"ButtonDisableAutoTimer": "Disable Auto Timer",
|
||||
"ButtonDisconnect": "Disconnect",
|
||||
"ButtonGoToWebClient": "Go to Web Client",
|
||||
"ButtonHistory": "History",
|
||||
"ButtonDeleteLocalEpisode": "Borrar episodio local",
|
||||
"ButtonDeleteLocalFile": "Borrar archivo local",
|
||||
"ButtonDeleteLocalItem": "Borrar elemento local",
|
||||
"ButtonDisableAutoTimer": "Desactivar temporizador automático",
|
||||
"ButtonDisconnect": "Desconectar",
|
||||
"ButtonGoToWebClient": "Ir al cliente web",
|
||||
"ButtonHistory": "Historial",
|
||||
"ButtonHome": "Inicio",
|
||||
"ButtonIssues": "Problemas",
|
||||
"ButtonLatest": "Últimos",
|
||||
"ButtonLibrary": "Biblioteca",
|
||||
"ButtonLocalMedia": "Local Media",
|
||||
"ButtonManageLocalFiles": "Manage Local Files",
|
||||
"ButtonNewFolder": "New Folder",
|
||||
"ButtonNextEpisode": "Next Episode",
|
||||
"ButtonOpenFeed": "Abrir Fuente",
|
||||
"ButtonOverride": "Override",
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonLocalMedia": "Medios locales",
|
||||
"ButtonManageLocalFiles": "Gestionar archivos locales",
|
||||
"ButtonNewFolder": "Nueva carpeta",
|
||||
"ButtonNextEpisode": "Próximo episodio",
|
||||
"ButtonOpenFeed": "Abrir fuente",
|
||||
"ButtonOverride": "Sustituir",
|
||||
"ButtonPause": "Pausar",
|
||||
"ButtonPlay": "Reproducir",
|
||||
"ButtonPlayEpisode": "Reproducir episodio",
|
||||
"ButtonPlaying": "Reproduciendo",
|
||||
"ButtonPlaylists": "Listas de Reproducción",
|
||||
"ButtonPlaylists": "Listas de reproducción",
|
||||
"ButtonRead": "Leer",
|
||||
"ButtonRemove": "Remover",
|
||||
"ButtonRemoveFromServer": "Remove from Server",
|
||||
"ButtonRemove": "Eliminar",
|
||||
"ButtonRemoveFromServer": "Eliminar del Servidor",
|
||||
"ButtonSave": "Guardar",
|
||||
"ButtonSaveOrder": "Save Order",
|
||||
"ButtonSaveOrder": "Guardar pedido",
|
||||
"ButtonSearch": "Buscar",
|
||||
"ButtonSendEbookToDevice": "Send Ebook to Device",
|
||||
"ButtonSendEbookToDevice": "Enviar libro al dispositivo",
|
||||
"ButtonSeries": "Series",
|
||||
"ButtonSetTimer": "Set Timer",
|
||||
"ButtonSetTimer": "Ajustar el temporizador",
|
||||
"ButtonStream": "Stream",
|
||||
"ButtonSubmit": "Enviar",
|
||||
"ButtonSwitchServerUser": "Switch Server/User",
|
||||
"ButtonUserStats": "User Stats",
|
||||
"ButtonYes": "Aceptar",
|
||||
"ButtonSwitchServerUser": "Cambiar servidor/usuario",
|
||||
"ButtonUserStats": "Estadísticas de usuario",
|
||||
"ButtonYes": "Sí",
|
||||
"HeaderAccount": "Cuenta",
|
||||
"HeaderAdvanced": "Avanzado",
|
||||
"HeaderAudioTracks": "Pistas de Audio",
|
||||
"HeaderAudioTracks": "Pistas de audio",
|
||||
"HeaderChapters": "Capítulos",
|
||||
"HeaderCollection": "Colección",
|
||||
"HeaderCollectionItems": "Elementos en la Colección",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderCollectionItems": "Elementos en la colección",
|
||||
"HeaderConnectionStatus": "Estado de la conexión",
|
||||
"HeaderDataSettings": "Ajustes de los datos",
|
||||
"HeaderDetails": "Detalles",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Archivos de Ebook",
|
||||
"HeaderDownloads": "Descargas",
|
||||
"HeaderEbookFiles": "Archivos de libros digitales",
|
||||
"HeaderEpisodes": "Episodios",
|
||||
"HeaderEreaderSettings": "Opciones de Ereader",
|
||||
"HeaderLatestEpisodes": "Últimos Episodios",
|
||||
"HeaderEreaderSettings": "Ajustes del lector",
|
||||
"HeaderLatestEpisodes": "Últimos episodios",
|
||||
"HeaderLibraries": "Bibliotecas",
|
||||
"HeaderLocalFolders": "Local Folders",
|
||||
"HeaderLocalLibraryItems": "Local Library Items",
|
||||
"HeaderNewPlaylist": "New Playlist",
|
||||
"HeaderLocalFolders": "Carpetas locales",
|
||||
"HeaderLocalLibraryItems": "Elementos de la biblioteca local",
|
||||
"HeaderNewPlaylist": "Nueva lista de reproducción",
|
||||
"HeaderOpenRSSFeed": "Abrir fuente RSS",
|
||||
"HeaderPlaybackSettings": "Playback Settings",
|
||||
"HeaderPlaylist": "Lista de Reproducción",
|
||||
"HeaderPlaylistItems": "Elementos de Lista de Reproducción",
|
||||
"HeaderRSSFeed": "RSS Feed",
|
||||
"HeaderPlaybackSettings": "Ajustes de reproducción",
|
||||
"HeaderPlaylist": "Lista de reproducción",
|
||||
"HeaderPlaylistItems": "Elementos de lista de reproducción",
|
||||
"HeaderRSSFeed": "Fuente RSS",
|
||||
"HeaderRSSFeedGeneral": "Detalles RSS",
|
||||
"HeaderRSSFeedIsOpen": "Fuente RSS esta abierta",
|
||||
"HeaderSelectDownloadLocation": "Select Download Location",
|
||||
"HeaderRSSFeedIsOpen": "Fuente RSS está abierta",
|
||||
"HeaderSelectDownloadLocation": "Seleccionar ubicación de descarga",
|
||||
"HeaderSettings": "Configuraciones",
|
||||
"HeaderSleepTimer": "Temporizador para Dormir",
|
||||
"HeaderSleepTimerSettings": "Sleep Timer Settings",
|
||||
"HeaderStatsMinutesListeningChart": "Minutos Escuchando (Últimos 7 días)",
|
||||
"HeaderStatsRecentSessions": "Sesiones Recientes",
|
||||
"HeaderTableOfContents": "Tabla de Contenidos",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderYourStats": "Tus Estadísticas",
|
||||
"HeaderSleepTimer": "Temporizador de apagado",
|
||||
"HeaderSleepTimerSettings": "Ajustes del temporizador para dormir",
|
||||
"HeaderStatsMinutesListeningChart": "Minutos escuchando (Últimos 7 días)",
|
||||
"HeaderStatsRecentSessions": "Sesiones recientes",
|
||||
"HeaderTableOfContents": "Tabla de contenidos",
|
||||
"HeaderUserInterfaceSettings": "Ajustes de la interfaz de usuario",
|
||||
"HeaderYourStats": "Tus estadísticas",
|
||||
"LabelAddToPlaylist": "Añadido a la lista de reproducción",
|
||||
"LabelAdded": "Añadido",
|
||||
"LabelAddedAt": "Añadido",
|
||||
"LabelAddToPlaylist": "Añadido a la Lista de Reproducción",
|
||||
"LabelAll": "Todos",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAllowSeekingOnMediaControls": "Permitir la búsqueda de posición en los controles de notificación de medios",
|
||||
"LabelAlways": "Siempre",
|
||||
"LabelAskConfirmation": "Pedir confirmación",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Autor (Nombre Apellido)",
|
||||
"LabelAuthorLastFirst": "Autor (Apellido, Nombre)",
|
||||
"LabelAuthors": "Autores",
|
||||
"LabelAutoDownloadEpisodes": "Descargar Episodios Automáticamente",
|
||||
"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.",
|
||||
"LabelAutoDownloadEpisodes": "Descargar episodios automáticamente",
|
||||
"LabelAutoRewindTime": "Tiempo de rebobinado automático",
|
||||
"LabelAutoSleepTimer": "Temporizador de apagado automático",
|
||||
"LabelAutoSleepTimerAutoRewind": "Temporizador de apagado automático con rebobinado automático",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Cuando el temporizador de auto apagado finaliza, reproducir el elemento nuevamente rebobinará automáticamente tu posición.",
|
||||
"LabelAutoSleepTimerHelp": "Cuando se reproduce contenido multimedia entre las horas de inicio y finalización especificadas, se activará automáticamente un temporizador de apagado.",
|
||||
"LabelBooks": "Libros",
|
||||
"LabelChapterTrack": "Seguimiento de Capítulo",
|
||||
"LabelChapters": "Capítulos",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelClosePlayer": "Cerrar Reproductor",
|
||||
"LabelCollapseSeries": "Colapsar Serie",
|
||||
"LabelClosePlayer": "Cerrar reproductor",
|
||||
"LabelCollapseSeries": "Colapsar serie",
|
||||
"LabelComplete": "Completo",
|
||||
"LabelContinueBooks": "Continue Books",
|
||||
"LabelContinueEpisodes": "Continue Episodes",
|
||||
"LabelContinueListening": "Continue Listening",
|
||||
"LabelContinueReading": "Continue Reading",
|
||||
"LabelContinueSeries": "Continue Series",
|
||||
"LabelCustomTime": "Custom time",
|
||||
"LabelContinueBooks": "Continuar libros",
|
||||
"LabelContinueEpisodes": "Continuar episodios",
|
||||
"LabelContinueListening": "Seguir escuchando",
|
||||
"LabelContinueReading": "Continuar leyendo",
|
||||
"LabelContinueSeries": "Continuar series",
|
||||
"LabelCustomTime": "Tiempo personalizado",
|
||||
"LabelDescription": "Descripción",
|
||||
"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": "Desactivar el fundido de audio",
|
||||
"LabelDisableAudioFadeOutHelp": "El volumen de audio comenzará a disminuir cuando quede menos de 1 minuto en el temporizador de apagado. Habilite este ajuste para que no se desvanezca.",
|
||||
"LabelDisableAutoRewind": "Desactivar rebobinado automático",
|
||||
"LabelDisableShakeToReset": "Desactivar agitar para reiniciar",
|
||||
"LabelDisableShakeToResetHelp": "Si agitas el dispositivo mientras el temporizador está en marcha o en los 2 minutos siguientes a la expiración del temporizador, éste se reiniciará. Habilita esta configuración para desactivar el restablecimiento al agitar.",
|
||||
"LabelDisableVibrateOnReset": "Desactivar vibración al reiniciar",
|
||||
"LabelDisableVibrateOnResetHelp": "Cuando el temporizador de apagado se reinicia, el dispositivo vibra. Activa esta opción para que no vibre cuando se reinicie el temporizador.",
|
||||
"LabelDiscover": "Descubrir",
|
||||
"LabelDownload": "Descargar",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDownloadUsingCellular": "Descargar usando el móvil",
|
||||
"LabelDownloaded": "Descargado",
|
||||
"LabelDuration": "Duración",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEbook": "Libro electrónico",
|
||||
"LabelEbooks": "Libros electrónicos",
|
||||
"LabelEnable": "Habilitar",
|
||||
"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": "Activar la búsqueda de índices mp3",
|
||||
"LabelEnableMp3IndexSeekingHelp": "Esta configuración solo debe habilitarse si tienes archivos mp3 que no se están buscando correctamente. La búsqueda inexacta probablemente se deba a archivos MP3 de tasa de bits variable (VBR). Esta configuración forzará la búsqueda de índice, en la que se construye un mapeo de tiempo a bytes mientras se lee el archivo. En algunos casos, con archivos MP3 grandes, puede haber un retraso al buscar hacia el final del archivo.",
|
||||
"LabelEnd": "Fin",
|
||||
"LabelEndOfChapter": "End of Chapter",
|
||||
"LabelEndTime": "End time",
|
||||
"LabelEndOfChapter": "Fin del capítulo",
|
||||
"LabelEndTime": "Hora de finalización",
|
||||
"LabelEpisode": "Episodio",
|
||||
"LabelFeedURL": "Fuente de URL",
|
||||
"LabelFile": "Archivo",
|
||||
"LabelFileBirthtime": "Archivo Creado en",
|
||||
"LabelFileBirthtime": "Archivo creado en",
|
||||
"LabelFileModified": "Archivo modificado",
|
||||
"LabelFilename": "Nombre del Archivo",
|
||||
"LabelFilename": "Nombre del archivo",
|
||||
"LabelFinished": "Terminado",
|
||||
"LabelFolder": "Carpeta",
|
||||
"LabelFontScale": "Tamaño de Fuente",
|
||||
"LabelGenre": "Genero",
|
||||
"LabelFontBoldness": "Nivel de negrilla en fuente",
|
||||
"LabelFontScale": "Tamaño de fuente",
|
||||
"LabelGenre": "Género",
|
||||
"LabelGenres": "Géneros",
|
||||
"LabelHapticFeedback": "Haptic feedback",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHigh": "High",
|
||||
"LabelHapticFeedback": "Respuesta táctil",
|
||||
"LabelHasEbook": "Tiene un libro",
|
||||
"LabelHasSupplementaryEbook": "Tiene un libro complementario",
|
||||
"LabelHeavy": "Pesado",
|
||||
"LabelHigh": "Alto",
|
||||
"LabelHost": "Host",
|
||||
"LabelInProgress": "En proceso",
|
||||
"LabelIncomplete": "Incompleto",
|
||||
"LabelInProgress": "En Proceso",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
"LabelLanguage": "Lenguaje",
|
||||
"LabelLayout": "Layout",
|
||||
"LabelInternalAppStorage": "Almacenamiento interno de aplicaciones",
|
||||
"LabelJumpBackwardsTime": "Saltar atrás en el tiempo",
|
||||
"LabelJumpForwardsTime": "Salto adelante en el tiempo",
|
||||
"LabelLanguage": "Idioma",
|
||||
"LabelLayout": "Diseño",
|
||||
"LabelLayoutAuto": "Auto",
|
||||
"LabelLayoutSinglePage": "Single page",
|
||||
"LabelLight": "Light",
|
||||
"LabelLayoutSinglePage": "Página única",
|
||||
"LabelLight": "Claro",
|
||||
"LabelLineSpacing": "Interlineado",
|
||||
"LabelListenAgain": "Listen Again",
|
||||
"LabelLocalBooks": "Local Books",
|
||||
"LabelLocalPodcasts": "Local Podcasts",
|
||||
"LabelLockOrientation": "Lock orientation",
|
||||
"LabelLockPlayer": "Lock Player",
|
||||
"LabelLow": "Low",
|
||||
"LabelMediaType": "Tipo de Multimedia",
|
||||
"LabelMedium": "Medium",
|
||||
"LabelListenAgain": "Volver a escuchar",
|
||||
"LabelLocalBooks": "Libros Locales",
|
||||
"LabelLocalPodcasts": "Podcasts Locales",
|
||||
"LabelLockOrientation": "Bloquear orientación",
|
||||
"LabelLockPlayer": "Bloquear el reproductor",
|
||||
"LabelLow": "Bajo",
|
||||
"LabelMediaType": "Tipo de multimedia",
|
||||
"LabelMedium": "Medio",
|
||||
"LabelMore": "Más",
|
||||
"LabelMoreInfo": "Más Información",
|
||||
"LabelMoreInfo": "Más información",
|
||||
"LabelName": "Nombre",
|
||||
"LabelNarrator": "Narrador",
|
||||
"LabelNarrators": "Narradores",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNever": "Nunca",
|
||||
"LabelNewestAuthors": "Autores más recientes",
|
||||
"LabelNewestEpisodes": "Episodios más recientes",
|
||||
"LabelNo": "No",
|
||||
"LabelNotFinished": "No Terminado",
|
||||
"LabelNotStarted": "Sin Iniciar",
|
||||
"LabelOff": "Off",
|
||||
"LabelNotFinished": "No terminado",
|
||||
"LabelNotStarted": "Sin iniciar",
|
||||
"LabelOff": "Apagado",
|
||||
"LabelPassword": "Contraseña",
|
||||
"LabelPath": "Ruta de Carpeta",
|
||||
"LabelPlaybackDirect": "Direct",
|
||||
"LabelPath": "Ruta de carpeta",
|
||||
"LabelPlaybackDirect": "Directo",
|
||||
"LabelPlaybackLocal": "Local",
|
||||
"LabelPlaybackSpeed": "Playback Speed",
|
||||
"LabelPlaybackTranscode": "Transcode",
|
||||
"LabelPlaybackSpeed": "Velocidad de reproducción",
|
||||
"LabelPlaybackTranscode": "Transcodificar",
|
||||
"LabelPodcast": "Podcast",
|
||||
"LabelPodcasts": "Podcasts",
|
||||
"LabelPreventIndexing": "Evite que su fuente sea indexada por los directorios de podcasts de iTunes y Google",
|
||||
"LabelProgress": "Progreso",
|
||||
"LabelPubDate": "Fecha de Publicación",
|
||||
"LabelPublishYear": "Año de Publicación",
|
||||
"LabelRead": "Leído",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Email de dueño personalizado",
|
||||
"LabelPubDate": "Fecha de publicación",
|
||||
"LabelPublishYear": "Año de publicación",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Correo electrónico de dueño personalizado",
|
||||
"LabelRSSFeedCustomOwnerName": "Nombre de dueño personalizado",
|
||||
"LabelRSSFeedPreventIndexing": "Prevenir Indexado",
|
||||
"LabelRSSFeedPreventIndexing": "Prevenir indexado",
|
||||
"LabelRSSFeedSlug": "Fuente RSS Slug",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelRead": "Leído",
|
||||
"LabelReadAgain": "Volver a leer",
|
||||
"LabelRecentSeries": "Series Recientes",
|
||||
"LabelRecentlyAdded": "Añadido Recientemente",
|
||||
"LabelRemoveFromPlaylist": "Eliminar de la Lista de Reproducción",
|
||||
"LabelScaleElapsedTimeBySpeed": "Escala el tiempo transcurrido según la velocidad",
|
||||
"LabelSeason": "Temporada",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
"LabelSelectADevice": "Selecciona un dispositivo",
|
||||
"LabelSeries": "Series",
|
||||
"LabelServerAddress": "Server address",
|
||||
"LabelServerAddress": "Dirección del servidor",
|
||||
"LabelSetEbookAsPrimary": "Establecer como primario",
|
||||
"LabelSetEbookAsSupplementary": "Establecer como suplementario",
|
||||
"LabelShakeSensitivity": "Shake sensitivity",
|
||||
"LabelShakeSensitivity": "Sensibilidad a la sacudida",
|
||||
"LabelShowAll": "Mostrar Todos",
|
||||
"LabelSize": "Tamaño",
|
||||
"LabelSleepTimer": "Temporizador para Dormir",
|
||||
"LabelSleepTimer": "Temporizador de apagado",
|
||||
"LabelStart": "Iniciar",
|
||||
"LabelStartTime": "Tiempo de Inicio",
|
||||
"LabelStatsBestDay": "Mejor Día",
|
||||
@@ -219,6 +226,7 @@
|
||||
"LabelStatsMinutes": "minutos",
|
||||
"LabelStatsMinutesListening": "Minutos Escuchando",
|
||||
"LabelStatsWeekListening": "Tiempo escuchando en la Semana",
|
||||
"LabelStreamingUsingCellular": "Streaming por móvil",
|
||||
"LabelTag": "Etiqueta",
|
||||
"LabelTags": "Etiquetas",
|
||||
"LabelTheme": "Tema",
|
||||
@@ -226,71 +234,76 @@
|
||||
"LabelThemeLight": "Claro",
|
||||
"LabelTimeRemaining": "{0} restante",
|
||||
"LabelTitle": "Título",
|
||||
"LabelTotalTrack": "Total Track",
|
||||
"LabelTotalSize": "Tamaño Total",
|
||||
"LabelTotalTrack": "Pista Total",
|
||||
"LabelTracks": "Pistas",
|
||||
"LabelType": "Tipo",
|
||||
"LabelUnlockPlayer": "Unlock Player",
|
||||
"LabelUseBookshelfView": "Use bookshelf view",
|
||||
"LabelUnlockPlayer": "Desbloquear Reproductor",
|
||||
"LabelUseBookshelfView": "Usar la Vista de Estantería",
|
||||
"LabelUser": "Usuario",
|
||||
"LabelUsername": "Nombre de Usuario",
|
||||
"LabelVeryHigh": "Very High",
|
||||
"LabelVeryLow": "Very Low",
|
||||
"LabelVeryHigh": "Muy Alto",
|
||||
"LabelVeryLow": "Muy Bajo",
|
||||
"LabelYourBookmarks": "Tus Marcadores",
|
||||
"LabelYourProgress": "Tu Progreso",
|
||||
"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 e inferiores utilizarán el almacenamiento interno de aplicaciones para las descargas.",
|
||||
"MessageAttemptingServerConnection": "Intentando conectar con el servidor...",
|
||||
"MessageAudiobookshelfServerNotConnected": "Servidor de Audiobookshelf no conectado",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>¡Importante!</strong> Esta aplicación está diseñada para trabajar con un servidor Audiobookshelf que usted o alguien que usted conoce es el anfitrión. Esta aplicación no proporciona ningún contenido.",
|
||||
"MessageBookshelfEmpty": "Estantería vacía",
|
||||
"MessageConfirmDeleteLocalEpisode": "¿Eliminar episodio local \"{0}\" de su dispositivo? El archivo en el servidor no se verá afectado.",
|
||||
"MessageConfirmDeleteLocalFiles": "¿Eliminar los archivos locales de este elemento de tu dispositivo? Los archivos del servidor y tu progreso no se verán afectados.",
|
||||
"MessageConfirmDiscardProgress": "¿Estás seguro de que quieres reiniciar tu progreso?",
|
||||
"MessageConfirmDownloadUsingCellular": "Estas a punto de realizar una descarga utilizando datos móviles. Esto puede incluir cargos de datos del operador. ¿Deseas continuar?",
|
||||
"MessageConfirmMarkAsFinished": "¿Está seguro de que desea marcar este artículo como terminado?",
|
||||
"MessageConfirmRemoveBookmark": "¿Estás seguro de que quieres eliminar el marcador?",
|
||||
"MessageConfirmStreamingUsingCellular": "Estás a punto de hacer streaming utilizando datos móviles. Esto puede incluir cargos de datos del operador. ¿Deseas continuar?",
|
||||
"MessageDiscardProgress": "Descartar Progreso",
|
||||
"MessageDownloadCompleteProcessing": "Descarga Completada. Procesando...",
|
||||
"MessageDownloading": "Descargando...",
|
||||
"MessageDownloadingEpisode": "Descargando Capitulo",
|
||||
"MessageEpisodesQueuedForDownload": "{0} Episodio(s) en cola para descargar",
|
||||
"MessageFeedURLWillBe": "URL de la fuente será {0}",
|
||||
"MessageFetching": "Buscando...",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
|
||||
"MessageFollowTheProjectOnGithub": "Sigue el proyecto en GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Se ha completado la descarga del elemento, pero no se ha podido crear el elemento de la biblioteca",
|
||||
"MessageLoading": "Cargando...",
|
||||
"MessageLoadingServerData": "Loading server data...",
|
||||
"MessageMarkAsFinished": "Marcar como Terminado",
|
||||
"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.",
|
||||
"MessageNoBookmarks": "Sin Marcadores",
|
||||
"MessageNoChapters": "Sin Capítulos",
|
||||
"MessageNoItems": "Sin Elementos",
|
||||
"MessageNoItemsFound": "Ningún Elemento Encontrado",
|
||||
"MessageNoListeningSessions": "Ninguna Session Escuchada",
|
||||
"MessageNoMediaFolders": "No Media Folders",
|
||||
"MessageNoNetworkConnection": "No network connection",
|
||||
"MessageLoadingServerData": "Cargando datos del servidor...",
|
||||
"MessageMarkAsFinished": "Marcar como terminado",
|
||||
"MessageMediaLinkedToADifferentServer": "El contenido está vinculado a un servidor de Audiobookshelf en una dirección diferente ({0}). El progreso se sincronizará cuando se conecte a esta dirección de servidor.",
|
||||
"MessageMediaLinkedToADifferentUser": "El contenido está vinculado a este servidor pero fue descargado por otro usuario. El progreso solo se sincronizará con el usuario que lo descargó.",
|
||||
"MessageMediaLinkedToServer": "Vinculado al servidor {0}",
|
||||
"MessageMediaLinkedToThisServer": "El contenido descargado está vinculado a este servidor",
|
||||
"MessageMediaNotLinkedToServer": "El contenido multimedia no está vinculado a un servidor de Audiobookshelf. No se sincronizará ningún progreso.",
|
||||
"MessageNoBookmarks": "Sin marcadores",
|
||||
"MessageNoChapters": "Sin capítulos",
|
||||
"MessageNoItems": "Sin elementos",
|
||||
"MessageNoItemsFound": "Ningún elemento encontrado",
|
||||
"MessageNoListeningSessions": "Ninguna sesión escuchada",
|
||||
"MessageNoMediaFolders": "Sin carpetas multimedia",
|
||||
"MessageNoNetworkConnection": "Sin conexión de red",
|
||||
"MessageNoPodcastsFound": "Ningún podcast encontrado",
|
||||
"MessageNoSeries": "No series",
|
||||
"MessageNoSeries": "Ninguna serie",
|
||||
"MessageNoUpdatesWereNecessary": "No fue necesario actualizar",
|
||||
"MessageNoUserPlaylists": "No tienes lista de reproducciones",
|
||||
"MessageNoUserPlaylists": "No tienes ninguna lista de reproducción",
|
||||
"MessageReportBugsAndContribute": "Reporte erres, solicite funciones y contribuya en",
|
||||
"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",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Conexión de socket a través de red celular de tarifa por consumo",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket conectado a través de una red Wi-Fi con tarificación por consumo",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket conectado a través de red celular sin tarificación por consumo",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket conectado a través de una red Wi-Fi sin tarificación por consumo",
|
||||
"MessageSocketNotConnected": "Socket no conectado",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Advertencia: La mayoría de las aplicaciones de podcast requieren que la URL de la fuente RSS use HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Advertencia: 1 o más de sus episodios no tienen fecha de publicación. Algunas aplicaciones de podcast lo requieren.",
|
||||
"ToastBookmarkCreateFailed": "Error al crear marcador",
|
||||
"ToastBookmarkRemoveFailed": "Error al eliminar marcador",
|
||||
"ToastBookmarkUpdateFailed": "Error al actualizar el marcador",
|
||||
"ToastItemMarkedAsFinishedFailed": "Error al marcar como Terminado",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Error al marcar como No Terminado",
|
||||
"ToastPlaylistCreateFailed": "Error al crear la lista de reproducción.",
|
||||
"ToastDownloadNotAllowedOnCellular": "Las descargas no están permitidas con datos móviles",
|
||||
"ToastItemMarkedAsFinishedFailed": "Error al marcar como terminado",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "No se ha podido marcar como no finalizado",
|
||||
"ToastPlaylistCreateFailed": "Error al crear la lista de reproducción",
|
||||
"ToastPodcastCreateFailed": "Error al crear podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast creado",
|
||||
"ToastRSSFeedCloseFailed": "Error al cerrar fuente RSS",
|
||||
"ToastRSSFeedCloseSuccess": "Fuente RSS cerrada"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "Fuente RSS cerrada",
|
||||
"ToastStreamingNotAllowedOnCellular": "El streaming no está permitido con datos móviles"
|
||||
}
|
||||
|
||||
+226
@@ -0,0 +1,226 @@
|
||||
{
|
||||
"ButtonAdd": "Lisää",
|
||||
"ButtonAddNewServer": "Lisää uusi palvelin",
|
||||
"ButtonAuthors": "Tekijät",
|
||||
"ButtonBack": "Takaisin",
|
||||
"ButtonCancel": "Peruuta",
|
||||
"ButtonCancelTimer": "Peruuta ajastin",
|
||||
"ButtonClearFilter": "Poista suodatus",
|
||||
"ButtonCloseFeed": "Sulje syöte",
|
||||
"ButtonCollections": "Kokoelmat",
|
||||
"ButtonConnect": "Yhdistä",
|
||||
"ButtonConnectToServer": "Yhdistä palvelimelle",
|
||||
"ButtonCreate": "Luo",
|
||||
"ButtonCreateBookmark": "Luo kirjanmerkki",
|
||||
"ButtonCreateNewPlaylist": "Luo uusi soittolista",
|
||||
"ButtonDelete": "Poista",
|
||||
"ButtonDeleteLocalEpisode": "Poista paikallinen jakso",
|
||||
"ButtonDeleteLocalFile": "Poista paikallinen tiedosto",
|
||||
"ButtonDeleteLocalItem": "Poista paikallinen sisältö",
|
||||
"ButtonDisableAutoTimer": "Sammuta automaattiajastin",
|
||||
"ButtonDisconnect": "Katkaise yhteys",
|
||||
"ButtonGoToWebClient": "Siirry Web-käyttöliittymään",
|
||||
"ButtonHistory": "Historia",
|
||||
"ButtonHome": "Koti",
|
||||
"ButtonIssues": "Ongelmat",
|
||||
"ButtonLatest": "Viimeisimmät",
|
||||
"ButtonLibrary": "Kirjasto",
|
||||
"ButtonLocalMedia": "Paikallinen media",
|
||||
"ButtonManageLocalFiles": "Hallitse paikallsiia tiedostoja",
|
||||
"ButtonNewFolder": "Uusi kansio",
|
||||
"ButtonNextEpisode": "Seuraava jakso",
|
||||
"ButtonOpenFeed": "Avaa syöte",
|
||||
"ButtonOverride": "Ohita",
|
||||
"ButtonPause": "Pysäytä",
|
||||
"ButtonPlay": "Toista",
|
||||
"ButtonPlayEpisode": "Toista jakso",
|
||||
"ButtonPlaying": "Toistetaan",
|
||||
"ButtonPlaylists": "Soittolistat",
|
||||
"ButtonRead": "Lue",
|
||||
"ButtonRemove": "Poista",
|
||||
"ButtonRemoveFromServer": "Poista palvelimelta",
|
||||
"ButtonSave": "Tallenna",
|
||||
"ButtonSaveOrder": "Tallenna järjestys",
|
||||
"ButtonSearch": "Etsi",
|
||||
"ButtonSendEbookToDevice": "Lähetä kirja lukulaitteeseen",
|
||||
"ButtonSeries": "Sarjat",
|
||||
"ButtonSetTimer": "Aseta ajastin",
|
||||
"ButtonStream": "Suoratoisto",
|
||||
"ButtonSubmit": "Lähetä",
|
||||
"ButtonSwitchServerUser": "Vaihda palvelinta/käyttäjää",
|
||||
"ButtonUserStats": "Käyttäjän tilastot",
|
||||
"ButtonYes": "Kyllä",
|
||||
"HeaderAccount": "Tili",
|
||||
"HeaderAdvanced": "Edistynyt",
|
||||
"HeaderAudioTracks": "Ääniraidat",
|
||||
"HeaderChapters": "Luvut",
|
||||
"HeaderCollection": "Kokoelma",
|
||||
"HeaderCollectionItems": "Kokoelman osat",
|
||||
"HeaderConnectionStatus": "Kokoelman tila",
|
||||
"HeaderDataSettings": "Tietojen asetukset",
|
||||
"HeaderDetails": "Yksityiskohdat",
|
||||
"HeaderDownloads": "Lataukset",
|
||||
"HeaderEbookFiles": "E-kirjatiedostot",
|
||||
"HeaderEpisodes": "Jaksot",
|
||||
"HeaderEreaderSettings": "E-lukijan asetukset",
|
||||
"HeaderLatestEpisodes": "Viimeisimmät jaksot",
|
||||
"HeaderLibraries": "Kirjastot",
|
||||
"HeaderLocalFolders": "Paikalliset kansiot",
|
||||
"HeaderLocalLibraryItems": "Paikallisen kirjaston niteet",
|
||||
"HeaderNewPlaylist": "Uusi soittolista",
|
||||
"HeaderOpenRSSFeed": "Avaa RSS-syöte",
|
||||
"HeaderPlaybackSettings": "Toistoasetukset",
|
||||
"HeaderPlaylist": "Soittolista",
|
||||
"HeaderPlaylistItems": "Soittolistan kohteet",
|
||||
"HeaderRSSFeed": "RSS syöte",
|
||||
"HeaderRSSFeedGeneral": "RSS yksityiskohdat",
|
||||
"HeaderRSSFeedIsOpen": "RSS syöte on avoinna",
|
||||
"HeaderSelectDownloadLocation": "Valitse tallennussijainti",
|
||||
"HeaderSettings": "Asetukset",
|
||||
"HeaderSleepTimer": "Uniajastin",
|
||||
"HeaderSleepTimerSettings": "Uniajastimen asetukset",
|
||||
"HeaderStatsMinutesListeningChart": "Kuunteluminuutit (viim. 7 pv)",
|
||||
"HeaderStatsRecentSessions": "Viimeaikaiset istunnot",
|
||||
"HeaderTableOfContents": "Sisällysluettelo",
|
||||
"HeaderUserInterfaceSettings": "Käyttöliittymän asetukset",
|
||||
"HeaderYourStats": "Tilastosi",
|
||||
"LabelAddToPlaylist": "Lisää soittolistaan",
|
||||
"LabelAdded": "Lisätty",
|
||||
"LabelAddedAt": "Lisätty listalle",
|
||||
"LabelAll": "Kaikki",
|
||||
"LabelAllowSeekingOnMediaControls": "Salli kelaaminen ilmoituksen säätimillä",
|
||||
"LabelAlways": "Aina",
|
||||
"LabelAskConfirmation": "Kysy varmistusta",
|
||||
"LabelAuthor": "Tekijä",
|
||||
"LabelAuthorFirstLast": "Tekijä (Etunimi Sukunimi)",
|
||||
"LabelAuthorLastFirst": "Tekijä (Sukunimi, Etunimi)",
|
||||
"LabelAuthors": "Tekijät",
|
||||
"LabelAutoDownloadEpisodes": "Lataa jaksot automaattisesti",
|
||||
"LabelAutoRewindTime": "Automaattisen takaisinkelauksen kesto",
|
||||
"LabelAutoSleepTimer": "Automaattinen uniajastin",
|
||||
"LabelAutoSleepTimerAutoRewind": "Automaattisen uniajastimen automaattinen takaisinkelaus",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Kun automaattinen uniajastin päättyy, ensi kerralla toistetaan osa kuunenltua uudelleen.",
|
||||
"LabelAutoSleepTimerHelp": "Toiston alkaessa tällä aikävälillä unikytkin kytketään automaattisesti käyttöön.",
|
||||
"LabelBooks": "Kirjat",
|
||||
"LabelChapterTrack": "Luvun raita",
|
||||
"LabelChapters": "Luvut",
|
||||
"LabelClosePlayer": "Sulje soitin",
|
||||
"LabelCollapseSeries": "Pienennä sarja",
|
||||
"LabelComplete": "Valmis",
|
||||
"LabelContinueBooks": "Jatka kirjoja",
|
||||
"LabelContinueEpisodes": "Jatka jaksoja",
|
||||
"LabelContinueListening": "Jatka kuuntelua",
|
||||
"LabelContinueReading": "Jatka lukemista",
|
||||
"LabelContinueSeries": "Jatka sarjoja",
|
||||
"LabelCustomTime": "Mukautettu aika",
|
||||
"LabelDescription": "Kuvaus",
|
||||
"LabelDisableAudioFadeOut": "Poista äänen häivytys käytöstä",
|
||||
"LabelDisableAudioFadeOutHelp": "Äänenvoimakkuus alkaa laskea kun uniajastimessa on jäljellä alle minuutti. Laita tämä asetus pois päältä estääksesi sen.",
|
||||
"LabelDisableAutoRewind": "Poista käytöstä automaattinen takaisinkelaus",
|
||||
"LabelDisableShakeToReset": "Poista uniajastimnen nollaus ravistamalla käytöstä",
|
||||
"LabelDisableShakeToResetHelp": "Ravistamalla laitettasi uniajastimen kuluessa tai enintään kaksi minuuttia sen loppumisen jälkeen uudistaa ajastimen.",
|
||||
"LabelDownload": "Lataa",
|
||||
"LabelDownloadUsingCellular": "Lataa käyttäen mobiilidataa",
|
||||
"LabelDownloaded": "Ladatut",
|
||||
"LabelDuration": "Kesto",
|
||||
"LabelEbook": "E-kirja",
|
||||
"LabelEbooks": "E-kirjat",
|
||||
"LabelEnable": "Ota käyttöön",
|
||||
"LabelEndOfChapter": "Luvun loppu",
|
||||
"LabelEpisode": "Jakso",
|
||||
"LabelFile": "Tiedosto",
|
||||
"LabelFileBirthtime": "Tiedoston syntymäaika",
|
||||
"LabelFileModified": "Muutettu tiedosto",
|
||||
"LabelFilename": "Tiedostonimi",
|
||||
"LabelFolder": "Kansio",
|
||||
"LabelInProgress": "Kesken",
|
||||
"LabelIncomplete": "Keskeneräinen",
|
||||
"LabelJumpBackwardsTime": "Hyppää taaksepäin ajassa",
|
||||
"LabelJumpForwardsTime": "Hyppää eteenpäin ajassa",
|
||||
"LabelLanguage": "Kieli",
|
||||
"LabelListenAgain": "Kuuntele uudelleen",
|
||||
"LabelLockPlayer": "Lukitse soitin",
|
||||
"LabelMediaType": "Mediatyyppi",
|
||||
"LabelMore": "Lisää",
|
||||
"LabelMoreInfo": "Lisätietoja",
|
||||
"LabelName": "Nimi",
|
||||
"LabelNarrator": "Lukija",
|
||||
"LabelNarrators": "Lukijat",
|
||||
"LabelNever": "Ei koskaan",
|
||||
"LabelNewestAuthors": "Uusimmat kirjailijat",
|
||||
"LabelNewestEpisodes": "Uusimmat jaksot",
|
||||
"LabelNo": "Ei",
|
||||
"LabelPassword": "Salasana",
|
||||
"LabelPath": "Polku",
|
||||
"LabelPlaybackSpeed": "Toistonopeus",
|
||||
"LabelPodcast": "Podcast",
|
||||
"LabelPodcasts": "Podcastit",
|
||||
"LabelPublishYear": "Julkaisuvuosi",
|
||||
"LabelRSSFeedPreventIndexing": "Estä indeksointi",
|
||||
"LabelRead": "Lue",
|
||||
"LabelReadAgain": "Lue uudelleen",
|
||||
"LabelRecentSeries": "Viimeisimmät sarjat",
|
||||
"LabelRecentlyAdded": "Viimeeksi lisätyt",
|
||||
"LabelRemoveFromPlaylist": "Poista soittolistalta",
|
||||
"LabelSeason": "Kausi",
|
||||
"LabelSelectADevice": "Valitse laite",
|
||||
"LabelServerAddress": "Palvelimen osoite",
|
||||
"LabelSetEbookAsPrimary": "Aseta ensisijaiseksi",
|
||||
"LabelSetEbookAsSupplementary": "Aseta täydentäväksi",
|
||||
"LabelShakeSensitivity": "Ravistusherkkyys",
|
||||
"LabelShowAll": "Näytä kaikki",
|
||||
"LabelSize": "Koko",
|
||||
"LabelSleepTimer": "Uniajastin",
|
||||
"LabelStatsDailyAverage": "Päivittäinen keskiarvo",
|
||||
"LabelStatsInARow": "peräjälkeen",
|
||||
"LabelStatsMinutes": "minuuttia",
|
||||
"LabelTheme": "Teema",
|
||||
"LabelThemeDark": "Tumma",
|
||||
"LabelThemeLight": "Kirkas",
|
||||
"LabelTimeRemaining": "{0} jäljellä",
|
||||
"LabelTotalSize": "Kokonaiskoko",
|
||||
"LabelType": "Tyyppi",
|
||||
"LabelUseBookshelfView": "Käytä kirjahyllynäkymää",
|
||||
"LabelUser": "Käyttäjä",
|
||||
"LabelUsername": "Käyttäjätunnus",
|
||||
"LabelYourBookmarks": "Kirjanmerkkisi",
|
||||
"LabelYourProgress": "Edistymisesi",
|
||||
"MessageAndroid10Downloads": "Android 10 ja sitä vanhemmat käyttävät sovelluksen sisäistä tallennustilaa latauksiin.",
|
||||
"MessageAttemptingServerConnection": "Yritetään palvelinyhteyttä...",
|
||||
"MessageAudiobookshelfServerNotConnected": "Audiobookshelf palvelinta ei ole yhdistetty",
|
||||
"MessageBookshelfEmpty": "Kirjahylly on tyhjä",
|
||||
"MessageConfirmDiscardProgress": "Haluatko varmasti nollata edistymisesi?",
|
||||
"MessageConfirmDownloadUsingCellular": "Olet lataamassa mobiilidatan avulla. Tämä voi aiheuttaa operaattorin datamaksuja. Haluatko jatkaa?",
|
||||
"MessageConfirmMarkAsFinished": "Haluatko varmasti merkitä tämän kohteen valmiiksi?",
|
||||
"MessageConfirmRemoveBookmark": "Haluatko varmasti poistaa kirjanmerkin?",
|
||||
"MessageConfirmStreamingUsingCellular": "Olet suoratoistamassa matkapuhelindatan avulla. Tämä voi aiheuttaa operaattorin datamaksuja. Haluatko jatkaa?",
|
||||
"MessageDiscardProgress": "Hylkää edistyminen",
|
||||
"MessageDownloadCompleteProcessing": "Lataus valmis. Käsitellään...",
|
||||
"MessageDownloading": "Ladataan...",
|
||||
"MessageDownloadingEpisode": "Ladataan jaksoa",
|
||||
"MessageEpisodesQueuedForDownload": "{0} jaksoa on latausjonossa",
|
||||
"MessageFetching": "Haetaan...",
|
||||
"MessageFollowTheProjectOnGithub": "Seuraa projektia Githubissa",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Kohteen lataus on valmis, mutta kirjastokohteen luominen epäonnistui",
|
||||
"MessageLoading": "Ladataan...",
|
||||
"MessageLoadingServerData": "Ladataan palvelintietoja...",
|
||||
"MessageMarkAsFinished": "Merkitse valmiiksi",
|
||||
"MessageNoBookmarks": "Ei kirjanmerkkejä",
|
||||
"MessageNoItems": "Ei kohteita",
|
||||
"MessageNoItemsFound": "Kohteita ei löytynyt",
|
||||
"MessageNoMediaFolders": "Ei mediakansioita",
|
||||
"MessageNoNetworkConnection": "Ei verkkoyhteyttä",
|
||||
"MessageNoPodcastsFound": "Podcasteja ei löytynyt",
|
||||
"MessageNoSeries": "Ei sarjoja",
|
||||
"MessageNoUserPlaylists": "Sinulla ei ole soittolistoja",
|
||||
"MessageReportBugsAndContribute": "Ilmoita virheistä, toivo ominaisuuksia ja osallistu",
|
||||
"ToastBookmarkCreateFailed": "Kirjanmerkin luominen epäonnistui",
|
||||
"ToastBookmarkRemoveFailed": "Kirjanmerkin poistaminen epäonnistui",
|
||||
"ToastBookmarkUpdateFailed": "Kirjanmerkin päivittäminen epäonnistui",
|
||||
"ToastDownloadNotAllowedOnCellular": "Lataaminen ei ole sallittua mobiilidatalla",
|
||||
"ToastItemMarkedAsFinishedFailed": "Valmiiksi merkitseminen epäonnistui",
|
||||
"ToastPlaylistCreateFailed": "Soittolistan luominen epäonnistui",
|
||||
"ToastPodcastCreateFailed": "Podcastin luominen epäonnistui",
|
||||
"ToastPodcastCreateSuccess": "Podcastin luominen onnistui",
|
||||
"ToastStreamingNotAllowedOnCellular": "Suoratoisto ei ole sallittu mobiilidatalla"
|
||||
}
|
||||
+131
-118
@@ -1,133 +1,138 @@
|
||||
{
|
||||
"ButtonAdd": "Ajouter",
|
||||
"ButtonAddNewServer": "Ajouter un Serveur",
|
||||
"ButtonAddNewServer": "Ajouter un serveur",
|
||||
"ButtonAuthors": "Auteurs",
|
||||
"ButtonBack": "Retour",
|
||||
"ButtonBack": "Reculer",
|
||||
"ButtonCancel": "Annuler",
|
||||
"ButtonCancelTimer": "Annuler le Minuteur",
|
||||
"ButtonClearFilter": "Effacer le Filtre",
|
||||
"ButtonCloseFeed": "Fermer le Flux",
|
||||
"ButtonCancelTimer": "Annuler la minuterie",
|
||||
"ButtonClearFilter": "Effacer le filtre",
|
||||
"ButtonCloseFeed": "Fermer le flux",
|
||||
"ButtonCollections": "Collections",
|
||||
"ButtonConnect": "Connexion",
|
||||
"ButtonConnectToServer": "Se Connecter au Serveur",
|
||||
"ButtonConnect": "Connecter",
|
||||
"ButtonConnectToServer": "Se connecter au serveur",
|
||||
"ButtonCreate": "Créer",
|
||||
"ButtonCreateBookmark": "Créer un Marque-pages",
|
||||
"ButtonCreateNewPlaylist": "Créer une Nouvelle Liste de Lecture",
|
||||
"ButtonDelete": "Effacer",
|
||||
"ButtonDeleteLocalEpisode": "Supprimer l'Épisode de l'Appareil",
|
||||
"ButtonDeleteLocalFile": "Supprimer le Fichier de l'Appareil",
|
||||
"ButtonDeleteLocalItem": "Supprimer l'Élément de l'Appareil",
|
||||
"ButtonDisableAutoTimer": "Désactiver le Minuteur Automatique",
|
||||
"ButtonDisconnect": "Déconnexion",
|
||||
"ButtonGoToWebClient": "Ouvrir dans le Navigateur",
|
||||
"ButtonCreateBookmark": "Créer un marque-page",
|
||||
"ButtonCreateNewPlaylist": "Créer une nouvelle liste de lecture",
|
||||
"ButtonDelete": "Supprimer",
|
||||
"ButtonDeleteLocalEpisode": "Supprimer l’épisode de l’appareil",
|
||||
"ButtonDeleteLocalFile": "Supprimer le fichier de l’appareil",
|
||||
"ButtonDeleteLocalItem": "Supprimer l’élément de l’appareil",
|
||||
"ButtonDisableAutoTimer": "Désactiver la minuterie automatique",
|
||||
"ButtonDisconnect": "Déconnecter",
|
||||
"ButtonGoToWebClient": "Ouvrir dans le navigateur",
|
||||
"ButtonHistory": "Historique",
|
||||
"ButtonHome": "Accueil",
|
||||
"ButtonIssues": "Parutions",
|
||||
"ButtonLatest": "Dernière Version",
|
||||
"ButtonIssues": "Problèmes",
|
||||
"ButtonLatest": "Dernière version",
|
||||
"ButtonLibrary": "Bibliothèque",
|
||||
"ButtonLocalMedia": "Medias Locaux",
|
||||
"ButtonManageLocalFiles": "Gérer les Fichiers Locaux",
|
||||
"ButtonNewFolder": "Nouveau Dossier",
|
||||
"ButtonNextEpisode": "Prochain Épisode",
|
||||
"ButtonOpenFeed": "Ouvrir le Flux",
|
||||
"ButtonLocalMedia": "Médias locaux",
|
||||
"ButtonManageLocalFiles": "Gérer les fichiers locaux",
|
||||
"ButtonNewFolder": "Nouveau dossier",
|
||||
"ButtonNextEpisode": "Prochain épisode",
|
||||
"ButtonOpenFeed": "Ouvrir le flux",
|
||||
"ButtonOverride": "Remplacer",
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonPlay": "Écouter",
|
||||
"ButtonPlaying": "En Lecture",
|
||||
"ButtonPlaylists": "Listes de Lecture",
|
||||
"ButtonPlay": "Lire",
|
||||
"ButtonPlayEpisode": "Lire l’épisode",
|
||||
"ButtonPlaying": "En lecture",
|
||||
"ButtonPlaylists": "Listes de lecture",
|
||||
"ButtonRead": "Lire",
|
||||
"ButtonRemove": "Supprimer",
|
||||
"ButtonRemoveFromServer": "Supprimer du Serveur",
|
||||
"ButtonRemoveFromServer": "Retirer du serveur",
|
||||
"ButtonSave": "Sauvegarder",
|
||||
"ButtonSaveOrder": "Sauvegarder l'Ordre",
|
||||
"ButtonSaveOrder": "Sauvegarder l’ordre",
|
||||
"ButtonSearch": "Chercher",
|
||||
"ButtonSendEbookToDevice": "Envoyer le Livre a l'Appareil",
|
||||
"ButtonSendEbookToDevice": "Envoyer le livre à l’appareil",
|
||||
"ButtonSeries": "Séries",
|
||||
"ButtonSetTimer": "Lancer",
|
||||
"ButtonStream": "Streamer",
|
||||
"ButtonSetTimer": "Régler la minuterie",
|
||||
"ButtonStream": "Flux",
|
||||
"ButtonSubmit": "Soumettre",
|
||||
"ButtonSwitchServerUser": "Changer de Serveur/Utilisateur",
|
||||
"ButtonUserStats": "Statistiques Utilisateur",
|
||||
"ButtonSwitchServerUser": "Changer de serveur / utilisateur",
|
||||
"ButtonUserStats": "Statistiques utilisateur",
|
||||
"ButtonYes": "Oui",
|
||||
"HeaderAccount": "Compte",
|
||||
"HeaderAdvanced": "Avancé",
|
||||
"HeaderAudioTracks": "Pistes audio",
|
||||
"HeaderChapters": "Chapitres",
|
||||
"HeaderCollection": "Collection",
|
||||
"HeaderCollectionItems": "Entrées de la Collection",
|
||||
"HeaderConnectionStatus": "Status de Connexion",
|
||||
"HeaderCollectionItems": "Entrées de la collection",
|
||||
"HeaderConnectionStatus": "Status de connexion",
|
||||
"HeaderDataSettings": "Paramètres de données",
|
||||
"HeaderDetails": "Détails",
|
||||
"HeaderDownloads": "Téléchargements",
|
||||
"HeaderEbookFiles": "Fichier des livres numériques",
|
||||
"HeaderEbookFiles": "Fichiers des livres numériques",
|
||||
"HeaderEpisodes": "Épisodes",
|
||||
"HeaderEreaderSettings": "Options Ereader",
|
||||
"HeaderEreaderSettings": "Paramètres de la liseuse",
|
||||
"HeaderLatestEpisodes": "Dernier épisodes",
|
||||
"HeaderLibraries": "Bibliothèque",
|
||||
"HeaderLocalFolders": "Dossiers Locaux",
|
||||
"HeaderLocalLibraryItems": "Éléments de la Bibliothèque Local",
|
||||
"HeaderNewPlaylist": "Nouvelle Liste de Lecture",
|
||||
"HeaderOpenRSSFeed": "Ouvrir Flux RSS",
|
||||
"HeaderPlaybackSettings": "Paramètres de Lecture",
|
||||
"HeaderLocalFolders": "Dossiers locaux",
|
||||
"HeaderLocalLibraryItems": "Éléments de la bibliothèque locale",
|
||||
"HeaderNewPlaylist": "Nouvelle liste de lecture",
|
||||
"HeaderOpenRSSFeed": "Ouvrir le flux RSS",
|
||||
"HeaderPlaybackSettings": "Paramètres de lecture",
|
||||
"HeaderPlaylist": "Liste de lecture",
|
||||
"HeaderPlaylistItems": "Éléments de la Liste de Lecture",
|
||||
"HeaderRSSFeed": "RSS Feed",
|
||||
"HeaderRSSFeedGeneral": "Détails du Flux RSS",
|
||||
"HeaderRSSFeedIsOpen": "Le Flux RSS est actif",
|
||||
"HeaderSelectDownloadLocation": "Sélectionner le Dossier de Téléchargement",
|
||||
"HeaderPlaylistItems": "Éléments de la liste de lecture",
|
||||
"HeaderRSSFeed": "Flux RSS",
|
||||
"HeaderRSSFeedGeneral": "Détails du flux RSS",
|
||||
"HeaderRSSFeedIsOpen": "Le flux RSS est actif",
|
||||
"HeaderSelectDownloadLocation": "Sélectionner le dossier de téléchargement",
|
||||
"HeaderSettings": "Paramètres",
|
||||
"HeaderSleepTimer": "Minuterie",
|
||||
"HeaderSleepTimerSettings": "Paramètres du Minuteur Nocturne",
|
||||
"HeaderSleepTimerSettings": "Paramètres du minuteur nocturne",
|
||||
"HeaderStatsMinutesListeningChart": "Minutes d’écoute (7 derniers jours)",
|
||||
"HeaderStatsRecentSessions": "Sessions récentes",
|
||||
"HeaderTableOfContents": "Table des Matières",
|
||||
"HeaderUserInterfaceSettings": "Paramètres de l'Interface",
|
||||
"HeaderYourStats": "Vos Statistiques",
|
||||
"HeaderTableOfContents": "Table des matières",
|
||||
"HeaderUserInterfaceSettings": "Paramètres de l'interface",
|
||||
"HeaderYourStats": "Vos statistiques",
|
||||
"LabelAddToPlaylist": "Ajouter à la liste de lecture",
|
||||
"LabelAdded": "Ajouté",
|
||||
"LabelAddedAt": "Date d’ajout",
|
||||
"LabelAddToPlaylist": "Ajouter à la Liste de Lecture",
|
||||
"LabelAll": "Tout",
|
||||
"LabelAllowSeekingOnMediaControls": "Autoriser la Recherche de Position depuis la Notification du Lecteur Multimédia",
|
||||
"LabelAllowSeekingOnMediaControls": "Autoriser la recherche de position depuis la notification du lecteur multimédia",
|
||||
"LabelAlways": "Toujours",
|
||||
"LabelAskConfirmation": "Demander une confirmation",
|
||||
"LabelAuthor": "Auteur",
|
||||
"LabelAuthorFirstLast": "Auteur (Prénom Nom)",
|
||||
"LabelAuthorLastFirst": "Auteur (Nom, Prénom)",
|
||||
"LabelAuthors": "Auteurs",
|
||||
"LabelAutoDownloadEpisodes": "Téléchargement Automatique d’Épisode",
|
||||
"LabelAutoRewindTime": "Saut arrière Automatique",
|
||||
"LabelAutoSleepTimer": "Minuteur Nocturne Automatique",
|
||||
"LabelAutoSleepTimerAutoRewind": "Saut arrière Automatique du Minuteur Nocturne",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Lorsque le minuteur nocturne de termine, relire l'élément fera un saut en arrière.",
|
||||
"LabelAutoDownloadEpisodes": "Téléchargement automatique des épisodes",
|
||||
"LabelAutoRewindTime": "Saut arrière automatique",
|
||||
"LabelAutoSleepTimer": "Minuteur nocturne automatique",
|
||||
"LabelAutoSleepTimerAutoRewind": "Saut arrière automatique du minuteur nocturne",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Lorsque le minuteur nocturne se termine, relire l'élément fera un saut en arrière.",
|
||||
"LabelAutoSleepTimerHelp": "Lorsqu'un éléments est lu entre l'heure de début et de fin, un minuteur nocturne se lance automatiquement.",
|
||||
"LabelBooks": "Livres",
|
||||
"LabelChapterTrack": "Piste des chapitres",
|
||||
"LabelChapters": "Chapitres",
|
||||
"LabelChapterTrack": "Piste des Chapitres",
|
||||
"LabelClosePlayer": "Fermer le lecteur",
|
||||
"LabelCollapseSeries": "Réduire les séries",
|
||||
"LabelComplete": "Complet",
|
||||
"LabelContinueBooks": "Continuer les Livres",
|
||||
"LabelContinueEpisodes": "Continuer les Épisodes",
|
||||
"LabelContinueListening": "Continuer d'Écouter",
|
||||
"LabelContinueEpisodes": "Continuer les épisodes",
|
||||
"LabelContinueListening": "Continuer la lecture",
|
||||
"LabelContinueReading": "Continuer la lecture",
|
||||
"LabelContinueSeries": "Continuer les series",
|
||||
"LabelContinueSeries": "Continuer les séries",
|
||||
"LabelCustomTime": "Temps personalisé",
|
||||
"LabelDescription": "Description",
|
||||
"LabelDisableAudioFadeOut": "Désactiver la diminution automatique du volume",
|
||||
"LabelDisableAudioFadeOutHelp": "Le volume va diminuer lorsqu'il restera moins d'une minute sur le minuteur nocture. Sélectionner pour désactiver la diminution",
|
||||
"LabelDisableAudioFadeOutHelp": "Le volume audio diminuera lorsqu’il restera moins d’une minute avant la mise en veille. Activez ce paramètre pour que le volume ne diminue pas.",
|
||||
"LabelDisableAutoRewind": "Désactiver le saut arrière automatique",
|
||||
"LabelDisableShakeToReset": "Désactiver secouer pour redémarrer",
|
||||
"LabelDisableShakeToResetHelp": "Secouer l'appareil pendant le minuteur OU lorsqu'il ne reste que 2 minutes au minuteur va redémarrer le minuteur. Sélectionner pour désactiver ce paramètre",
|
||||
"LabelDisableShakeToResetHelp": "Si vous secouez votre appareil pendant que la minuterie est en cours OU dans les 2 minutes qui suivent son expiration, alors la minuterie de sommeil sera réinitialisée. Activez ce paramètre pour désactiver la fonction « Secouer pour réinitialiser ».",
|
||||
"LabelDisableVibrateOnReset": "Désactiver la vibration au redémarrage",
|
||||
"LabelDisableVibrateOnResetHelp": "Lorsque le minuteur est redémarré, l'appareil vibre. Sélectionner pour désactiver les vibrations..",
|
||||
"LabelDisableVibrateOnResetHelp": "Lorsque le minuteur est redémarré, l'appareil vibre. Sélectionner pour désactiver les vibrations.",
|
||||
"LabelDiscover": "Découvrir",
|
||||
"LabelDownload": "Téléchargement",
|
||||
"LabelDownloadUsingCellular": "Télécharger via les données mobiles",
|
||||
"LabelDownloaded": "Téléchargé",
|
||||
"LabelDuration": "Durée",
|
||||
"LabelEbook": "Livre numérique",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEbooks": "Livres numériques",
|
||||
"LabelEnable": "Activer",
|
||||
"LabelEnableMp3IndexSeeking": "Activer la recherche par index pour mp3",
|
||||
"LabelEnableMp3IndexSeekingHelp": "Ce paramètres ne devrai être activer que si vous avez des problèmes avec des fichiers mp3 que vous ne pouvez pas chercher. La mauvaise indexation est probablement du au Bitrate Variable (VBR) du fichier MP3. Ce paramètre va forcer l'indexation. Une correspondance Temps-Octet est construit durant la lecture. Dans certains cas, avec de gros fichier MP3, il y aura du délais lors de la recherche vers la fin du fichier.",
|
||||
"LabelEnd": "Fin",
|
||||
"LabelEndOfChapter": "Fin du Chapitre",
|
||||
"LabelEndOfChapter": "Fin du chapitre",
|
||||
"LabelEndTime": "Heure de Fin",
|
||||
"LabelEpisode": "Épisode",
|
||||
"LabelFeedURL": "URL du flux",
|
||||
@@ -137,88 +142,91 @@
|
||||
"LabelFilename": "Nom de fichier",
|
||||
"LabelFinished": "Fini(e)",
|
||||
"LabelFolder": "Dossier",
|
||||
"LabelFontBoldness": "Graisse de la police",
|
||||
"LabelFontScale": "Taille de la police de caractère",
|
||||
"LabelGenre": "Genre",
|
||||
"LabelGenres": "Genres",
|
||||
"LabelHapticFeedback": "Retour haptique",
|
||||
"LabelHasEbook": "Contient un ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHasEbook": "A un livre numérique",
|
||||
"LabelHasSupplementaryEbook": "A un livre numérique supplémentaire",
|
||||
"LabelHeavy": "Puissant",
|
||||
"LabelHigh": "Importante",
|
||||
"LabelHost": "Hôte",
|
||||
"LabelIncomplete": "Incomplet",
|
||||
"LabelInProgress": "En cours",
|
||||
"LabelIncomplete": "Incomplet",
|
||||
"LabelInternalAppStorage": "Stockage Interne de l'application",
|
||||
"LabelJumpBackwardsTime": "Durée du saut arrière",
|
||||
"LabelJumpForwardsTime": "Durée du saut avant",
|
||||
"LabelLanguage": "Langue",
|
||||
"LabelLayout": "Arrangement",
|
||||
"LabelLayout": "Mise en page",
|
||||
"LabelLayoutAuto": "Automatique",
|
||||
"LabelLayoutSinglePage": "Page seul",
|
||||
"LabelLight": "Légé",
|
||||
"LabelLayoutSinglePage": "Page seule",
|
||||
"LabelLight": "Léger",
|
||||
"LabelLineSpacing": "Interligne",
|
||||
"LabelListenAgain": "Ré-écouter",
|
||||
"LabelLocalBooks": "Livres Locaux",
|
||||
"LabelLocalPodcasts": "Podcasts Locaux",
|
||||
"LabelListenAgain": "Écouter à nouveau",
|
||||
"LabelLocalBooks": "Livres locaux",
|
||||
"LabelLocalPodcasts": "Podcasts locaux",
|
||||
"LabelLockOrientation": "Verrouiller l'orientation",
|
||||
"LabelLockPlayer": "Verrouiller le lecteur",
|
||||
"LabelLow": "Basse",
|
||||
"LabelMediaType": "Type de média",
|
||||
"LabelMedium": "Moyenne",
|
||||
"LabelMore": "Plus",
|
||||
"LabelMoreInfo": "Plus d’info",
|
||||
"LabelMoreInfo": "Plus d’infos",
|
||||
"LabelName": "Nom",
|
||||
"LabelNarrator": "Narrateur",
|
||||
"LabelNarrators": "Narrateurs",
|
||||
"LabelNewestAuthors": "Auteurs Recents",
|
||||
"LabelNewestEpisodes": "Épisodes Récents",
|
||||
"LabelNever": "Jamais",
|
||||
"LabelNewestAuthors": "Auteurs récents",
|
||||
"LabelNewestEpisodes": "Épisodes récents",
|
||||
"LabelNo": "Non",
|
||||
"LabelNotFinished": "Non terminé(e)",
|
||||
"LabelNotFinished": "Non terminé",
|
||||
"LabelNotStarted": "Non Démarré(e)",
|
||||
"LabelOff": "Éteint",
|
||||
"LabelPassword": "Mot de passe",
|
||||
"LabelPath": "Chemin",
|
||||
"LabelPlaybackDirect": "Direct",
|
||||
"LabelPlaybackLocal": "Local",
|
||||
"LabelPlaybackSpeed": "Vitesse de Lecture",
|
||||
"LabelPlaybackSpeed": "Vitesse de lecture",
|
||||
"LabelPlaybackTranscode": "Transcoder",
|
||||
"LabelPodcast": "Podcast",
|
||||
"LabelPodcasts": "Podcasts",
|
||||
"LabelPreventIndexing": "Empêcher l’indexation de votre flux par les bases de données iTunes et Google podcast",
|
||||
"LabelProgress": "Progression",
|
||||
"LabelPubDate": "Date de publication",
|
||||
"LabelPublishYear": "Année d’édition",
|
||||
"LabelRead": "Lire",
|
||||
"LabelReadAgain": "Re-lire",
|
||||
"LabelRecentlyAdded": "Ajouts Récents",
|
||||
"LabelRecentSeries": "Series Recentes",
|
||||
"LabelRemoveFromPlaylist": "Supprimer de la Liste de Lecture",
|
||||
"LabelPublishYear": "Année de publication",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Courriel du propriétaire personnalisé",
|
||||
"LabelRSSFeedCustomOwnerName": "Nom propriétaire personnalisé",
|
||||
"LabelRSSFeedPreventIndexing": "Empêcher l’indexation",
|
||||
"LabelRSSFeedSlug": "Identificateur d’adresse du Flux RSS ",
|
||||
"LabelRSSFeedSlug": "Balise URL du flux RSS",
|
||||
"LabelRead": "Lire",
|
||||
"LabelReadAgain": "Lire à nouveau",
|
||||
"LabelRecentSeries": "Séries récentes",
|
||||
"LabelRecentlyAdded": "Ajouts récents",
|
||||
"LabelRemoveFromPlaylist": "Supprimer de la Liste de Lecture",
|
||||
"LabelScaleElapsedTimeBySpeed": "Traduire le temps restant en fonction de la vitesse de lecture",
|
||||
"LabelSeason": "Saison",
|
||||
"LabelSelectADevice": "Sélectionner un Appareil",
|
||||
"LabelSeries": "Séries",
|
||||
"LabelServerAddress": "Adresse du Serveur",
|
||||
"LabelServerAddress": "Adresse du serveur",
|
||||
"LabelSetEbookAsPrimary": "Définir comme principale",
|
||||
"LabelSetEbookAsSupplementary": "Définir comme supplémentaire",
|
||||
"LabelShakeSensitivity": "Sensibilité de la secousse",
|
||||
"LabelShowAll": "Afficher Tout",
|
||||
"LabelShakeSensitivity": "Sensibilité à la secousse",
|
||||
"LabelShowAll": "Tout afficher",
|
||||
"LabelSize": "Taille",
|
||||
"LabelSleepTimer": "Minuterie",
|
||||
"LabelStart": "Démarrer",
|
||||
"LabelStartTime": "Heure de Démarrage",
|
||||
"LabelStatsBestDay": "Meilleur Jour",
|
||||
"LabelStartTime": "Heure de démarrage",
|
||||
"LabelStatsBestDay": "Meilleur jour",
|
||||
"LabelStatsDailyAverage": "Moyenne Journalière",
|
||||
"LabelStatsDays": "Jours",
|
||||
"LabelStatsDaysListened": "Jours d’écoute",
|
||||
"LabelStatsInARow": "d’affilé(s)",
|
||||
"LabelStatsItemsFinished": "Articles terminés",
|
||||
"LabelStatsItemsFinished": "Éléments terminés",
|
||||
"LabelStatsMinutes": "minutes",
|
||||
"LabelStatsMinutesListening": "Minutes d’écoute",
|
||||
"LabelStatsWeekListening": "Écoute de la semaine",
|
||||
"LabelStreamingUsingCellular": "Diffuser via les données mobiles",
|
||||
"LabelTag": "Étiquette",
|
||||
"LabelTags": "Étiquettes",
|
||||
"LabelTheme": "Thème",
|
||||
@@ -226,37 +234,40 @@
|
||||
"LabelThemeLight": "Clair",
|
||||
"LabelTimeRemaining": "{0} restantes",
|
||||
"LabelTitle": "Titre",
|
||||
"LabelTotalSize": "Taille totale",
|
||||
"LabelTotalTrack": "Pistes totale",
|
||||
"LabelTracks": "Pistes",
|
||||
"LabelType": "Type",
|
||||
"LabelUnlockPlayer": "Déverrouiller le Lecteur",
|
||||
"LabelUseBookshelfView": "Utiliser l'interface Bibliothèque",
|
||||
"LabelUnlockPlayer": "Déverrouiller le lecteur",
|
||||
"LabelUseBookshelfView": "Utiliser l'interface bibliothèque",
|
||||
"LabelUser": "Utilisateur",
|
||||
"LabelUsername": "Nom d’utilisateur",
|
||||
"LabelVeryHigh": "Très importante",
|
||||
"LabelVeryLow": "Très peu importante",
|
||||
"LabelYourBookmarks": "Vos marque-pages",
|
||||
"LabelYourBookmarks": "Vos favoris",
|
||||
"LabelYourProgress": "Votre progression",
|
||||
"MessageAndroid10Downloads": "Android 10 et en dessous utiliseront le stockage interne de l'application pour les téléchargements.",
|
||||
"MessageAttemptingServerConnection": "Tentative de connexion...",
|
||||
"MessageAudiobookshelfServerNotConnected": "Serveur Audiobookshelf non connecté",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>Important!</strong> Cette application est faite pour fonctionner avec un serveur Audiobookshelf. L'application ne fournit aucun contenu.",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>Important !</strong> Cette application est faite pour fonctionner avec un serveur Audiobookshelf. L'application ne fournit aucun contenu.",
|
||||
"MessageBookshelfEmpty": "Bibliothèque vide",
|
||||
"MessageConfirmDeleteLocalEpisode": "Supprimer l'épisode local \"{0}\" de votre appareil ? Le fichier sur le serveur ne sera pas affecté.",
|
||||
"MessageConfirmDeleteLocalEpisode": "Retirer l’épisode local « {0} » de votre appareil ? Le fichier sur le serveur ne sera pas affecté.",
|
||||
"MessageConfirmDeleteLocalFiles": "Supprimer les fichiers locaux de cet élément de votre appareil ? Les fichiers sur le serveur ainsi que votre progression ne serons pas affectés.",
|
||||
"MessageConfirmDiscardProgress": "Êtes vous sûre de vouloir supprimer votre progression ?",
|
||||
"MessageConfirmMarkAsFinished": "Êtes vous sûre de vouloir marquer cette élement comme terminé ?",
|
||||
"MessageConfirmRemoveBookmark": "Êtes vous sûre de vouloir supprimer le marque-page ?",
|
||||
"MessageConfirmDiscardProgress": "Êtes-vous sûr·e de vouloir supprimer votre progression ?",
|
||||
"MessageConfirmDownloadUsingCellular": "Vous êtes sur le point d’effectuer un téléchargement en utilisant des données mobiles.Il se peut que des frais de données soient facturés par votre opérateur. Souhaitez-vous continuer ?",
|
||||
"MessageConfirmMarkAsFinished": "Êtes-vous sûr·e de vouloir marquer cette élement comme terminé ?",
|
||||
"MessageConfirmRemoveBookmark": "Êtes-vous sûr·e de vouloir supprimer le marque-page ?",
|
||||
"MessageConfirmStreamingUsingCellular": "Vous êtes sur le point de diffuser du contenu en utilisant des données mobiles. Il se peut que des frais de données soient facturés par votre opérateur. Souhaitez-vous continuer ?",
|
||||
"MessageDiscardProgress": "Supprimer la progression",
|
||||
"MessageDownloadCompleteProcessing": "Téléchargements terminé. Analyse..",
|
||||
"MessageDownloading": "Téléchargement...",
|
||||
"MessageDownloadCompleteProcessing": "Téléchargement terminé. Analyse…",
|
||||
"MessageDownloading": "Téléchargement…",
|
||||
"MessageDownloadingEpisode": "Téléchargement de l’épisode",
|
||||
"MessageEpisodesQueuedForDownload": "{0} épisode(s) mis en file pour téléchargement",
|
||||
"MessageFeedURLWillBe": "l’URL du flux sera {0}",
|
||||
"MessageFetching": "Récupération…",
|
||||
"MessageFollowTheProjectOnGithub": "Suivre le project sur Github",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "L'élément à été téléchargé avec succès, mais impossible de créer l'entré dans la bibliothèque.",
|
||||
"MessageLoading": "Chargement...",
|
||||
"MessageFollowTheProjectOnGithub": "Suivre le projet sur GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Le téléchargement est terminé mais l’ajout de l’élément dans la bibliothèque a échoué",
|
||||
"MessageLoading": "Chargement…",
|
||||
"MessageLoadingServerData": "Chargement des données du serveur...",
|
||||
"MessageMarkAsFinished": "Marquer comme terminé",
|
||||
"MessageMediaLinkedToADifferentServer": "L'élément est lié à un serveur Audiobookshelf sur une autre adresse ({0}). La progression sera synchroniser lors de la connexion au serveur à cette adresse.",
|
||||
@@ -264,33 +275,35 @@
|
||||
"MessageMediaLinkedToServer": "Lié au serveur {0}",
|
||||
"MessageMediaLinkedToThisServer": "L'élément téléchargé est lié à a ce serveur",
|
||||
"MessageMediaNotLinkedToServer": "L'élément n'est lié à aucun serveur. La progression ne sera pas synchronisé.",
|
||||
"MessageNoBookmarks": "Aucun marque-page",
|
||||
"MessageNoBookmarks": "Aucun favoris",
|
||||
"MessageNoChapters": "Aucun chapitre",
|
||||
"MessageNoItems": "Aucun article",
|
||||
"MessageNoItemsFound": "Aucun article trouvé",
|
||||
"MessageNoItemsFound": "Aucun élément trouvé",
|
||||
"MessageNoListeningSessions": "Aucune session d’écoute en cours",
|
||||
"MessageNoMediaFolders": "Aucun dossier multimédia",
|
||||
"MessageNoNetworkConnection": "Pas de connexion réseau",
|
||||
"MessageNoPodcastsFound": "Aucun podcast trouvé",
|
||||
"MessageNoSeries": "No series",
|
||||
"MessageNoSeries": "Aucune série",
|
||||
"MessageNoUpdatesWereNecessary": "Aucune mise à jour n’était nécessaire",
|
||||
"MessageNoUserPlaylists": "Vous n’avez aucune liste de lecture",
|
||||
"MessageReportBugsAndContribute": "Remonter des anomalies, demander des fonctionnalités et contribuer sur",
|
||||
"MessageReportBugsAndContribute": "Signalez des anomalies, demandez des fonctionnalités et contribuez sur",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket connecté via données cellulaire limitée",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connecté via wifi limitée",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connecté via Wi-Fi limitée",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket connecté via données cellulaire",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connecté via wifi",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connecté via Wi-Fi",
|
||||
"MessageSocketNotConnected": "Socket non connecté",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Attention : la majorité des application de podcast nécessite une adresse de flux en HTTPS.",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Attention : un ou plusieurs de vos épisodes ne possèdent pas de date de publication. Certaines applications de podcast le requièrent.",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Attention : la majorité des application de podcast nécessite une adresse de flux HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Attention : un ou plusieurs de vos épisodes ne possèdent pas de date de publication. Certaines applications de podcast le requièrent.",
|
||||
"ToastBookmarkCreateFailed": "Échec de la création de marque-page",
|
||||
"ToastBookmarkRemoveFailed": "Échec de la suppression de marque-page",
|
||||
"ToastBookmarkUpdateFailed": "Échec de la mise à jour de marsue-page",
|
||||
"ToastDownloadNotAllowedOnCellular": "Le téléchargement sur les données mobile n’est pas autorisé",
|
||||
"ToastItemMarkedAsFinishedFailed": "Échec de l’annotation terminée",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Échec de l’annotation non-terminée",
|
||||
"ToastPlaylistCreateFailed": "Échec de la création de la liste de lecture",
|
||||
"ToastPodcastCreateFailed": "Échec de la création du Podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast créé",
|
||||
"ToastPodcastCreateSuccess": "Podcast créé avec succès",
|
||||
"ToastRSSFeedCloseFailed": "Échec de la fermeture du flux RSS",
|
||||
"ToastRSSFeedCloseSuccess": "Flux RSS fermé"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "Flux RSS fermé",
|
||||
"ToastStreamingNotAllowedOnCellular": "La diffusion sur les données mobile n’est pas autorisée"
|
||||
}
|
||||
|
||||
+23
-13
@@ -56,6 +56,7 @@
|
||||
"HeaderCollection": "Collection",
|
||||
"HeaderCollectionItems": "Collection Items",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderDataSettings": "Data Settings",
|
||||
"HeaderDetails": "Details",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Ebook Files",
|
||||
@@ -82,11 +83,13 @@
|
||||
"HeaderTableOfContents": "Table of Contents",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderYourStats": "Your Stats",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAdded": "Added",
|
||||
"LabelAddedAt": "Added At",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAll": "All",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAlways": "Always",
|
||||
"LabelAskConfirmation": "Ask for confirmation",
|
||||
"LabelAuthor": "Author",
|
||||
"LabelAuthorFirstLast": "Author (First Last)",
|
||||
"LabelAuthorLastFirst": "Author (Last, First)",
|
||||
@@ -98,8 +101,8 @@
|
||||
"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.",
|
||||
"LabelBooks": "Books",
|
||||
"LabelChapters": "Chapters",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelChapters": "Chapters",
|
||||
"LabelClosePlayer": "Close player",
|
||||
"LabelCollapseSeries": "Collapse Series",
|
||||
"LabelComplete": "Complete",
|
||||
@@ -119,6 +122,7 @@
|
||||
"LabelDisableVibrateOnResetHelp": "When the sleep timer gets reset your device will vibrate. Enable this setting to not vibrate when the sleep timer resets.",
|
||||
"LabelDiscover": "Discover",
|
||||
"LabelDownload": "Download",
|
||||
"LabelDownloadUsingCellular": "Download using Cellular",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDuration": "Duration",
|
||||
"LabelEbook": "Ebook",
|
||||
@@ -146,8 +150,8 @@
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHigh": "High",
|
||||
"LabelHost": "Host",
|
||||
"LabelIncomplete": "Incomplete",
|
||||
"LabelInProgress": "In Progress",
|
||||
"LabelIncomplete": "Incomplete",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
@@ -170,6 +174,7 @@
|
||||
"LabelName": "Name",
|
||||
"LabelNarrator": "Narrator",
|
||||
"LabelNarrators": "Narrators",
|
||||
"LabelNever": "Never",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNo": "No",
|
||||
@@ -188,15 +193,15 @@
|
||||
"LabelProgress": "Progress",
|
||||
"LabelPubDate": "Pub Date",
|
||||
"LabelPublishYear": "Publish Year",
|
||||
"LabelRead": "Read",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
||||
"LabelRSSFeedSlug": "RSS Feed Slug",
|
||||
"LabelRead": "Read",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelSeason": "Season",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
@@ -219,6 +224,7 @@
|
||||
"LabelStatsMinutes": "minutes",
|
||||
"LabelStatsMinutesListening": "Minutes Listening",
|
||||
"LabelStatsWeekListening": "Week Listening",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Tag",
|
||||
"LabelTags": "Tags",
|
||||
"LabelTheme": "Theme",
|
||||
@@ -245,8 +251,10 @@
|
||||
"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?",
|
||||
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
|
||||
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Discard Progress",
|
||||
"MessageDownloadCompleteProcessing": "Download complete. Processing...",
|
||||
"MessageDownloading": "Downloading...",
|
||||
@@ -254,7 +262,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} Episode(s) queued for download",
|
||||
"MessageFeedURLWillBe": "Feed URL will be {0}",
|
||||
"MessageFetching": "Fetching...",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
|
||||
"MessageLoading": "Loading...",
|
||||
"MessageLoadingServerData": "Loading server data...",
|
||||
@@ -277,20 +285,22 @@
|
||||
"MessageNoUserPlaylists": "You have no playlists",
|
||||
"MessageReportBugsAndContribute": "Report bugs, request features, and contribute on",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket connected over metered cellular",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered wifi",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered Wi-Fi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket connected over unmetered cellular",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered wifi",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered Wi-Fi",
|
||||
"MessageSocketNotConnected": "Socket not connected",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Warning: Most podcast apps will require the RSS feed URL is using HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Warning: 1 or more of your episodes do not have a Pub Date. Some podcast apps require this.",
|
||||
"ToastBookmarkCreateFailed": "Failed to create bookmark",
|
||||
"ToastBookmarkRemoveFailed": "Failed to remove bookmark",
|
||||
"ToastBookmarkUpdateFailed": "Failed to update bookmark",
|
||||
"ToastDownloadNotAllowedOnCellular": "Downloading is not allowed on cellular data",
|
||||
"ToastItemMarkedAsFinishedFailed": "Failed to mark as Finished",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Failed to mark as Not Finished",
|
||||
"ToastPlaylistCreateFailed": "Failed to create playlist",
|
||||
"ToastPodcastCreateFailed": "Failed to create podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast created successfully",
|
||||
"ToastRSSFeedCloseFailed": "Failed to close RSS feed",
|
||||
"ToastRSSFeedCloseSuccess": "RSS feed closed"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS feed closed",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+23
-13
@@ -56,6 +56,7 @@
|
||||
"HeaderCollection": "Collection",
|
||||
"HeaderCollectionItems": "Collection Items",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderDataSettings": "Data Settings",
|
||||
"HeaderDetails": "Details",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Ebook Files",
|
||||
@@ -82,11 +83,13 @@
|
||||
"HeaderTableOfContents": "Table of Contents",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderYourStats": "Your Stats",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAdded": "Added",
|
||||
"LabelAddedAt": "Added At",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAll": "All",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAlways": "Always",
|
||||
"LabelAskConfirmation": "Ask for confirmation",
|
||||
"LabelAuthor": "Author",
|
||||
"LabelAuthorFirstLast": "Author (First Last)",
|
||||
"LabelAuthorLastFirst": "Author (Last, First)",
|
||||
@@ -98,8 +101,8 @@
|
||||
"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.",
|
||||
"LabelBooks": "Books",
|
||||
"LabelChapters": "Chapters",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelChapters": "Chapters",
|
||||
"LabelClosePlayer": "Close player",
|
||||
"LabelCollapseSeries": "Collapse Series",
|
||||
"LabelComplete": "Complete",
|
||||
@@ -119,6 +122,7 @@
|
||||
"LabelDisableVibrateOnResetHelp": "When the sleep timer gets reset your device will vibrate. Enable this setting to not vibrate when the sleep timer resets.",
|
||||
"LabelDiscover": "Discover",
|
||||
"LabelDownload": "Download",
|
||||
"LabelDownloadUsingCellular": "Download using Cellular",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDuration": "Duration",
|
||||
"LabelEbook": "Ebook",
|
||||
@@ -146,8 +150,8 @@
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHigh": "High",
|
||||
"LabelHost": "Host",
|
||||
"LabelIncomplete": "Incomplete",
|
||||
"LabelInProgress": "In Progress",
|
||||
"LabelIncomplete": "Incomplete",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
@@ -170,6 +174,7 @@
|
||||
"LabelName": "Name",
|
||||
"LabelNarrator": "Narrator",
|
||||
"LabelNarrators": "Narrators",
|
||||
"LabelNever": "Never",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNo": "No",
|
||||
@@ -188,15 +193,15 @@
|
||||
"LabelProgress": "Progress",
|
||||
"LabelPubDate": "Pub Date",
|
||||
"LabelPublishYear": "Publish Year",
|
||||
"LabelRead": "Read",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
||||
"LabelRSSFeedSlug": "RSS Feed Slug",
|
||||
"LabelRead": "Read",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelSeason": "Season",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
@@ -219,6 +224,7 @@
|
||||
"LabelStatsMinutes": "minutes",
|
||||
"LabelStatsMinutesListening": "Minutes Listening",
|
||||
"LabelStatsWeekListening": "Week Listening",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Tag",
|
||||
"LabelTags": "Tags",
|
||||
"LabelTheme": "Theme",
|
||||
@@ -245,8 +251,10 @@
|
||||
"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?",
|
||||
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
|
||||
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Discard Progress",
|
||||
"MessageDownloadCompleteProcessing": "Download complete. Processing...",
|
||||
"MessageDownloading": "Downloading...",
|
||||
@@ -254,7 +262,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} Episode(s) queued for download",
|
||||
"MessageFeedURLWillBe": "Feed URL will be {0}",
|
||||
"MessageFetching": "Fetching...",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
|
||||
"MessageLoading": "Loading...",
|
||||
"MessageLoadingServerData": "Loading server data...",
|
||||
@@ -277,20 +285,22 @@
|
||||
"MessageNoUserPlaylists": "You have no playlists",
|
||||
"MessageReportBugsAndContribute": "Report bugs, request features, and contribute on",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket connected over metered cellular",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered wifi",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered Wi-Fi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket connected over unmetered cellular",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered wifi",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered Wi-Fi",
|
||||
"MessageSocketNotConnected": "Socket not connected",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Warning: Most podcast apps will require the RSS feed URL is using HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Warning: 1 or more of your episodes do not have a Pub Date. Some podcast apps require this.",
|
||||
"ToastBookmarkCreateFailed": "Failed to create bookmark",
|
||||
"ToastBookmarkRemoveFailed": "Failed to remove bookmark",
|
||||
"ToastBookmarkUpdateFailed": "Failed to update bookmark",
|
||||
"ToastDownloadNotAllowedOnCellular": "Downloading is not allowed on cellular data",
|
||||
"ToastItemMarkedAsFinishedFailed": "Failed to mark as Finished",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Failed to mark as Not Finished",
|
||||
"ToastPlaylistCreateFailed": "Failed to create playlist",
|
||||
"ToastPodcastCreateFailed": "Failed to create podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast created successfully",
|
||||
"ToastRSSFeedCloseFailed": "Failed to close RSS feed",
|
||||
"ToastRSSFeedCloseSuccess": "RSS feed closed"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS feed closed",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+91
-79
@@ -1,142 +1,147 @@
|
||||
{
|
||||
"ButtonAdd": "Dodaj",
|
||||
"ButtonAddNewServer": "Add New Server",
|
||||
"ButtonAddNewServer": "dodati novi poslužitelj",
|
||||
"ButtonAuthors": "Autori",
|
||||
"ButtonBack": "Back",
|
||||
"ButtonBack": "Natrag",
|
||||
"ButtonCancel": "Odustani",
|
||||
"ButtonCancelTimer": "Cancel Timer",
|
||||
"ButtonClearFilter": "Clear Filter",
|
||||
"ButtonCancelTimer": "poništi mjerač vremena",
|
||||
"ButtonClearFilter": "Poništi filter",
|
||||
"ButtonCloseFeed": "Zatvori feed",
|
||||
"ButtonCollections": "Kolekcije",
|
||||
"ButtonConnect": "Connect",
|
||||
"ButtonConnectToServer": "Connect to Server",
|
||||
"ButtonConnect": "spojiti",
|
||||
"ButtonConnectToServer": "spojiti se na poslužitelj",
|
||||
"ButtonCreate": "Napravi",
|
||||
"ButtonCreateBookmark": "Create Bookmark",
|
||||
"ButtonCreateNewPlaylist": "Create New Playlist",
|
||||
"ButtonCreateBookmark": "stvoriti oznaku",
|
||||
"ButtonCreateNewPlaylist": "stvoriti novu listu muzike",
|
||||
"ButtonDelete": "Obriši",
|
||||
"ButtonDeleteLocalEpisode": "Delete local episode",
|
||||
"ButtonDeleteLocalEpisode": "izbrisati lokalnu epizosdu",
|
||||
"ButtonDeleteLocalFile": "Delete local file",
|
||||
"ButtonDeleteLocalItem": "Delete local item",
|
||||
"ButtonDisableAutoTimer": "Disable Auto Timer",
|
||||
"ButtonDisconnect": "Disconnect",
|
||||
"ButtonDisableAutoTimer": "poništiti automatski mjerač vremena",
|
||||
"ButtonDisconnect": "odvezati se",
|
||||
"ButtonGoToWebClient": "Go to Web Client",
|
||||
"ButtonHistory": "History",
|
||||
"ButtonHistory": "istorija",
|
||||
"ButtonHome": "Početna stranica",
|
||||
"ButtonIssues": "Problemi",
|
||||
"ButtonLatest": "Najnovije",
|
||||
"ButtonLibrary": "Biblioteka",
|
||||
"ButtonLocalMedia": "Local Media",
|
||||
"ButtonManageLocalFiles": "Manage Local Files",
|
||||
"ButtonNewFolder": "New Folder",
|
||||
"ButtonNextEpisode": "Next Episode",
|
||||
"ButtonManageLocalFiles": "uredi lokane fajlove",
|
||||
"ButtonNewFolder": "novi folder",
|
||||
"ButtonNextEpisode": "sledeća epizoda",
|
||||
"ButtonOpenFeed": "Otvori feed",
|
||||
"ButtonOverride": "Override",
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonPlay": "Pokreni",
|
||||
"ButtonPlaying": "Playing",
|
||||
"ButtonPlaylists": "Playlists",
|
||||
"ButtonPlayEpisode": "Pokreni epizodu",
|
||||
"ButtonPlaying": "pušteno",
|
||||
"ButtonPlaylists": "plejliste",
|
||||
"ButtonRead": "Pročitaj",
|
||||
"ButtonRemove": "Ukloni",
|
||||
"ButtonRemoveFromServer": "Remove from Server",
|
||||
"ButtonRemoveFromServer": "ukloni sa servera",
|
||||
"ButtonSave": "Spremi",
|
||||
"ButtonSaveOrder": "Save Order",
|
||||
"ButtonSaveOrder": "sačuvaj narudžbu",
|
||||
"ButtonSearch": "Traži",
|
||||
"ButtonSendEbookToDevice": "Send Ebook to Device",
|
||||
"ButtonSendEbookToDevice": "pošalji elektronsku knjigu uređaju",
|
||||
"ButtonSeries": "Serije",
|
||||
"ButtonSetTimer": "Set Timer",
|
||||
"ButtonStream": "Stream",
|
||||
"ButtonStream": "lajvuj",
|
||||
"ButtonSubmit": "Submit",
|
||||
"ButtonSwitchServerUser": "Switch Server/User",
|
||||
"ButtonSwitchServerUser": "promeni server/korisnika",
|
||||
"ButtonUserStats": "User Stats",
|
||||
"ButtonYes": "Da",
|
||||
"HeaderAccount": "Korisnički račun",
|
||||
"HeaderAdvanced": "Napredno",
|
||||
"HeaderAudioTracks": "Audio Tracks",
|
||||
"HeaderAudioTracks": "audio trake",
|
||||
"HeaderChapters": "Poglavlja",
|
||||
"HeaderCollection": "Kolekcija",
|
||||
"HeaderCollectionItems": "Stvari u kolekciji",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderConnectionStatus": "status konekcije",
|
||||
"HeaderDataSettings": "podešavanja podataka",
|
||||
"HeaderDetails": "Detalji",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Ebook Files",
|
||||
"HeaderEbookFiles": "fajlovi elektronske knjige",
|
||||
"HeaderEpisodes": "Epizode",
|
||||
"HeaderEreaderSettings": "Ereader Settings",
|
||||
"HeaderEreaderSettings": "podešavanje elektronskog čitača",
|
||||
"HeaderLatestEpisodes": "Najnovije epizode",
|
||||
"HeaderLibraries": "Biblioteke",
|
||||
"HeaderLocalFolders": "Local Folders",
|
||||
"HeaderLocalLibraryItems": "Local Library Items",
|
||||
"HeaderNewPlaylist": "New Playlist",
|
||||
"HeaderLocalFolders": "lokalni folderi",
|
||||
"HeaderLocalLibraryItems": "lokalne stvari iz biblioteke",
|
||||
"HeaderNewPlaylist": "nova plejlista",
|
||||
"HeaderOpenRSSFeed": "Otvori RSS Feed",
|
||||
"HeaderPlaybackSettings": "Playback Settings",
|
||||
"HeaderPlaybackSettings": "podešavanja vraćanja unazad",
|
||||
"HeaderPlaylist": "Playlist",
|
||||
"HeaderPlaylistItems": "Playlist Items",
|
||||
"HeaderRSSFeed": "RSS Feed",
|
||||
"HeaderRSSFeedGeneral": "RSS Details",
|
||||
"HeaderRSSFeedIsOpen": "RSS Feed je otvoren",
|
||||
"HeaderSelectDownloadLocation": "Select Download Location",
|
||||
"HeaderSelectDownloadLocation": "izaberi lokaciju preuzimanja",
|
||||
"HeaderSettings": "Postavke",
|
||||
"HeaderSleepTimer": "Sleep Timer",
|
||||
"HeaderSleepTimerSettings": "Sleep Timer Settings",
|
||||
"HeaderSleepTimer": "merač vremena spavanja",
|
||||
"HeaderSleepTimerSettings": "podešavanja merača vremena spavanja",
|
||||
"HeaderStatsMinutesListeningChart": "Minuta odslušanih (posljednjih 7 dana)",
|
||||
"HeaderStatsRecentSessions": "Nedavne sesije",
|
||||
"HeaderTableOfContents": "Table of Contents",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderTableOfContents": "tabela kontenta",
|
||||
"HeaderUserInterfaceSettings": "podešavanja korisničkog interfejsa",
|
||||
"HeaderYourStats": "Tvoja statistika",
|
||||
"LabelAdded": "Added",
|
||||
"LabelAddedAt": "Added At",
|
||||
"LabelAddToPlaylist": "Add to Playlist",
|
||||
"LabelAll": "All",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAdded": "dodato",
|
||||
"LabelAddedAt": "dodato u",
|
||||
"LabelAll": "sve",
|
||||
"LabelAllowSeekingOnMediaControls": "Dozvoljena provera pozicije na medija kontroli notifikacija",
|
||||
"LabelAlways": "uvek",
|
||||
"LabelAskConfirmation": "pitaj za dozvolu",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Author (First Last)",
|
||||
"LabelAuthorLastFirst": "Author (Last, First)",
|
||||
"LabelAuthorFirstLast": "autor (prvi zadnji)",
|
||||
"LabelAuthorLastFirst": "autor (zadnji, prvi)",
|
||||
"LabelAuthors": "Autori",
|
||||
"LabelAutoDownloadEpisodes": "Automatski preuzmi epizode",
|
||||
"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.",
|
||||
"LabelAutoRewindTime": "automatski vrati vreme",
|
||||
"LabelAutoSleepTimer": "automatski merač vremena spavanja",
|
||||
"LabelAutoSleepTimerAutoRewind": "automatski merač vremena spavanja automatski vraćanje unazad",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "kada automatski merač vremena spavanja završi, puštanje stvari opet će automatski vratiti unazad vašu situaciju.",
|
||||
"LabelAutoSleepTimerHelp": "When playing media between the specified start and end times a sleep timer will automatically start.",
|
||||
"LabelBooks": "Knjige",
|
||||
"LabelChapters": "Chapters",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelClosePlayer": "Close player",
|
||||
"LabelChapterTrack": "Praćenje poglavlja",
|
||||
"LabelChapters": "poglavlja",
|
||||
"LabelClosePlayer": "izaberi igrača",
|
||||
"LabelCollapseSeries": "Collapse Series",
|
||||
"LabelComplete": "Complete",
|
||||
"LabelContinueBooks": "Continue Books",
|
||||
"LabelContinueEpisodes": "Continue Episodes",
|
||||
"LabelContinueListening": "Continue Listening",
|
||||
"LabelContinueReading": "Continue Reading",
|
||||
"LabelContinueSeries": "Continue Series",
|
||||
"LabelCustomTime": "Custom time",
|
||||
"LabelComplete": "završeno",
|
||||
"LabelContinueBooks": "nastavi knjige",
|
||||
"LabelContinueEpisodes": "nastavi epizode",
|
||||
"LabelContinueListening": "nastavi slušati",
|
||||
"LabelContinueReading": "nastavi čitati",
|
||||
"LabelContinueSeries": "nastavi serije",
|
||||
"LabelCustomTime": "sopstveno vreme",
|
||||
"LabelDescription": "Opis",
|
||||
"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.",
|
||||
"LabelDisableAudioFadeOutHelp": "Audio zvuk će se početi povećavati kada ima manje od minut merača vremena spavanja.",
|
||||
"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",
|
||||
"LabelDisableShakeToResetHelp": "Tresnja vašeg uređaja dok tajmer radi ili do 2 minuta od prekida tajmera će resetovati tajmer spavanja. Uključi ovo podešavanje da poništiš tresnju za resetovanje.",
|
||||
"LabelDisableVibrateOnReset": "poništi vibriranje kada se resetuje",
|
||||
"LabelDisableVibrateOnResetHelp": "Kada se tajmer spavanja resetuje vaš uređaj će vibrirati. Dozvolite ovo podešavanje da ne vibrira kada se tajmer spavanja resetuje.",
|
||||
"LabelDiscover": "otkriti",
|
||||
"LabelDownload": "Preuzmi",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDownloadUsingCellular": "Download using Cellular",
|
||||
"LabelDownloaded": "preuzeto",
|
||||
"LabelDuration": "Trajanje",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEbook": "elektronska knjiga",
|
||||
"LabelEbooks": "elektronske knjige",
|
||||
"LabelEnable": "Uključi",
|
||||
"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.",
|
||||
"LabelEnd": "Kraj",
|
||||
"LabelEndOfChapter": "End of Chapter",
|
||||
"LabelEndTime": "End time",
|
||||
"LabelEndOfChapter": "kraj poglavlja",
|
||||
"LabelEndTime": "kraj vremena",
|
||||
"LabelEpisode": "Epizoda",
|
||||
"LabelFeedURL": "Feed URL",
|
||||
"LabelFile": "Datoteka",
|
||||
"LabelFileBirthtime": "File Birthtime",
|
||||
"LabelFileModified": "File Modified",
|
||||
"LabelFileModified": "fajl izmenjen",
|
||||
"LabelFilename": "Ime datoteke",
|
||||
"LabelFinished": "Finished",
|
||||
"LabelFolder": "Folder",
|
||||
"LabelFinished": "završen",
|
||||
"LabelFolder": "folder",
|
||||
"LabelFontScale": "Font scale",
|
||||
"LabelGenre": "Genre",
|
||||
"LabelGenres": "Žanrovi",
|
||||
@@ -146,8 +151,8 @@
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHigh": "High",
|
||||
"LabelHost": "Host",
|
||||
"LabelIncomplete": "Nepotpuno",
|
||||
"LabelInProgress": "U tijeku",
|
||||
"LabelIncomplete": "Nepotpuno",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
@@ -170,6 +175,7 @@
|
||||
"LabelName": "Ime",
|
||||
"LabelNarrator": "Narrator",
|
||||
"LabelNarrators": "Naratori",
|
||||
"LabelNever": "Never",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNo": "No",
|
||||
@@ -188,15 +194,15 @@
|
||||
"LabelProgress": "Napredak",
|
||||
"LabelPubDate": "Datam izdavanja",
|
||||
"LabelPublishYear": "Godina izdavanja",
|
||||
"LabelRead": "Read",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
||||
"LabelRSSFeedSlug": "RSS Feed Slug",
|
||||
"LabelRead": "Read",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelSeason": "Sezona",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
@@ -219,6 +225,7 @@
|
||||
"LabelStatsMinutes": "minute",
|
||||
"LabelStatsMinutesListening": "Minuta odslušano",
|
||||
"LabelStatsWeekListening": "Tjedno slušanje",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Tag",
|
||||
"LabelTags": "Tags",
|
||||
"LabelTheme": "Theme",
|
||||
@@ -226,6 +233,7 @@
|
||||
"LabelThemeLight": "Light",
|
||||
"LabelTimeRemaining": "{0} preostalo",
|
||||
"LabelTitle": "Naslov",
|
||||
"LabelTotalSize": "Ukupna veličina",
|
||||
"LabelTotalTrack": "Total Track",
|
||||
"LabelTracks": "Tracks",
|
||||
"LabelType": "Tip",
|
||||
@@ -245,8 +253,10 @@
|
||||
"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?",
|
||||
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
|
||||
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Discard Progress",
|
||||
"MessageDownloadCompleteProcessing": "Download complete. Processing...",
|
||||
"MessageDownloading": "Downloading...",
|
||||
@@ -254,7 +264,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} Epizoda/-e u redu za preuzimanje",
|
||||
"MessageFeedURLWillBe": "Feed URL će biti {0}",
|
||||
"MessageFetching": "Dobavljam...",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
|
||||
"MessageLoading": "Učitavam...",
|
||||
"MessageLoadingServerData": "Loading server data...",
|
||||
@@ -277,20 +287,22 @@
|
||||
"MessageNoUserPlaylists": "You have no playlists",
|
||||
"MessageReportBugsAndContribute": "Prijavte bugove, zatržite featurese i doprinosite na",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket connected over metered cellular",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered wifi",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered Wi-Fi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket connected over unmetered cellular",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered wifi",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered Wi-Fi",
|
||||
"MessageSocketNotConnected": "Socket not connected",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Upozorenje: Večina podcasta će trebati RSS feed URL koji koristi HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Upozorenje: 1 ili više vaših epizoda nemaju datum objavljivanja. Neke podcast aplikacije zahtjevaju to.",
|
||||
"ToastBookmarkCreateFailed": "Kreiranje knjižne bilješke neuspješno",
|
||||
"ToastBookmarkRemoveFailed": "Brisanje knjižne bilješke nauspješno",
|
||||
"ToastBookmarkUpdateFailed": "Aktualizacija knjižne bilješke neuspješna",
|
||||
"ToastDownloadNotAllowedOnCellular": "Downloading is not allowed on cellular data",
|
||||
"ToastItemMarkedAsFinishedFailed": "Označi kao Završeno neuspješno",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Označi kao Nezavršeno neuspješno",
|
||||
"ToastPlaylistCreateFailed": "Failed to create playlist",
|
||||
"ToastPodcastCreateFailed": "Neuspješno kreiranje podcasta",
|
||||
"ToastPodcastCreateSuccess": "Podcast uspješno kreiran",
|
||||
"ToastRSSFeedCloseFailed": "Neuspješno zatvaranje RSS Feeda",
|
||||
"ToastRSSFeedCloseSuccess": "RSS Feed zatvoren"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS Feed zatvoren",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+21
-11
@@ -56,6 +56,7 @@
|
||||
"HeaderCollection": "Gyűjtemény",
|
||||
"HeaderCollectionItems": "Gyűjtemény elemek",
|
||||
"HeaderConnectionStatus": "Kapcsolat állapota",
|
||||
"HeaderDataSettings": "Data Settings",
|
||||
"HeaderDetails": "Részletek",
|
||||
"HeaderDownloads": "Letöltések",
|
||||
"HeaderEbookFiles": "E-könyv fájlok",
|
||||
@@ -82,11 +83,13 @@
|
||||
"HeaderTableOfContents": "Tartalomjegyzék",
|
||||
"HeaderUserInterfaceSettings": "Felhasználói felület beállításai",
|
||||
"HeaderYourStats": "Saját statisztikák",
|
||||
"LabelAddToPlaylist": "Hozzáadás a lejátszási listához",
|
||||
"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",
|
||||
"LabelAlways": "Always",
|
||||
"LabelAskConfirmation": "Ask for confirmation",
|
||||
"LabelAuthor": "Szerző",
|
||||
"LabelAuthorFirstLast": "Szerző (Keresztnév Vezetéknév)",
|
||||
"LabelAuthorLastFirst": "Szerző (Vezetéknév, Keresztnév)",
|
||||
@@ -98,8 +101,8 @@
|
||||
"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",
|
||||
"LabelChapters": "Fejezetek",
|
||||
"LabelClosePlayer": "Lejátszó bezárása",
|
||||
"LabelCollapseSeries": "Sorozatok összecsukása",
|
||||
"LabelComplete": "Kész",
|
||||
@@ -119,6 +122,7 @@
|
||||
"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",
|
||||
"LabelDownloadUsingCellular": "Download using Cellular",
|
||||
"LabelDownloaded": "Letöltve",
|
||||
"LabelDuration": "Időtartam",
|
||||
"LabelEbook": "E-könyv",
|
||||
@@ -146,8 +150,8 @@
|
||||
"LabelHeavy": "Nehéz",
|
||||
"LabelHigh": "Magas",
|
||||
"LabelHost": "Házigazda",
|
||||
"LabelIncomplete": "Befejezetlen",
|
||||
"LabelInProgress": "Folyamatban",
|
||||
"LabelIncomplete": "Befejezetlen",
|
||||
"LabelInternalAppStorage": "Belső alkalmazástároló",
|
||||
"LabelJumpBackwardsTime": "Visszaugrás ideje",
|
||||
"LabelJumpForwardsTime": "Előreugrás ideje",
|
||||
@@ -170,6 +174,7 @@
|
||||
"LabelName": "Név",
|
||||
"LabelNarrator": "Előadó",
|
||||
"LabelNarrators": "Előadók",
|
||||
"LabelNever": "Never",
|
||||
"LabelNewestAuthors": "Legújabb szerzők",
|
||||
"LabelNewestEpisodes": "Legújabb epizódok",
|
||||
"LabelNo": "Nem",
|
||||
@@ -188,15 +193,15 @@
|
||||
"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",
|
||||
"LabelRead": "Olvasás",
|
||||
"LabelReadAgain": "Újraolvasás",
|
||||
"LabelRecentSeries": "Legutóbbi sorozatok",
|
||||
"LabelRecentlyAdded": "Legutóbb hozzáadva",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelScaleElapsedTimeBySpeed": "Eltelt idő skálázása sebesség szerint",
|
||||
"LabelSeason": "Évad",
|
||||
"LabelSelectADevice": "Eszköz kiválasztása",
|
||||
@@ -219,6 +224,7 @@
|
||||
"LabelStatsMinutes": "perc",
|
||||
"LabelStatsMinutesListening": "Hallgatás percekben",
|
||||
"LabelStatsWeekListening": "Heti hallgatás",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Címke",
|
||||
"LabelTags": "Címkék",
|
||||
"LabelTheme": "Téma",
|
||||
@@ -245,8 +251,10 @@
|
||||
"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?",
|
||||
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageConfirmMarkAsFinished": "Biztosan befejezettnek jelöli ezt az elemet?",
|
||||
"MessageConfirmRemoveBookmark": "Biztosan eltávolítja a könyvjelzőt?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Haladás elvetése",
|
||||
"MessageDownloadCompleteProcessing": "Letöltés kész. Feldolgozás...",
|
||||
"MessageDownloading": "Letöltés...",
|
||||
@@ -254,7 +262,7 @@
|
||||
"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",
|
||||
"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...",
|
||||
@@ -286,11 +294,13 @@
|
||||
"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",
|
||||
"ToastDownloadNotAllowedOnCellular": "Downloading is not allowed on cellular data",
|
||||
"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"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "Az RSS hírcsatorna sikeresen bezárva",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+148
-135
@@ -1,76 +1,78 @@
|
||||
{
|
||||
"ButtonAdd": "Aggiungi",
|
||||
"ButtonAddNewServer": "Aggiungi Nuovo Server",
|
||||
"ButtonAddNewServer": "Aggiungi un nuovo server",
|
||||
"ButtonAuthors": "Autori",
|
||||
"ButtonBack": "Indietro",
|
||||
"ButtonCancel": "Cancella",
|
||||
"ButtonCancelTimer": "Cancella Timer",
|
||||
"ButtonClearFilter": "Elimina Filtri",
|
||||
"ButtonCloseFeed": "Chudi i Feed",
|
||||
"ButtonCancelTimer": "Annulla il timer",
|
||||
"ButtonClearFilter": "Elimina filtri",
|
||||
"ButtonCloseFeed": "Chiudi flusso",
|
||||
"ButtonCollections": "Raccolte",
|
||||
"ButtonConnect": "Connetti",
|
||||
"ButtonConnectToServer": "Connetti al Server",
|
||||
"ButtonConnectToServer": "Connetti al server",
|
||||
"ButtonCreate": "Crea",
|
||||
"ButtonCreateBookmark": "Crea Segnalibro",
|
||||
"ButtonCreateNewPlaylist": "Crea Nuova Playlist",
|
||||
"ButtonCreateBookmark": "Crea un segnalibro",
|
||||
"ButtonCreateNewPlaylist": "Crea una nuova playlist",
|
||||
"ButtonDelete": "Elimina",
|
||||
"ButtonDeleteLocalEpisode": "Cancella episodio locale",
|
||||
"ButtonDeleteLocalFile": "Elimina File locale",
|
||||
"ButtonDeleteLocalItem": "Elimina oggetto locale",
|
||||
"ButtonDisableAutoTimer": "Disattiva Auto Timer",
|
||||
"ButtonDeleteLocalFile": "Elimina il file locale",
|
||||
"ButtonDeleteLocalItem": "Elimina l'oggetto locale",
|
||||
"ButtonDisableAutoTimer": "Disattiva il timer automatico",
|
||||
"ButtonDisconnect": "Disconnetti",
|
||||
"ButtonGoToWebClient": "Apri il Web Client",
|
||||
"ButtonGoToWebClient": "Apri il client web",
|
||||
"ButtonHistory": "Cronologia",
|
||||
"ButtonHome": "Home",
|
||||
"ButtonHome": "Pagina principale",
|
||||
"ButtonIssues": "Errori",
|
||||
"ButtonLatest": "Ultimi",
|
||||
"ButtonLibrary": "Libreria",
|
||||
"ButtonLocalMedia": "Media Locali",
|
||||
"ButtonManageLocalFiles": "Gestisci file Locali",
|
||||
"ButtonNewFolder": "Nuova Cartella",
|
||||
"ButtonNextEpisode": "Prossimo Episodio",
|
||||
"ButtonOpenFeed": "Apri Feed",
|
||||
"ButtonLibrary": "Biblioteca",
|
||||
"ButtonLocalMedia": "Media locali",
|
||||
"ButtonManageLocalFiles": "Gestisci file locali",
|
||||
"ButtonNewFolder": "Nuova cartella",
|
||||
"ButtonNextEpisode": "Prossimo episodio",
|
||||
"ButtonOpenFeed": "Apri il flusso",
|
||||
"ButtonOverride": "Oltrepassa",
|
||||
"ButtonPause": "Pausa",
|
||||
"ButtonPlay": "Play",
|
||||
"ButtonPlaying": "In Riproduzione",
|
||||
"ButtonPlaylists": "Playlists",
|
||||
"ButtonPlay": "Riproduci",
|
||||
"ButtonPlayEpisode": "Riproduci episodio",
|
||||
"ButtonPlaying": "In riproduzione",
|
||||
"ButtonPlaylists": "Playlist",
|
||||
"ButtonRead": "Leggi",
|
||||
"ButtonRemove": "Rimuovi",
|
||||
"ButtonRemoveFromServer": "Rimuovi dal server",
|
||||
"ButtonSave": "Salva",
|
||||
"ButtonSaveOrder": "Salva Ordine",
|
||||
"ButtonSaveOrder": "Salva l'ordine",
|
||||
"ButtonSearch": "Cerca",
|
||||
"ButtonSendEbookToDevice": "Invia Ebook al Dispositivo",
|
||||
"ButtonSendEbookToDevice": "Invia il libro al dispositivo",
|
||||
"ButtonSeries": "Serie",
|
||||
"ButtonSetTimer": "Imposta Timer",
|
||||
"ButtonStream": "Stream",
|
||||
"ButtonSubmit": "Invia",
|
||||
"ButtonSwitchServerUser": "Cambia Server/Utente",
|
||||
"ButtonUserStats": "Statistiche Utente",
|
||||
"ButtonYes": "Si",
|
||||
"ButtonUserStats": "Statistiche utente",
|
||||
"ButtonYes": "Sì",
|
||||
"HeaderAccount": "Account",
|
||||
"HeaderAdvanced": "Avanzate",
|
||||
"HeaderAudioTracks": "Tracce Audio",
|
||||
"HeaderAudioTracks": "Tracce audio",
|
||||
"HeaderChapters": "Capitoli",
|
||||
"HeaderCollection": "Raccolta",
|
||||
"HeaderCollectionItems": "Elementi della Raccolta",
|
||||
"HeaderConnectionStatus": "Stato Connessione",
|
||||
"HeaderCollectionItems": "Elementi della raccolta",
|
||||
"HeaderConnectionStatus": "Stato connessione",
|
||||
"HeaderDataSettings": "Impostazioni dei dati",
|
||||
"HeaderDetails": "Dettagli",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Ebook File",
|
||||
"HeaderEbookFiles": "File dei libri",
|
||||
"HeaderEpisodes": "Episodi",
|
||||
"HeaderEreaderSettings": "Impostazioni Ereader",
|
||||
"HeaderEreaderSettings": "Impostazioni lettore",
|
||||
"HeaderLatestEpisodes": "Ultimi Episodi",
|
||||
"HeaderLibraries": "Librerie",
|
||||
"HeaderLocalFolders": "Cartelle Locali",
|
||||
"HeaderLocalLibraryItems": "Oggetti Libreria Locale",
|
||||
"HeaderNewPlaylist": "Nuova Playlist",
|
||||
"HeaderOpenRSSFeed": "Apri RSS Feed",
|
||||
"HeaderPlaybackSettings": "Impostazioni Playback",
|
||||
"HeaderLibraries": "Biblioteche",
|
||||
"HeaderLocalFolders": "Cartelle locali",
|
||||
"HeaderLocalLibraryItems": "Oggetti della biblioteca locale",
|
||||
"HeaderNewPlaylist": "Nuova playlist",
|
||||
"HeaderOpenRSSFeed": "Apri il flusso RSS",
|
||||
"HeaderPlaybackSettings": "Impostazioni rirpoduzione",
|
||||
"HeaderPlaylist": "Playlist",
|
||||
"HeaderPlaylistItems": "Elementi della playlist",
|
||||
"HeaderRSSFeed": "RSS Feed",
|
||||
"HeaderRSSFeed": "Flusso RSS",
|
||||
"HeaderRSSFeedGeneral": "RSS Dettagli",
|
||||
"HeaderRSSFeedIsOpen": "RSS Feed è aperto",
|
||||
"HeaderSelectDownloadLocation": "Selezione Posizione Download",
|
||||
@@ -79,14 +81,16 @@
|
||||
"HeaderSleepTimerSettings": "Impostazione tempo Sleep",
|
||||
"HeaderStatsMinutesListeningChart": "Minuti ascoltati (Ultimi 7 Giorni)",
|
||||
"HeaderStatsRecentSessions": "Sessioni Recenti",
|
||||
"HeaderTableOfContents": "Tabella dei Contenuti",
|
||||
"HeaderUserInterfaceSettings": "Impostazioni Interfaccia Utente",
|
||||
"HeaderYourStats": "Statistiche Personali",
|
||||
"HeaderTableOfContents": "Indice",
|
||||
"HeaderUserInterfaceSettings": "Impostazioni interfaccia utente",
|
||||
"HeaderYourStats": "Statistiche personali",
|
||||
"LabelAddToPlaylist": "Aggiungi alla playlist",
|
||||
"LabelAdded": "Aggiunto",
|
||||
"LabelAddedAt": "Aggiunto il",
|
||||
"LabelAddToPlaylist": "aggiungi alla Playlist",
|
||||
"LabelAll": "Tutti",
|
||||
"LabelAllowSeekingOnMediaControls": "Consenti la ricerca della posizione sui controlli delle notifiche multimediali",
|
||||
"LabelAlways": "Sempre",
|
||||
"LabelAskConfirmation": "Richiedi una conferma",
|
||||
"LabelAuthor": "Autore",
|
||||
"LabelAuthorFirstLast": "Autore (Per Nome)",
|
||||
"LabelAuthorLastFirst": "Autori (Per Cognome)",
|
||||
@@ -98,8 +102,8 @@
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Al termine del timer di spegnimento automatico, la riproduzione dell'elemento riavvolgerà automaticamente la tua posizione.",
|
||||
"LabelAutoSleepTimerHelp": "Durante la riproduzione di contenuti multimediali tra l'ora di inizio e quella di fine specificate, verrà avviato automaticamente un timer di spegnimento.",
|
||||
"LabelBooks": "Libri",
|
||||
"LabelChapterTrack": "Traccia capitolo",
|
||||
"LabelChapters": "Capitoli",
|
||||
"LabelChapterTrack": "Traccia Capitolo",
|
||||
"LabelClosePlayer": "Chiudi player",
|
||||
"LabelCollapseSeries": "Comprimi Serie",
|
||||
"LabelComplete": "Completo",
|
||||
@@ -107,190 +111,199 @@
|
||||
"LabelContinueEpisodes": "Continua Episodi",
|
||||
"LabelContinueListening": "Continua Ascolto",
|
||||
"LabelContinueReading": "Continua Lettura",
|
||||
"LabelContinueSeries": "Continua Serie",
|
||||
"LabelContinueSeries": "Continua serie",
|
||||
"LabelCustomTime": "Personalizza tempo",
|
||||
"LabelDescription": "Descrizione",
|
||||
"LabelDisableAudioFadeOut": "Disabilita dissolvenza audio in uscita",
|
||||
"LabelDisableAudioFadeOutHelp": "Il volume dell'audio inizierà a diminuire quando rimane meno di 1 minuto sul timer di spegnimento. Abilita questa impostazione per non diminuirlo.",
|
||||
"LabelDisableAutoRewind": "Disabilita auto riavvolgimento",
|
||||
"LabelDisableShakeToReset": "Disabilita shake to reset",
|
||||
"LabelDisableShakeToReset": "Disabilita Agita per ripristinare",
|
||||
"LabelDisableShakeToResetHelp": "Scuotendo il dispositivo mentre il timer è in esecuzione O entro 2 minuti dalla scadenza del timer si ripristinerà il timer di spegnimento. Abilita questa impostazione per disabilitare lo scuotimento per ripristinare.",
|
||||
"LabelDisableVibrateOnReset": "Disabilita vibrazione reset",
|
||||
"LabelDisableVibrateOnReset": "Disabilita vibrazione ripristino",
|
||||
"LabelDisableVibrateOnResetHelp": "Quando il timer di spegnimento viene reimpostato, il dispositivo vibrerà. Abilita questa impostazione per non vibrare quando il timer di spegnimento viene reimpostato.",
|
||||
"LabelDiscover": "Scopri",
|
||||
"LabelDownload": "Download",
|
||||
"LabelDownload": "Scarica",
|
||||
"LabelDownloadUsingCellular": "Scarica usando i dati mobili",
|
||||
"LabelDownloaded": "Scaricati",
|
||||
"LabelDuration": "Durata",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEbook": "Libro digitale",
|
||||
"LabelEbooks": "Libri digitali",
|
||||
"LabelEnable": "Abilita",
|
||||
"LabelEnableMp3IndexSeeking": "Abilita la ricerca dell'indice mp3",
|
||||
"LabelEnableMp3IndexSeekingHelp": "Questa impostazione dovrebbe essere abilitata solo se hai file mp3 che non vengono ricercati correttamente. La ricerca imprecisa è molto probabilmente dovuta ai file MP3 a birate variabile (VBR). Questa impostazione imporrà la ricerca dell'indice, in cui viene creata una mappatura tempo-byte durante la lettura del file. In alcuni casi, con file MP3 di grandi dimensioni, si verificherà un ritardo durante la ricerca verso la fine del file.",
|
||||
"LabelEnd": "Fine",
|
||||
"LabelEndOfChapter": "Fine del capitolo",
|
||||
"LabelEndOfChapter": "Fine Capitolo",
|
||||
"LabelEndTime": "Tempo alla fine",
|
||||
"LabelEpisode": "Episodio",
|
||||
"LabelFeedURL": "Feed URL",
|
||||
"LabelFeedURL": "URL del flusso",
|
||||
"LabelFile": "File",
|
||||
"LabelFileBirthtime": "Data Creazione",
|
||||
"LabelFileBirthtime": "Data di creazione",
|
||||
"LabelFileModified": "Ultima modifica",
|
||||
"LabelFilename": "Nome File",
|
||||
"LabelFilename": "Nome del file",
|
||||
"LabelFinished": "Finita",
|
||||
"LabelFolder": "Cartella",
|
||||
"LabelFontScale": "Dimensione Font",
|
||||
"LabelFontBoldness": "Grassetto",
|
||||
"LabelFontScale": "Dimensione font",
|
||||
"LabelGenre": "Genere",
|
||||
"LabelGenres": "Generi",
|
||||
"LabelHapticFeedback": "Feedback tattile",
|
||||
"LabelHasEbook": "Ha l'ebook",
|
||||
"LabelHasSupplementaryEbook": "Ha un ebook supplementale",
|
||||
"LabelHasEbook": "Ha un libro",
|
||||
"LabelHasSupplementaryEbook": "Ha un libro supplementale",
|
||||
"LabelHeavy": "Forte",
|
||||
"LabelHigh": "Alto",
|
||||
"LabelHost": "Host",
|
||||
"LabelInProgress": "In corso",
|
||||
"LabelIncomplete": "Incompleta",
|
||||
"LabelInProgress": "In Corso",
|
||||
"LabelInternalAppStorage": "Archiviazione interna delle app",
|
||||
"LabelJumpBackwardsTime": "Vai indietro nel tempo",
|
||||
"LabelJumpForwardsTime": "Vai avanti nel tempo",
|
||||
"LabelLanguage": "Lingua",
|
||||
"LabelLayout": "Layout",
|
||||
"LabelLayout": "Disposizione",
|
||||
"LabelLayoutAuto": "Auto",
|
||||
"LabelLayoutSinglePage": "Pagina singola",
|
||||
"LabelLight": "Leggera",
|
||||
"LabelLineSpacing": "Interlinea",
|
||||
"LabelListenAgain": "Ascolta ancora",
|
||||
"LabelLocalBooks": "Libri Locali",
|
||||
"LabelLocalPodcasts": "Podcasts Locali",
|
||||
"LabelLocalBooks": "Libri locali",
|
||||
"LabelLocalPodcasts": "Podcast locali",
|
||||
"LabelLockOrientation": "Blocca orientamento",
|
||||
"LabelLockPlayer": "Blocca Player",
|
||||
"LabelLow": "Bassa",
|
||||
"LabelMediaType": "Tipo Media",
|
||||
"LabelMedium": "Medio",
|
||||
"LabelMore": "Molto",
|
||||
"LabelMoreInfo": "Più Info",
|
||||
"LabelMoreInfo": "Più info",
|
||||
"LabelName": "Nome",
|
||||
"LabelNarrator": "Narratore",
|
||||
"LabelNarrators": "Narratori",
|
||||
"LabelNewestAuthors": "Nuovi Autori",
|
||||
"LabelNewestEpisodes": "Nuovi Episodi",
|
||||
"LabelNever": "Mai",
|
||||
"LabelNewestAuthors": "Nuovi autori",
|
||||
"LabelNewestEpisodes": "Nuovi episodi",
|
||||
"LabelNo": "No",
|
||||
"LabelNotFinished": "Da Completare",
|
||||
"LabelNotFinished": "Da completare",
|
||||
"LabelNotStarted": "Non iniziato",
|
||||
"LabelOff": "Off",
|
||||
"LabelOff": "Disattivato",
|
||||
"LabelPassword": "Password",
|
||||
"LabelPath": "Percorso",
|
||||
"LabelPlaybackDirect": "Diretto",
|
||||
"LabelPlaybackLocal": "Local",
|
||||
"LabelPlaybackSpeed": "Velocità Playback",
|
||||
"LabelPlaybackSpeed": "Velocità di riproduzione",
|
||||
"LabelPlaybackTranscode": "Transcodifica",
|
||||
"LabelPodcast": "Podcast",
|
||||
"LabelPodcasts": "Podcasts",
|
||||
"LabelPreventIndexing": "Impedisci che il tuo feed venga indicizzato da iTunes e dalle directory dei podcast di Google",
|
||||
"LabelProgress": "Cominciati",
|
||||
"LabelPubDate": "Data Pubblicazione",
|
||||
"LabelPublishYear": "Anno Pubblicazione",
|
||||
"LabelRead": "Leggi",
|
||||
"LabelReadAgain": "Leggi Ancora",
|
||||
"LabelRecentlyAdded": "Aggiunti Recentemente",
|
||||
"LabelRecentSeries": "Serie Recenti",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Email del proprietario personalizzato",
|
||||
"LabelPubDate": "Data di pubblicazione",
|
||||
"LabelPublishYear": "Anno di pubblicazione",
|
||||
"LabelRSSFeedCustomOwnerEmail": "E-mail del proprietario personalizzato",
|
||||
"LabelRSSFeedCustomOwnerName": "Nome del proprietario personalizzato",
|
||||
"LabelRSSFeedPreventIndexing": "Impedisci l'indicizzazione",
|
||||
"LabelRSSFeedSlug": "RSS Feed Slug",
|
||||
"LabelRSSFeedSlug": "Parole chiave del flusso RSS",
|
||||
"LabelRead": "Leggi",
|
||||
"LabelReadAgain": "Leggi ancora",
|
||||
"LabelRecentSeries": "Serie recenti",
|
||||
"LabelRecentlyAdded": "Aggiunti recentemente",
|
||||
"LabelRemoveFromPlaylist": "Rimuovi dalla playlist",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scala il tempo trascorso in base alla velocità",
|
||||
"LabelSeason": "Stagione",
|
||||
"LabelSelectADevice": "Seletiona dispositivo",
|
||||
"LabelSeries": "Serie",
|
||||
"LabelServerAddress": "Indiritto Server",
|
||||
"LabelSetEbookAsPrimary": "Imposta come Primario",
|
||||
"LabelSetEbookAsSupplementary": "Imposta come Suplementare",
|
||||
"LabelShakeSensitivity": "Sensibilita Shake",
|
||||
"LabelShowAll": "Mostra Tutto",
|
||||
"LabelServerAddress": "Indiritto server",
|
||||
"LabelSetEbookAsPrimary": "Imposta come primario",
|
||||
"LabelSetEbookAsSupplementary": "Imposta come suplementare",
|
||||
"LabelShakeSensitivity": "Sensibilità alla scossa",
|
||||
"LabelShowAll": "Mostra tutto",
|
||||
"LabelSize": "Dimensione",
|
||||
"LabelSleepTimer": "Sleep timer",
|
||||
"LabelSleepTimer": "Temporizzatore",
|
||||
"LabelStart": "Inizo",
|
||||
"LabelStartTime": "Tempo di inizio",
|
||||
"LabelStatsBestDay": "Giorno Migliore",
|
||||
"LabelStatsBestDay": "Giorno migliore",
|
||||
"LabelStatsDailyAverage": "Media giornaliera",
|
||||
"LabelStatsDays": "Giorni",
|
||||
"LabelStatsDaysListened": "Giorni di Ascolto",
|
||||
"LabelStatsInARow": "Di fila",
|
||||
"LabelStatsItemsFinished": "Libri Completati",
|
||||
"LabelStatsMinutes": "Minuti",
|
||||
"LabelStatsMinutesListening": "Ascolto in Minuti",
|
||||
"LabelStatsWeekListening": "Ascolto Settimanale",
|
||||
"LabelTag": "Tag",
|
||||
"LabelTags": "Tags",
|
||||
"LabelStatsDaysListened": "Giorni di ascolto",
|
||||
"LabelStatsInARow": "di fila",
|
||||
"LabelStatsItemsFinished": "Libri completati",
|
||||
"LabelStatsMinutes": "minuti",
|
||||
"LabelStatsMinutesListening": "Minuti di ascolto",
|
||||
"LabelStatsWeekListening": "Ascolto settimanale",
|
||||
"LabelStreamingUsingCellular": "Streaming usando i dati mobili",
|
||||
"LabelTag": "Etichetta",
|
||||
"LabelTags": "Etichette",
|
||||
"LabelTheme": "Tema",
|
||||
"LabelThemeDark": "Scuro",
|
||||
"LabelThemeLight": "Chiaro",
|
||||
"LabelTimeRemaining": "{0} rimanente",
|
||||
"LabelTitle": "Titolo",
|
||||
"LabelTotalTrack": "Traccia Totale",
|
||||
"LabelTotalSize": "Dimensione totale",
|
||||
"LabelTotalTrack": "Traccia totale",
|
||||
"LabelTracks": "Traccia",
|
||||
"LabelType": "Tipo",
|
||||
"LabelUnlockPlayer": "Sblocca Player",
|
||||
"LabelUseBookshelfView": "Usa visualizzazione libreria",
|
||||
"LabelUnlockPlayer": "Sblocca il player",
|
||||
"LabelUseBookshelfView": "Usa visualizzazione biblioteca",
|
||||
"LabelUser": "Utente",
|
||||
"LabelUsername": "Username",
|
||||
"LabelVeryHigh": "Molto Alto",
|
||||
"LabelVeryLow": "Molto Basso",
|
||||
"LabelYourBookmarks": "I tuoi Preferiti",
|
||||
"LabelUsername": "Nome utente",
|
||||
"LabelVeryHigh": "Molto alto",
|
||||
"LabelVeryLow": "Molto basso",
|
||||
"LabelYourBookmarks": "I tuoi preferiti",
|
||||
"LabelYourProgress": "Completato al",
|
||||
"MessageAndroid10Downloads": "Android 10 e versioni precedenti utilizzeranno la memoria interna dell'app per i download.",
|
||||
"MessageAttemptingServerConnection": "Tentativo di connessione al server...",
|
||||
"MessageAndroid10Downloads": "Android 10 e versioni precedenti utilizzeranno la memoria interna dell'app per gli scaricamenti.",
|
||||
"MessageAttemptingServerConnection": "Tentativo di connessione al server…",
|
||||
"MessageAudiobookshelfServerNotConnected": "Audiobookshelf server non connesso",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>Importante!</strong> Questa app è progettata per funzionare con un server Audiobookshelf ospitato da te o da qualcuno che conosci. Questa app non fornisce alcun contenuto.",
|
||||
"MessageBookshelfEmpty": "Scaffale vuoto",
|
||||
"MessageConfirmDeleteLocalEpisode": "Rimuovi episodi locali \"{0}\" dal tuo dispositivo? i file sul server non verranno toccati.",
|
||||
"MessageConfirmDeleteLocalFiles": "Remove i file locali dell'oggetto? i file sul server e i progressi non verranno toccati.",
|
||||
"MessageConfirmDiscardProgress": "Sei sicuro di voler resettare i tuoi progressi?",
|
||||
"MessageConfirmMarkAsFinished": "Sei sicuro di voler contrassegnare questo elemento come finito?",
|
||||
"MessageConfirmRemoveBookmark": "Sei sicuro di voler rimuovere il segnalibro?",
|
||||
"MessageDiscardProgress": "Elimina Progressi",
|
||||
"MessageDownloadCompleteProcessing": "Download completato. Elaborazione...",
|
||||
"MessageDownloading": "Scaricamento...",
|
||||
"MessageDownloadingEpisode": "Download episodio in corso",
|
||||
"MessageEpisodesQueuedForDownload": "{0} Episodio(i) in coda per il Download",
|
||||
"MessageFeedURLWillBe": "Feed URL Saranno {0}",
|
||||
"MessageFetching": "Recupero Info...",
|
||||
"MessageFollowTheProjectOnGithub": "Segui il progetto su Github",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Download dell'elemento completato ma impossibile creare l'elemento della libreria",
|
||||
"MessageLoading": "Caricamento...",
|
||||
"MessageLoadingServerData": "Caricamento dati dal server...",
|
||||
"MessageConfirmDeleteLocalFiles": "Rimuovi i file locali dell'oggetto? I file sul server e i progressi non verranno toccati.",
|
||||
"MessageConfirmDiscardProgress": "Sei sicuro/sicura di voler ripristinare i tuoi progressi?",
|
||||
"MessageConfirmDownloadUsingCellular": "Stai per eseguire il download utilizzando la rete dati cellulare. Ciò potrebbe includere addebiti per i dati dell'operatore. Vuoi continuare?",
|
||||
"MessageConfirmMarkAsFinished": "Sei sicuro/sicura di voler contrassegnare questo elemento come finito?",
|
||||
"MessageConfirmRemoveBookmark": "Sei sicuro/sicura di voler rimuovere il segnalibro?",
|
||||
"MessageConfirmStreamingUsingCellular": "Stai per eseguire lo streaming utilizzando la rete dati. Ciò potrebbe includere addebiti per i dati dell'operatore. Vuoi continuare?",
|
||||
"MessageDiscardProgress": "Elimina i progressi",
|
||||
"MessageDownloadCompleteProcessing": "Scaricamento completato. Elaborazione…",
|
||||
"MessageDownloading": "Scaricamento…",
|
||||
"MessageDownloadingEpisode": "Scaricamento dell’episodio in corso",
|
||||
"MessageEpisodesQueuedForDownload": "{0} episodio(i) in coda per lo scaricamento",
|
||||
"MessageFeedURLWillBe": "l’URL del flusso sarà {0}",
|
||||
"MessageFetching": "Recupero info…",
|
||||
"MessageFollowTheProjectOnGithub": "Segui il progetto su GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Scaricamento dell’elemento completato ma impossibile creare l'elemento nella biblioteca",
|
||||
"MessageLoading": "Caricamento…",
|
||||
"MessageLoadingServerData": "Caricamento dati dal server…",
|
||||
"MessageMarkAsFinished": "Segna come finito",
|
||||
"MessageMediaLinkedToADifferentServer": "Il supporto è collegato a un server Audiobookshelf su un indirizzo diverso ({0}). I progressi verranno sincronizzati quando ci si connette a questo indirizzo del server.",
|
||||
"MessageMediaLinkedToADifferentServer": "L’elemento è collegato a un server Audiobookshelf su un indirizzo diverso ({0}). I progressi verranno sincronizzati quando ci si connette a questo indirizzo del server.",
|
||||
"MessageMediaLinkedToADifferentUser": "Il contenuto multimediale è collegato a questo server ma è stato scaricato da un utente diverso. I progressi verranno sincronizzati solo con l'utente che lo ha scaricato.",
|
||||
"MessageMediaLinkedToServer": "Collegato al server {0}",
|
||||
"MessageMediaLinkedToThisServer": "Il supporto scaricato è collegato a questo server",
|
||||
"MessageMediaLinkedToThisServer": "L’elemento scaricato è collegato a questo server",
|
||||
"MessageMediaNotLinkedToServer": "I contenuti multimediali non sono collegati a un server Audiobookshelf. Nessun progresso verrà sincronizzato.",
|
||||
"MessageNoBookmarks": "Nessun Preferito",
|
||||
"MessageNoChapters": "Nessun Capitolo",
|
||||
"MessageNoItems": "Nessun Oggetto",
|
||||
"MessageNoItemsFound": "Nessun Oggetto trovato",
|
||||
"MessageNoBookmarks": "Nessun preferito",
|
||||
"MessageNoChapters": "Nessun capitolo",
|
||||
"MessageNoItems": "Nessun oggetto",
|
||||
"MessageNoItemsFound": "Nessun oggetto trovato",
|
||||
"MessageNoListeningSessions": "Nessuna sessione di ascolto",
|
||||
"MessageNoMediaFolders": "Nessuna Cartella Media",
|
||||
"MessageNoMediaFolders": "Nessuna cartella media",
|
||||
"MessageNoNetworkConnection": "Nessuna connessione di rete",
|
||||
"MessageNoPodcastsFound": "Nessun podcasts trovato",
|
||||
"MessageNoSeries": "No series",
|
||||
"MessageNoPodcastsFound": "Nessun podcast trovato",
|
||||
"MessageNoSeries": "Nessuna serie",
|
||||
"MessageNoUpdatesWereNecessary": "Nessun aggiornamento necessario",
|
||||
"MessageNoUserPlaylists": "Non hai nessuna Playlist",
|
||||
"MessageReportBugsAndContribute": "Segnala bug, richiedi funzionalità e contribuisci",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Collegato tramite Rete cellulare a consumo",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Collegato tramite rete wifi a consumo",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Collegato tramite Rete cellularer",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Collegato tramite rete wif",
|
||||
"MessageReportBugsAndContribute": "Segnala errori, richiedi funzionalità e contribuisci",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Collegato tramite rete cellulare a consumo",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Collegato tramite rete Wi-Fi a consumo",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Collegato tramite rete cellulare",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Collegato tramite rete Wi-Fi",
|
||||
"MessageSocketNotConnected": "Non connesso",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Avviso: la maggior parte delle app di podcast richiede che l'URL del feed RSS utilizzi HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Avviso: 1 o più delle tue puntate non hanno una data di pubblicazione. Alcune app di podcast lo richiedono.",
|
||||
"ToastBookmarkCreateFailed": "Creazione segnalibro fallita",
|
||||
"ToastBookmarkRemoveFailed": "Rimozione Segnalibro fallita",
|
||||
"ToastBookmarkUpdateFailed": "Aggiornamento Segnalibro fallito",
|
||||
"ToastBookmarkRemoveFailed": "Rimozione segnalibro fallita",
|
||||
"ToastBookmarkUpdateFailed": "Aggiornamento segnalibro fallito",
|
||||
"ToastDownloadNotAllowedOnCellular": "Lo scaricamento non è consentito sui dati mobili",
|
||||
"ToastItemMarkedAsFinishedFailed": "Errore nel segnare il file come finito",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Errore nel segnare il file come non completo",
|
||||
"ToastPlaylistCreateFailed": "Errore Creazione playlist",
|
||||
"ToastPodcastCreateFailed": "Errore Creazione podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast creato Correttamente",
|
||||
"ToastRSSFeedCloseFailed": "Errore chiusura RSS feed",
|
||||
"ToastRSSFeedCloseSuccess": "RSS feed chiuso"
|
||||
}
|
||||
"ToastPlaylistCreateFailed": "Errore creazione playlist",
|
||||
"ToastPodcastCreateFailed": "Errore creazione podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast creato correttamente",
|
||||
"ToastRSSFeedCloseFailed": "Errore chiusura flusso RSS",
|
||||
"ToastRSSFeedCloseSuccess": "Flusso RSS chiuso",
|
||||
"ToastStreamingNotAllowedOnCellular": "Lo streaming non è consentito sui dati mobili"
|
||||
}
|
||||
|
||||
+24
-14
@@ -2,7 +2,7 @@
|
||||
"ButtonAdd": "Pridėti",
|
||||
"ButtonAddNewServer": "Add New Server",
|
||||
"ButtonAuthors": "Autoriai",
|
||||
"ButtonBack": "Back",
|
||||
"ButtonBack": "Atgal",
|
||||
"ButtonCancel": "Atšaukti",
|
||||
"ButtonCancelTimer": "Cancel Timer",
|
||||
"ButtonClearFilter": "Valyti filtrą",
|
||||
@@ -56,6 +56,7 @@
|
||||
"HeaderCollection": "Kolekcija",
|
||||
"HeaderCollectionItems": "Kolekcijos elementai",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderDataSettings": "Data Settings",
|
||||
"HeaderDetails": "Detalės",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Eknygos failai",
|
||||
@@ -82,11 +83,13 @@
|
||||
"HeaderTableOfContents": "Turinys",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderYourStats": "Jūsų statistika",
|
||||
"LabelAddToPlaylist": "Pridėti į grojaraštį",
|
||||
"LabelAdded": "Pridėta",
|
||||
"LabelAddedAt": "Pridėta {0}",
|
||||
"LabelAddToPlaylist": "Pridėti į grojaraštį",
|
||||
"LabelAll": "Visi",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAlways": "Always",
|
||||
"LabelAskConfirmation": "Ask for confirmation",
|
||||
"LabelAuthor": "Autorius",
|
||||
"LabelAuthorFirstLast": "Autorius (Vardas Pavardė)",
|
||||
"LabelAuthorLastFirst": "Autorius (Pavardė, Vardas)",
|
||||
@@ -98,8 +101,8 @@
|
||||
"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.",
|
||||
"LabelBooks": "Knygos",
|
||||
"LabelChapters": "Skyriai",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelChapters": "Skyriai",
|
||||
"LabelClosePlayer": "Uždaryti grotuvą",
|
||||
"LabelCollapseSeries": "Suskleisti seriją",
|
||||
"LabelComplete": "Baigta",
|
||||
@@ -119,6 +122,7 @@
|
||||
"LabelDisableVibrateOnResetHelp": "When the sleep timer gets reset your device will vibrate. Enable this setting to not vibrate when the sleep timer resets.",
|
||||
"LabelDiscover": "Discover",
|
||||
"LabelDownload": "Atsisiųsti",
|
||||
"LabelDownloadUsingCellular": "Download using Cellular",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDuration": "Trukmė",
|
||||
"LabelEbook": "Elektroninė knyga",
|
||||
@@ -146,8 +150,8 @@
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHigh": "High",
|
||||
"LabelHost": "Serveris",
|
||||
"LabelIncomplete": "Nebaigta",
|
||||
"LabelInProgress": "Vyksta",
|
||||
"LabelIncomplete": "Nebaigta",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
@@ -170,6 +174,7 @@
|
||||
"LabelName": "Pavadinimas",
|
||||
"LabelNarrator": "Skaitytojas",
|
||||
"LabelNarrators": "Skaitytojai",
|
||||
"LabelNever": "Never",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNo": "No",
|
||||
@@ -188,15 +193,15 @@
|
||||
"LabelProgress": "Progresas",
|
||||
"LabelPubDate": "Publikavimo data",
|
||||
"LabelPublishYear": "Leidimo metai",
|
||||
"LabelRead": "Skaityta",
|
||||
"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",
|
||||
"LabelRSSFeedSlug": "RSS srauto identifikatorius",
|
||||
"LabelRead": "Skaityta",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelSeason": "Sezonas",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
@@ -219,6 +224,7 @@
|
||||
"LabelStatsMinutes": "minutės",
|
||||
"LabelStatsMinutesListening": "Klausyta minučių",
|
||||
"LabelStatsWeekListening": "Savaitės klausymas",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Žyma",
|
||||
"LabelTags": "Žymos",
|
||||
"LabelTheme": "Tema",
|
||||
@@ -245,8 +251,10 @@
|
||||
"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?",
|
||||
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
|
||||
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Discard Progress",
|
||||
"MessageDownloadCompleteProcessing": "Download complete. Processing...",
|
||||
"MessageDownloading": "Downloading...",
|
||||
@@ -254,7 +262,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} epizodai laukia atsisiuntimo",
|
||||
"MessageFeedURLWillBe": "Srauto URL bus {0}",
|
||||
"MessageFetching": "Surenkama...",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
|
||||
"MessageLoading": "Kraunama...",
|
||||
"MessageLoadingServerData": "Loading server data...",
|
||||
@@ -277,20 +285,22 @@
|
||||
"MessageNoUserPlaylists": "Neturite grojaraščių",
|
||||
"MessageReportBugsAndContribute": "Praneškite apie klaidas, prašykite naujovių ir prisidėkite",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket connected over metered cellular",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered wifi",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered Wi-Fi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket connected over unmetered cellular",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered wifi",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered Wi-Fi",
|
||||
"MessageSocketNotConnected": "Socket not connected",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Įspėjimas: Dauguma tinklalaidžių programų reikalauja, kad RSS kanalo URL būtų naudojamas su HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Įspėjimas: Vienas ar daugiau jūsų epizodų neturi publikavimo datos. Kai kurios tinklalaidžių programos to reikalauja.",
|
||||
"ToastBookmarkCreateFailed": "Žymos sukurti nepavyko",
|
||||
"ToastBookmarkRemoveFailed": "Žymos pašalinti nepavyko",
|
||||
"ToastBookmarkUpdateFailed": "Žymos atnaujinti nepavyko",
|
||||
"ToastDownloadNotAllowedOnCellular": "Downloading is not allowed on cellular data",
|
||||
"ToastItemMarkedAsFinishedFailed": "Pažymėti kaip Baigta nepavyko",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Pažymėti kaip Nebaigta nepavyko",
|
||||
"ToastPlaylistCreateFailed": "Grojaraščio sukurti nepavyko",
|
||||
"ToastPodcastCreateFailed": "Tinklalaidės sukurti nepavyko",
|
||||
"ToastPodcastCreateSuccess": "Tinklalaidė sėkmingai sukurta",
|
||||
"ToastRSSFeedCloseFailed": "RSS srauto uždaryti nepavyko",
|
||||
"ToastRSSFeedCloseSuccess": "RSS srautas uždarytas"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS srautas uždarytas",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+47
-35
@@ -1,53 +1,54 @@
|
||||
{
|
||||
"ButtonAdd": "Toevoegen",
|
||||
"ButtonAddNewServer": "Add New Server",
|
||||
"ButtonAddNewServer": "Nieuwe server toevoegen",
|
||||
"ButtonAuthors": "Auteurs",
|
||||
"ButtonBack": "Back",
|
||||
"ButtonBack": "Terug",
|
||||
"ButtonCancel": "Annuleren",
|
||||
"ButtonCancelTimer": "Cancel Timer",
|
||||
"ButtonCancelTimer": "Timer annuleren",
|
||||
"ButtonClearFilter": "Filter verwijderen",
|
||||
"ButtonCloseFeed": "Feed sluiten",
|
||||
"ButtonCollections": "Collecties",
|
||||
"ButtonConnect": "Connect",
|
||||
"ButtonConnectToServer": "Connect to Server",
|
||||
"ButtonConnect": "Verbinden",
|
||||
"ButtonConnectToServer": "Verbind met server",
|
||||
"ButtonCreate": "Creëer",
|
||||
"ButtonCreateBookmark": "Create Bookmark",
|
||||
"ButtonCreateNewPlaylist": "Create New Playlist",
|
||||
"ButtonCreateBookmark": "Creëer bladwijzer",
|
||||
"ButtonCreateNewPlaylist": "Maak nieuwe afspeellijst",
|
||||
"ButtonDelete": "Verwijder",
|
||||
"ButtonDeleteLocalEpisode": "Delete local episode",
|
||||
"ButtonDeleteLocalFile": "Delete local file",
|
||||
"ButtonDeleteLocalEpisode": "Verwijder lokale aflevering",
|
||||
"ButtonDeleteLocalFile": "Verwijder lokaal bestand",
|
||||
"ButtonDeleteLocalItem": "Delete local item",
|
||||
"ButtonDisableAutoTimer": "Disable Auto Timer",
|
||||
"ButtonDisconnect": "Disconnect",
|
||||
"ButtonDisconnect": "Verbreek verbinding",
|
||||
"ButtonGoToWebClient": "Go to Web Client",
|
||||
"ButtonHistory": "History",
|
||||
"ButtonHome": "Home",
|
||||
"ButtonIssues": "Issues",
|
||||
"ButtonIssues": "Problemen",
|
||||
"ButtonLatest": "Meest recent",
|
||||
"ButtonLibrary": "Bibliotheek",
|
||||
"ButtonLocalMedia": "Local Media",
|
||||
"ButtonManageLocalFiles": "Manage Local Files",
|
||||
"ButtonNewFolder": "New Folder",
|
||||
"ButtonNextEpisode": "Next Episode",
|
||||
"ButtonNewFolder": "Nieuwe map",
|
||||
"ButtonNextEpisode": "Volgende aflevering",
|
||||
"ButtonOpenFeed": "Feed openen",
|
||||
"ButtonOverride": "Override",
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonPause": "Pauze",
|
||||
"ButtonPlay": "Afspelen",
|
||||
"ButtonPlayEpisode": "Aflevering afspelen",
|
||||
"ButtonPlaying": "Speelt",
|
||||
"ButtonPlaylists": "Afspeellijsten",
|
||||
"ButtonRead": "Lees",
|
||||
"ButtonRemove": "Verwijder",
|
||||
"ButtonRemoveFromServer": "Remove from Server",
|
||||
"ButtonRemoveFromServer": "Verwijder van server",
|
||||
"ButtonSave": "Opslaan",
|
||||
"ButtonSaveOrder": "Save Order",
|
||||
"ButtonSaveOrder": "Volgorde bewaren",
|
||||
"ButtonSearch": "Zoeken",
|
||||
"ButtonSendEbookToDevice": "Send Ebook to Device",
|
||||
"ButtonSeries": "Series",
|
||||
"ButtonSetTimer": "Set Timer",
|
||||
"ButtonStream": "Stream",
|
||||
"ButtonSubmit": "Indienen",
|
||||
"ButtonSwitchServerUser": "Switch Server/User",
|
||||
"ButtonUserStats": "User Stats",
|
||||
"ButtonSwitchServerUser": "Verwissel server/gebruiker",
|
||||
"ButtonUserStats": "Gebruiker statistieken",
|
||||
"ButtonYes": "Ja",
|
||||
"HeaderAccount": "Account",
|
||||
"HeaderAdvanced": "Geavanceerd",
|
||||
@@ -55,19 +56,20 @@
|
||||
"HeaderChapters": "Hoofdstukken",
|
||||
"HeaderCollection": "Collectie",
|
||||
"HeaderCollectionItems": "Collectie-objecten",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderConnectionStatus": "Verbindingsstatus",
|
||||
"HeaderDataSettings": "Data Settings",
|
||||
"HeaderDetails": "Details",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Ebook Files",
|
||||
"HeaderEbookFiles": "Ebook bestanden",
|
||||
"HeaderEpisodes": "Afleveringen",
|
||||
"HeaderEreaderSettings": "Ereader-instellingen",
|
||||
"HeaderLatestEpisodes": "Laatste afleveringen",
|
||||
"HeaderLibraries": "Bibliotheken",
|
||||
"HeaderLocalFolders": "Local Folders",
|
||||
"HeaderLocalLibraryItems": "Local Library Items",
|
||||
"HeaderNewPlaylist": "New Playlist",
|
||||
"HeaderNewPlaylist": "Nieuwe afspeellijst",
|
||||
"HeaderOpenRSSFeed": "Open RSS-feed",
|
||||
"HeaderPlaybackSettings": "Playback Settings",
|
||||
"HeaderPlaybackSettings": "Afspeel instellingen",
|
||||
"HeaderPlaylist": "Afspeellijst",
|
||||
"HeaderPlaylistItems": "Onderdelen in afspeellijst",
|
||||
"HeaderRSSFeed": "RSS Feed",
|
||||
@@ -82,11 +84,13 @@
|
||||
"HeaderTableOfContents": "Inhoudsopgave",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderYourStats": "Je statistieken",
|
||||
"LabelAddToPlaylist": "Toevoegen aan afspeellijst",
|
||||
"LabelAdded": "Toegevoegd",
|
||||
"LabelAddedAt": "Toegevoegd op",
|
||||
"LabelAddToPlaylist": "Toevoegen aan afspeellijst",
|
||||
"LabelAll": "Alle",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAlways": "Altijd",
|
||||
"LabelAskConfirmation": "Vraag voor bevestiging",
|
||||
"LabelAuthor": "Auteur",
|
||||
"LabelAuthorFirstLast": "Auteur (Voornaam Achternaam)",
|
||||
"LabelAuthorLastFirst": "Auteur (Achternaam, Voornaam)",
|
||||
@@ -98,8 +102,8 @@
|
||||
"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.",
|
||||
"LabelBooks": "Boeken",
|
||||
"LabelChapters": "Hoofdstukken",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelChapters": "Hoofdstukken",
|
||||
"LabelClosePlayer": "Sluit speler",
|
||||
"LabelCollapseSeries": "Series inklappen",
|
||||
"LabelComplete": "Compleet",
|
||||
@@ -119,6 +123,7 @@
|
||||
"LabelDisableVibrateOnResetHelp": "When the sleep timer gets reset your device will vibrate. Enable this setting to not vibrate when the sleep timer resets.",
|
||||
"LabelDiscover": "Discover",
|
||||
"LabelDownload": "Download",
|
||||
"LabelDownloadUsingCellular": "Download using Cellular",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDuration": "Duur",
|
||||
"LabelEbook": "Ebook",
|
||||
@@ -146,8 +151,8 @@
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHigh": "High",
|
||||
"LabelHost": "Host",
|
||||
"LabelIncomplete": "Incompleet",
|
||||
"LabelInProgress": "Bezig",
|
||||
"LabelIncomplete": "Incompleet",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
@@ -170,6 +175,7 @@
|
||||
"LabelName": "Naam",
|
||||
"LabelNarrator": "Verteller",
|
||||
"LabelNarrators": "Vertellers",
|
||||
"LabelNever": "Never",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNo": "No",
|
||||
@@ -188,15 +194,15 @@
|
||||
"LabelProgress": "Voortgang",
|
||||
"LabelPubDate": "Publicatiedatum",
|
||||
"LabelPublishYear": "Jaar van uitgave",
|
||||
"LabelRead": "Lees",
|
||||
"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",
|
||||
"LabelRSSFeedSlug": "RSS-feed slug",
|
||||
"LabelRead": "Lees",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelSeason": "Seizoen",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
@@ -219,6 +225,7 @@
|
||||
"LabelStatsMinutes": "minuten",
|
||||
"LabelStatsMinutesListening": "Minuten luisterend",
|
||||
"LabelStatsWeekListening": "Week luisterend",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Tag",
|
||||
"LabelTags": "Tags",
|
||||
"LabelTheme": "Thema",
|
||||
@@ -226,6 +233,7 @@
|
||||
"LabelThemeLight": "Licht",
|
||||
"LabelTimeRemaining": "{0} te gaan",
|
||||
"LabelTitle": "Titel",
|
||||
"LabelTotalSize": "Totale grootte",
|
||||
"LabelTotalTrack": "Total Track",
|
||||
"LabelTracks": "Tracks",
|
||||
"LabelType": "Type",
|
||||
@@ -245,8 +253,10 @@
|
||||
"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?",
|
||||
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
|
||||
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Discard Progress",
|
||||
"MessageDownloadCompleteProcessing": "Download complete. Processing...",
|
||||
"MessageDownloading": "Downloading...",
|
||||
@@ -254,7 +264,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} aflevering(en) in de rij om te downloaden",
|
||||
"MessageFeedURLWillBe": "Feed URL zal {0} zijn",
|
||||
"MessageFetching": "Aan het ophalen...",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
|
||||
"MessageLoading": "Aan het laden...",
|
||||
"MessageLoadingServerData": "Loading server data...",
|
||||
@@ -277,20 +287,22 @@
|
||||
"MessageNoUserPlaylists": "Je hebt geen afspeellijsten",
|
||||
"MessageReportBugsAndContribute": "Rapporteer bugs, vraag functionaliteiten aan en draag bij op",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket connected over metered cellular",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered wifi",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered Wi-Fi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket connected over unmetered cellular",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered wifi",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered Wi-Fi",
|
||||
"MessageSocketNotConnected": "Socket not connected",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Waarschuwing: De meeste podcast-apps zullen eisen dat de RSS-feed URL HTTPS gebruikt",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Waarschuwing: 1 of meer van je afleveringen hebben geen Pub Datum. Sommige podcast-apps vereisen dit.",
|
||||
"ToastBookmarkCreateFailed": "Aanmaken boekwijzer mislukt",
|
||||
"ToastBookmarkRemoveFailed": "Verwijderen boekwijzer mislukt",
|
||||
"ToastBookmarkUpdateFailed": "Bijwerken boekwijzer mislukt",
|
||||
"ToastDownloadNotAllowedOnCellular": "Downloading is not allowed on cellular data",
|
||||
"ToastItemMarkedAsFinishedFailed": "Markeren als Voltooid mislukt",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Markeren als Niet Voltooid mislukt",
|
||||
"ToastPlaylistCreateFailed": "Aanmaken afspeellijst mislukt",
|
||||
"ToastPodcastCreateFailed": "Podcast aanmaken mislukt",
|
||||
"ToastPodcastCreateSuccess": "Podcast aangemaakt",
|
||||
"ToastRSSFeedCloseFailed": "Sluiten RSS-feed mislukt",
|
||||
"ToastRSSFeedCloseSuccess": "RSS-feed gesloten"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS-feed gesloten",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+135
-122
@@ -1,52 +1,53 @@
|
||||
{
|
||||
"ButtonAdd": "Legg til",
|
||||
"ButtonAddNewServer": "Add New Server",
|
||||
"ButtonAddNewServer": "Legg til ny tjener",
|
||||
"ButtonAuthors": "Forfatter",
|
||||
"ButtonBack": "Back",
|
||||
"ButtonBack": "Tilbake",
|
||||
"ButtonCancel": "Avbryt",
|
||||
"ButtonCancelTimer": "Cancel Timer",
|
||||
"ButtonCancelTimer": "Avbryt tidsur",
|
||||
"ButtonClearFilter": "Bytt filter",
|
||||
"ButtonCloseFeed": "Lukk Feed",
|
||||
"ButtonCollections": "Samlinger",
|
||||
"ButtonConnect": "Connect",
|
||||
"ButtonConnectToServer": "Connect to Server",
|
||||
"ButtonConnect": "Koble til",
|
||||
"ButtonConnectToServer": "Koble til tjener",
|
||||
"ButtonCreate": "Opprett",
|
||||
"ButtonCreateBookmark": "Create Bookmark",
|
||||
"ButtonCreateNewPlaylist": "Create New Playlist",
|
||||
"ButtonCreateBookmark": "Opprett bokmerke",
|
||||
"ButtonCreateNewPlaylist": "Opprett ny spilleliste",
|
||||
"ButtonDelete": "Slett",
|
||||
"ButtonDeleteLocalEpisode": "Delete local episode",
|
||||
"ButtonDeleteLocalEpisode": "Slett episode på enheten",
|
||||
"ButtonDeleteLocalFile": "Delete local file",
|
||||
"ButtonDeleteLocalItem": "Delete local item",
|
||||
"ButtonDisableAutoTimer": "Disable Auto Timer",
|
||||
"ButtonDisconnect": "Disconnect",
|
||||
"ButtonDisableAutoTimer": "Skru av automatisk tidsur",
|
||||
"ButtonDisconnect": "Koble fra",
|
||||
"ButtonGoToWebClient": "Go to Web Client",
|
||||
"ButtonHistory": "History",
|
||||
"ButtonHistory": "Historikk",
|
||||
"ButtonHome": "Hjem",
|
||||
"ButtonIssues": "Problemer",
|
||||
"ButtonLatest": "Siste",
|
||||
"ButtonLibrary": "Bibliotek",
|
||||
"ButtonLocalMedia": "Local Media",
|
||||
"ButtonManageLocalFiles": "Manage Local Files",
|
||||
"ButtonNewFolder": "New Folder",
|
||||
"ButtonNextEpisode": "Next Episode",
|
||||
"ButtonManageLocalFiles": "Administrer Lokale Filer",
|
||||
"ButtonNewFolder": "Ny mappe",
|
||||
"ButtonNextEpisode": "Neste episode",
|
||||
"ButtonOpenFeed": "Åpne Feed",
|
||||
"ButtonOverride": "Override",
|
||||
"ButtonOverride": "Overstyr",
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonPlay": "Spill av",
|
||||
"ButtonPlayEpisode": "Spill episode",
|
||||
"ButtonPlaying": "Spiller av",
|
||||
"ButtonPlaylists": "Spilleliste",
|
||||
"ButtonPlaylists": "Spillelister",
|
||||
"ButtonRead": "Les",
|
||||
"ButtonRemove": "Fjern",
|
||||
"ButtonRemoveFromServer": "Remove from Server",
|
||||
"ButtonRemoveFromServer": "Fjern fra tjeneren",
|
||||
"ButtonSave": "Lagre",
|
||||
"ButtonSaveOrder": "Save Order",
|
||||
"ButtonSaveOrder": "Lagre Rekkefølge",
|
||||
"ButtonSearch": "Søk",
|
||||
"ButtonSendEbookToDevice": "Send Ebook to Device",
|
||||
"ButtonSendEbookToDevice": "Send e-bok til enhet",
|
||||
"ButtonSeries": "Serier",
|
||||
"ButtonSetTimer": "Set Timer",
|
||||
"ButtonStream": "Stream",
|
||||
"ButtonStream": "Strøm",
|
||||
"ButtonSubmit": "Send inn",
|
||||
"ButtonSwitchServerUser": "Switch Server/User",
|
||||
"ButtonSwitchServerUser": "Bytt tjener/bruker",
|
||||
"ButtonUserStats": "User Stats",
|
||||
"ButtonYes": "Ja",
|
||||
"HeaderAccount": "Konto",
|
||||
@@ -55,7 +56,8 @@
|
||||
"HeaderChapters": "Kapittel",
|
||||
"HeaderCollection": "Samlinger",
|
||||
"HeaderCollectionItems": "Samlingsgjenstander",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderConnectionStatus": "Tilkoblingsstatus",
|
||||
"HeaderDataSettings": "Datainnstillinger",
|
||||
"HeaderDetails": "Detaljer",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Ebook filer",
|
||||
@@ -63,72 +65,75 @@
|
||||
"HeaderEreaderSettings": "Ereader innstillinger",
|
||||
"HeaderLatestEpisodes": "Siste episoder",
|
||||
"HeaderLibraries": "Biblioteker",
|
||||
"HeaderLocalFolders": "Local Folders",
|
||||
"HeaderLocalLibraryItems": "Local Library Items",
|
||||
"HeaderNewPlaylist": "New Playlist",
|
||||
"HeaderLocalFolders": "Lokale Mapper",
|
||||
"HeaderLocalLibraryItems": "Elementer i bibliotek på enheten",
|
||||
"HeaderNewPlaylist": "Ny spilleliste",
|
||||
"HeaderOpenRSSFeed": "Åpne RSS Feed",
|
||||
"HeaderPlaybackSettings": "Playback Settings",
|
||||
"HeaderPlaybackSettings": "Avspillingsinnstillinger",
|
||||
"HeaderPlaylist": "Spilleliste",
|
||||
"HeaderPlaylistItems": "Spillelisteelement",
|
||||
"HeaderRSSFeed": "RSS Feed",
|
||||
"HeaderRSSFeed": "RSS-informasjonskanal",
|
||||
"HeaderRSSFeedGeneral": "RSS Detailer",
|
||||
"HeaderRSSFeedIsOpen": "RSS Feed er åpen",
|
||||
"HeaderSelectDownloadLocation": "Select Download Location",
|
||||
"HeaderSelectDownloadLocation": "Velg Nedlastningssted",
|
||||
"HeaderSettings": "Innstillinger",
|
||||
"HeaderSleepTimer": "Sove timer",
|
||||
"HeaderSleepTimerSettings": "Sleep Timer Settings",
|
||||
"HeaderSleepTimerSettings": "Innstillinger for Søvntidtaker",
|
||||
"HeaderStatsMinutesListeningChart": "Minutter lyttet (siste 7 dagene)",
|
||||
"HeaderStatsRecentSessions": "Siste sesjoner",
|
||||
"HeaderTableOfContents": "Innholdsfortegnelse",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderUserInterfaceSettings": "Innstillinger for Brukergrensesnitt",
|
||||
"HeaderYourStats": "Din statistikk",
|
||||
"LabelAdded": "Lagt til",
|
||||
"LabelAddedAt": "Dato lagt til ",
|
||||
"LabelAddToPlaylist": "Legg til i spilleliste",
|
||||
"LabelAdded": "Lagt til",
|
||||
"LabelAddedAt": "Lagt Til",
|
||||
"LabelAll": "Alle",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAllowSeekingOnMediaControls": "Tillat posisjonsblafring i mediamerknadskontroller",
|
||||
"LabelAlways": "Alltid",
|
||||
"LabelAskConfirmation": "Spør om bekreftelse",
|
||||
"LabelAuthor": "Forfatter",
|
||||
"LabelAuthorFirstLast": "Forfatter (Fornavn Etternavn)",
|
||||
"LabelAuthorLastFirst": "Forfatter (Etternavn Fornavn)",
|
||||
"LabelAuthors": "Forfattere",
|
||||
"LabelAutoDownloadEpisodes": "Last ned episoder automatisk",
|
||||
"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": "Automatisk tilbakespolingstid",
|
||||
"LabelAutoSleepTimer": "Automatisk søvntidsur",
|
||||
"LabelAutoSleepTimerAutoRewind": "Automatisk tilbakespoling for automatisk søvntidsur",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Når automatisk søvntidsur fullføres vil avspilling av elementet automatisk spole tilbake posisjonen din.",
|
||||
"LabelAutoSleepTimerHelp": "Ved avspilling av media mellom angitt start og slutt vil automatisk søvntidsur starte automatisk.",
|
||||
"LabelBooks": "Bøker",
|
||||
"LabelChapterTrack": "Kapittelspor",
|
||||
"LabelChapters": "Kapitler",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelClosePlayer": "Lukk spiller",
|
||||
"LabelCollapseSeries": "Minimer serier",
|
||||
"LabelComplete": "Fullfør",
|
||||
"LabelContinueBooks": "Continue Books",
|
||||
"LabelContinueEpisodes": "Continue Episodes",
|
||||
"LabelContinueListening": "Continue Listening",
|
||||
"LabelContinueReading": "Continue Reading",
|
||||
"LabelContinueSeries": "Continue Series",
|
||||
"LabelCustomTime": "Custom time",
|
||||
"LabelContinueBooks": "Fortsett bøker",
|
||||
"LabelContinueEpisodes": "Fortsett episoder",
|
||||
"LabelContinueListening": "Fortsett lytting",
|
||||
"LabelContinueReading": "Fortsett lesing",
|
||||
"LabelContinueSeries": "Fortsett serier",
|
||||
"LabelCustomTime": "Egendefinert tid",
|
||||
"LabelDescription": "Beskrivelse",
|
||||
"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": "Skru av automatisk uttoning",
|
||||
"LabelDisableAudioFadeOutHelp": "Lydstyrke vil minkes når det er mindre enn ett minutt igjen på søvntidsuret. Skru av dette for å ikke ha uttoning.",
|
||||
"LabelDisableAutoRewind": "Skru av automatisk tilbakespoling",
|
||||
"LabelDisableShakeToReset": "Skru av risting for å tilbakestille",
|
||||
"LabelDisableShakeToResetHelp": "Risting av enheten mens tidsuret kjører, eller opptil to minutter etter utløp av tidsuret tilbakestiller søvntidsuret. Skru på denne innstillinger for å skru av risting for å tilbakestille.",
|
||||
"LabelDisableVibrateOnReset": "Skru av vibrering ved tilbakestilling",
|
||||
"LabelDisableVibrateOnResetHelp": "Når søvntidsuret blir tilbakestilt vil enheten din vibrere. Skru på denne innstillingen for å skru av vibrering når tidsuret tilbakestilles.",
|
||||
"LabelDiscover": "Oppdagelse",
|
||||
"LabelDownload": "Last ned",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDownloadUsingCellular": "Last ned med mobildata",
|
||||
"LabelDownloaded": "Nedlastet",
|
||||
"LabelDuration": "Varighet",
|
||||
"LabelEbook": "Ebok",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEbooks": "E-bøker",
|
||||
"LabelEnable": "Aktiver",
|
||||
"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": "Skru på MP3-indeksblafring",
|
||||
"LabelEnableMp3IndexSeekingHelp": "Skru på dette hvis du har MP3-filer som ikke kan blafres på rett vis. Det skyldes som oftest variabel bitrate (VBR). Innstillingen påtvinger indeksblafring, som er en tid-til-byte -tilknytning som bygges når filen leses. I noen fall vil man med store MP3-filer få litt forsinkelse når man blafrer mot slutten av filen.",
|
||||
"LabelEnd": "Slutt",
|
||||
"LabelEndOfChapter": "End of Chapter",
|
||||
"LabelEndTime": "End time",
|
||||
"LabelEndOfChapter": "Kapittelslutt",
|
||||
"LabelEndTime": "Slutt-tid",
|
||||
"LabelEpisode": "Episode",
|
||||
"LabelFeedURL": "Feed Adresse",
|
||||
"LabelFile": "Fil",
|
||||
@@ -137,31 +142,32 @@
|
||||
"LabelFilename": "Filnavn",
|
||||
"LabelFinished": "Fullført",
|
||||
"LabelFolder": "Mappe",
|
||||
"LabelFontBoldness": "Skrifttykkelse",
|
||||
"LabelFontScale": "Font størrelse",
|
||||
"LabelGenre": "Sjanger",
|
||||
"LabelGenres": "Sjangers",
|
||||
"LabelHapticFeedback": "Haptic feedback",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHapticFeedback": "Føllighetsrespons",
|
||||
"LabelHasEbook": "Har e-bok",
|
||||
"LabelHasSupplementaryEbook": "Har komplimentær e-bok",
|
||||
"LabelHeavy": "Tung",
|
||||
"LabelHigh": "High",
|
||||
"LabelHost": "Tjener",
|
||||
"LabelIncomplete": "Ufullstendig",
|
||||
"LabelInProgress": "I gang",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
"LabelIncomplete": "Ufullstendig",
|
||||
"LabelInternalAppStorage": "Programlager på enheten",
|
||||
"LabelJumpBackwardsTime": "Tilbakespolingstid",
|
||||
"LabelJumpForwardsTime": "Foroverspolingstid",
|
||||
"LabelLanguage": "Språk",
|
||||
"LabelLayout": "Layout",
|
||||
"LabelLayoutAuto": "Auto",
|
||||
"LabelLayoutSinglePage": "Single page",
|
||||
"LabelLight": "Light",
|
||||
"LabelLayoutSinglePage": "Enkeltside",
|
||||
"LabelLight": "Lett",
|
||||
"LabelLineSpacing": "Linjemellomrom",
|
||||
"LabelListenAgain": "Listen Again",
|
||||
"LabelLocalBooks": "Local Books",
|
||||
"LabelListenAgain": "Lytt igjen",
|
||||
"LabelLocalBooks": "Bøker på enheten",
|
||||
"LabelLocalPodcasts": "Local Podcasts",
|
||||
"LabelLockOrientation": "Lock orientation",
|
||||
"LabelLockPlayer": "Lock Player",
|
||||
"LabelLockPlayer": "Lås avspiller",
|
||||
"LabelLow": "Low",
|
||||
"LabelMediaType": "Medie type",
|
||||
"LabelMedium": "Medium",
|
||||
@@ -170,41 +176,42 @@
|
||||
"LabelName": "Navn",
|
||||
"LabelNarrator": "Forteller",
|
||||
"LabelNarrators": "Fortellere",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNever": "Aldri",
|
||||
"LabelNewestAuthors": "Nyeste forfattere",
|
||||
"LabelNewestEpisodes": "Nyeste episoder",
|
||||
"LabelNo": "No",
|
||||
"LabelNotFinished": "Ikke fullført",
|
||||
"LabelNotStarted": "Ikke startet",
|
||||
"LabelOff": "Off",
|
||||
"LabelOff": "Av",
|
||||
"LabelPassword": "Passord",
|
||||
"LabelPath": "Sti",
|
||||
"LabelPlaybackDirect": "Direct",
|
||||
"LabelPlaybackDirect": "Direkte",
|
||||
"LabelPlaybackLocal": "Local",
|
||||
"LabelPlaybackSpeed": "Playback Speed",
|
||||
"LabelPlaybackTranscode": "Transcode",
|
||||
"LabelPlaybackSpeed": "Avspillingshastighet",
|
||||
"LabelPlaybackTranscode": "Transkoding",
|
||||
"LabelPodcast": "Podcast",
|
||||
"LabelPodcasts": "Podcaster",
|
||||
"LabelPreventIndexing": "Forhindre at din feed fra å bli indeksert av iTunes og Google podcast kataloger",
|
||||
"LabelProgress": "Framgang",
|
||||
"LabelPubDate": "Publiseringsdato",
|
||||
"LabelPublishYear": "Publikasjonsår",
|
||||
"LabelRead": "Les",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Tilpasset eier Epost",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Tilpasset eier e-post",
|
||||
"LabelRSSFeedCustomOwnerName": "Tilpasset eier Navn",
|
||||
"LabelRSSFeedPreventIndexing": "Forhindre indeksering",
|
||||
"LabelRSSFeedSlug": "RSS Feed Slug",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelRSSFeedSlug": "RSS-informasjonskanalunderadresse",
|
||||
"LabelRead": "Les",
|
||||
"LabelReadAgain": "Les igjen",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRecentlyAdded": "Nylig tillagt",
|
||||
"LabelRemoveFromPlaylist": "Fjern fra spilleliste",
|
||||
"LabelScaleElapsedTimeBySpeed": "Skaler forløpt tid etter hastighet",
|
||||
"LabelSeason": "Sesong",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
"LabelSelectADevice": "Velg en enhet",
|
||||
"LabelSeries": "Serier",
|
||||
"LabelServerAddress": "Server address",
|
||||
"LabelSetEbookAsPrimary": "Sett som primær",
|
||||
"LabelSetEbookAsSupplementary": "Sett som supplerende",
|
||||
"LabelShakeSensitivity": "Shake sensitivity",
|
||||
"LabelShakeSensitivity": "Ristingsterskel",
|
||||
"LabelShowAll": "Vis alt",
|
||||
"LabelSize": "Størrelse",
|
||||
"LabelSleepTimer": "Sove-timer",
|
||||
@@ -219,6 +226,7 @@
|
||||
"LabelStatsMinutes": "minuter",
|
||||
"LabelStatsMinutesListening": "Minutter lyttet",
|
||||
"LabelStatsWeekListening": "Uker lyttet",
|
||||
"LabelStreamingUsingCellular": "Strømmer via mobildata",
|
||||
"LabelTag": "Tag",
|
||||
"LabelTags": "Tagger",
|
||||
"LabelTheme": "Tema",
|
||||
@@ -226,71 +234,76 @@
|
||||
"LabelThemeLight": "Lys",
|
||||
"LabelTimeRemaining": "{0} gjennstående",
|
||||
"LabelTitle": "Tittel",
|
||||
"LabelTotalTrack": "Total Track",
|
||||
"LabelTotalSize": "Total størrelse",
|
||||
"LabelTotalTrack": "Totalt antall spor",
|
||||
"LabelTracks": "Spor",
|
||||
"LabelType": "Type",
|
||||
"LabelUnlockPlayer": "Unlock Player",
|
||||
"LabelUseBookshelfView": "Use bookshelf view",
|
||||
"LabelUnlockPlayer": "Lås opp avspiller",
|
||||
"LabelUseBookshelfView": "Bruk bokhyllevisning",
|
||||
"LabelUser": "Bruker",
|
||||
"LabelUsername": "Brukernavn",
|
||||
"LabelVeryHigh": "Very High",
|
||||
"LabelVeryLow": "Very Low",
|
||||
"LabelVeryHigh": "Veldig høy",
|
||||
"LabelVeryLow": "Veldig lav",
|
||||
"LabelYourBookmarks": "Dine bokmerker",
|
||||
"LabelYourProgress": "Din fremgang",
|
||||
"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 og tidligere bruker lagringsplass på enheten for nedlastninger.",
|
||||
"MessageAttemptingServerConnection": "Kobler til tjener …",
|
||||
"MessageAudiobookshelfServerNotConnected": "Ikke tilkoblet Audiobookshelf-tjener",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>Viktig!</strong> Programmet fungerer kun med en Audiobookshelf-tjener som du eller noen annen vertstjener. Programmet tilbyr ikke innhold.",
|
||||
"MessageBookshelfEmpty": "Tom bokhylle",
|
||||
"MessageConfirmDeleteLocalEpisode": "Fjen episoden «{0}» fra enheten? Filen på tjeneren forblir som den er.",
|
||||
"MessageConfirmDeleteLocalFiles": "Fjern dette elementets filer fra enheten? Filene på tjeneren og framdriften forblir som den er.",
|
||||
"MessageConfirmDiscardProgress": "Tilbakestill framgang?",
|
||||
"MessageConfirmDownloadUsingCellular": "Last ned over mobildata selv om kostnader kan tilkomme?",
|
||||
"MessageConfirmMarkAsFinished": "Merk element som fullført?",
|
||||
"MessageConfirmRemoveBookmark": "Fjern bokmerke?",
|
||||
"MessageConfirmStreamingUsingCellular": "Strøm via mobildata selv om kostnader kan tilkomme?",
|
||||
"MessageDiscardProgress": "Forkast framdrift",
|
||||
"MessageDownloadCompleteProcessing": "Behandler …",
|
||||
"MessageDownloading": "Laster ned …",
|
||||
"MessageDownloadingEpisode": "Laster ned episode",
|
||||
"MessageEpisodesQueuedForDownload": "{0} Episode(r) lagt til i kø for nedlasting",
|
||||
"MessageFeedURLWillBe": "Feed URL vil bli {0}",
|
||||
"MessageFetching": "Henter...",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
|
||||
"MessageFollowTheProjectOnGithub": "Følg prosjektet på GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Element nedlastet, men kunne ikke opprette bibliotekselement",
|
||||
"MessageLoading": "Laster...",
|
||||
"MessageLoadingServerData": "Loading server data...",
|
||||
"MessageLoadingServerData": "Laster inn tjenerdata …",
|
||||
"MessageMarkAsFinished": "Marker som Fullført",
|
||||
"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": "Media er lenket til en Audiobookshelf-tjener på en annen adresse ({0}). Framdriften vil bli synkronisert når tilkoblet denne tjeneradressen.",
|
||||
"MessageMediaLinkedToADifferentUser": "Media er lenket til denne tjeneren, men ble lastet ned av en annen bruker. Framdriften vil kun synkroniseres til brukeren som lastet den ned.",
|
||||
"MessageMediaLinkedToServer": "Lenket til tjener {0}",
|
||||
"MessageMediaLinkedToThisServer": "Nedlastet media er lenket til denne tjeneren.",
|
||||
"MessageMediaNotLinkedToServer": "Media er ikke lenket til en Audiobookshelf-tjener. Ingen fremdrift vil bli synkronisert.",
|
||||
"MessageNoBookmarks": "Ingen bokmerker",
|
||||
"MessageNoChapters": "Ingen kapitler",
|
||||
"MessageNoItems": "Ingen gjenstander",
|
||||
"MessageNoItemsFound": "Ingen gjenstander funnet",
|
||||
"MessageNoListeningSessions": "Ingen Lyttesesjoner",
|
||||
"MessageNoMediaFolders": "No Media Folders",
|
||||
"MessageNoNetworkConnection": "No network connection",
|
||||
"MessageNoMediaFolders": "Ingen mediamapper",
|
||||
"MessageNoNetworkConnection": "Ingen nettverkstilkobling",
|
||||
"MessageNoPodcastsFound": "Ingen podcaster funnet",
|
||||
"MessageNoSeries": "No series",
|
||||
"MessageNoUpdatesWereNecessary": "Ingen oppdatering var nødvendig",
|
||||
"MessageNoUserPlaylists": "Du har ingen spillelister",
|
||||
"MessageReportBugsAndContribute": "Rapporter feil, forespør funksjoner og tillegg og bidra på",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket connected over metered cellular",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered wifi",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket tilkoblet over kvotebasert mobildata",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket tilkoblet over kvotebasert Wi-Fi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket connected over unmetered cellular",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered wifi",
|
||||
"MessageSocketNotConnected": "Socket not connected",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket tilkoblet over ubegrenset Wi-Fi",
|
||||
"MessageSocketNotConnected": "Socket ikke tilkoblet",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Advarsel! De fleste podcast applikasjoner trenger RSS feed URL som bruker HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Advarsel! 1 eller flere av episodene har ikke publikasjonsdato. Noen podcast applikasjoner trenger dette.",
|
||||
"ToastBookmarkCreateFailed": "Misslykkes å opprette bokmerke",
|
||||
"ToastBookmarkRemoveFailed": "Misslykkes å fjerne bokmerke",
|
||||
"ToastBookmarkUpdateFailed": "Misslykkes å oppdatere bokmerke",
|
||||
"ToastDownloadNotAllowedOnCellular": "Nedlasting tillates ikke over mobildata",
|
||||
"ToastItemMarkedAsFinishedFailed": "Misslykkes å markere som Fullført",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Misslykkes å markere som Ikke Fullført",
|
||||
"ToastPlaylistCreateFailed": "Misslykkes å opprette spilleliste",
|
||||
"ToastPodcastCreateFailed": "Misslykkes å opprette podcast",
|
||||
"ToastPodcastCreateSuccess": "Podcast opprettet",
|
||||
"ToastRSSFeedCloseFailed": "Misslykkes å lukke RSS feed",
|
||||
"ToastRSSFeedCloseSuccess": "RSS feed lukket"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS feed lukket",
|
||||
"ToastStreamingNotAllowedOnCellular": "Strømming tillates ikke over mobildata"
|
||||
}
|
||||
|
||||
+47
-35
@@ -2,7 +2,7 @@
|
||||
"ButtonAdd": "Dodaj",
|
||||
"ButtonAddNewServer": "Dodaj nowy serwer",
|
||||
"ButtonAuthors": "Autorzy",
|
||||
"ButtonBack": "Powrót",
|
||||
"ButtonBack": "Wstecz",
|
||||
"ButtonCancel": "Anuluj",
|
||||
"ButtonCancelTimer": "Anuluj wyłącznik",
|
||||
"ButtonClearFilter": "Wyczyść filtr",
|
||||
@@ -23,7 +23,7 @@
|
||||
"ButtonHistory": "Historia",
|
||||
"ButtonHome": "Strona główna",
|
||||
"ButtonIssues": "Błędy",
|
||||
"ButtonLatest": "Aktualna wersja:",
|
||||
"ButtonLatest": "Aktualna wersja",
|
||||
"ButtonLibrary": "Biblioteka",
|
||||
"ButtonLocalMedia": "Media lokalne",
|
||||
"ButtonManageLocalFiles": "Zarządzaj lokalnymi plikami",
|
||||
@@ -34,7 +34,7 @@
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonPlay": "Odtwarzaj",
|
||||
"ButtonPlaying": "Odtwarzane",
|
||||
"ButtonPlaylists": "Playlisty",
|
||||
"ButtonPlaylists": "Listy odtwarzania",
|
||||
"ButtonRead": "Czytaj",
|
||||
"ButtonRemove": "Usuń",
|
||||
"ButtonRemoveFromServer": "Usuń z serwera",
|
||||
@@ -56,11 +56,12 @@
|
||||
"HeaderCollection": "Kolekcja",
|
||||
"HeaderCollectionItems": "Elementy kolekcji",
|
||||
"HeaderConnectionStatus": "Status połączenia",
|
||||
"HeaderDataSettings": "Data Settings",
|
||||
"HeaderDetails": "Szczegóły",
|
||||
"HeaderDownloads": "Pobrane",
|
||||
"HeaderEbookFiles": "Pliki ebook",
|
||||
"HeaderEbookFiles": "Pliki Ebook",
|
||||
"HeaderEpisodes": "Odcinki",
|
||||
"HeaderEreaderSettings": "Ustawienia Ereader",
|
||||
"HeaderEreaderSettings": "Ustawienia czytnika",
|
||||
"HeaderLatestEpisodes": "Najnowsze odcinki",
|
||||
"HeaderLibraries": "Biblioteki",
|
||||
"HeaderLocalFolders": "Lokalne foldery",
|
||||
@@ -69,7 +70,7 @@
|
||||
"HeaderOpenRSSFeed": "Utwórz kanał RSS",
|
||||
"HeaderPlaybackSettings": "Ustawienia odtwarzania",
|
||||
"HeaderPlaylist": "Playlista",
|
||||
"HeaderPlaylistItems": "Elementy playlisty",
|
||||
"HeaderPlaylistItems": "Pozycje listy odtwarzania",
|
||||
"HeaderRSSFeed": "Kanał RSS",
|
||||
"HeaderRSSFeedGeneral": "Szczegóły RSS",
|
||||
"HeaderRSSFeedIsOpen": "Kanał RSS jest otwarty",
|
||||
@@ -82,11 +83,13 @@
|
||||
"HeaderTableOfContents": "Spis treści",
|
||||
"HeaderUserInterfaceSettings": "Ustawienia inferfejsu użytkownika",
|
||||
"HeaderYourStats": "Twoje statystyki",
|
||||
"LabelAdded": "Dodano",
|
||||
"LabelAddedAt": "Dodano w",
|
||||
"LabelAddToPlaylist": "Dodaj do playlisty",
|
||||
"LabelAdded": "Dodane",
|
||||
"LabelAddedAt": "Dodano w",
|
||||
"LabelAll": "Wszystkie",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAlways": "Zawsze",
|
||||
"LabelAskConfirmation": "Pytaj o potwierdzenie",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Autor (Rosnąco)",
|
||||
"LabelAuthorLastFirst": "Author (Malejąco)",
|
||||
@@ -98,14 +101,14 @@
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Po zakończeniu automatycznego wyłącznika czasowego ponowne odtworzenie elementu spowoduje automatyczne przewinięcie pozycji do tyłu.",
|
||||
"LabelAutoSleepTimerHelp": "Podczas odtwarzania multimediów między określonym czasem rozpoczęcia i zakończenia automatycznie uruchomi się wyłącznik czasowy.",
|
||||
"LabelBooks": "Książki",
|
||||
"LabelChapters": "Rozdziały",
|
||||
"LabelChapterTrack": "Postęp rozdziału",
|
||||
"LabelChapters": "Rozdziały",
|
||||
"LabelClosePlayer": "Zamknij odtwarzacz",
|
||||
"LabelCollapseSeries": "Podsumuj serię",
|
||||
"LabelComplete": "Ukończone",
|
||||
"LabelContinueBooks": "Kontynuuj książki",
|
||||
"LabelContinueEpisodes": "Kontynuuj odcinki",
|
||||
"LabelContinueListening": "Kontynuuj odtwarzanie",
|
||||
"LabelContinueListening": "Kontynuuj słuchanie",
|
||||
"LabelContinueReading": "Kontynuuj czytanie",
|
||||
"LabelContinueSeries": "Kontynuuj serię",
|
||||
"LabelCustomTime": "Własny czas",
|
||||
@@ -119,6 +122,7 @@
|
||||
"LabelDisableVibrateOnResetHelp": "Gdy wyłącznik czasowy zostanie zresetowany, urządzenie zacznie wibrować. Włącz to ustawienie, aby nie wibrować po zresetowaniu wyłącznika czasowego.",
|
||||
"LabelDiscover": "Odkrywaj",
|
||||
"LabelDownload": "Pobierz",
|
||||
"LabelDownloadUsingCellular": "Pobierz przez Dane Komórkowe",
|
||||
"LabelDownloaded": "Pobrane",
|
||||
"LabelDuration": "Czas trwania",
|
||||
"LabelEbook": "Ebook",
|
||||
@@ -136,18 +140,19 @@
|
||||
"LabelFileModified": "Data modyfikacji pliku",
|
||||
"LabelFilename": "Nazwa pliku",
|
||||
"LabelFinished": "Zakończone",
|
||||
"LabelFolder": "Folder",
|
||||
"LabelFolder": "Katalog",
|
||||
"LabelFontBoldness": "Grubość czcionki",
|
||||
"LabelFontScale": "Rozmiar czcionki",
|
||||
"LabelGenre": "Gatunek",
|
||||
"LabelGenres": "Gatunki",
|
||||
"LabelHapticFeedback": "Dotykowe sprzężenie zwrotne",
|
||||
"LabelHasEbook": "Zawiera wersję ebook",
|
||||
"LabelHasEbook": "Ma ebooka",
|
||||
"LabelHasSupplementaryEbook": "Posiada dodatkowy ebook",
|
||||
"LabelHeavy": "Ciężko",
|
||||
"LabelHigh": "Wysoko",
|
||||
"LabelHost": "Dostawca",
|
||||
"LabelIncomplete": "Nieukończone",
|
||||
"LabelHost": "Host",
|
||||
"LabelInProgress": "W toku",
|
||||
"LabelIncomplete": "Nieukończone",
|
||||
"LabelInternalAppStorage": "Pamięć wewnętrzna aplikacji",
|
||||
"LabelJumpBackwardsTime": "Przeskok wstecz",
|
||||
"LabelJumpForwardsTime": "Przeskok w przód",
|
||||
@@ -156,7 +161,7 @@
|
||||
"LabelLayoutAuto": "Auto",
|
||||
"LabelLayoutSinglePage": "Pojedyncza strona",
|
||||
"LabelLight": "Lekko",
|
||||
"LabelLineSpacing": "Interlinia",
|
||||
"LabelLineSpacing": "Odstęp między wierszami",
|
||||
"LabelListenAgain": "Słuchaj ponownie",
|
||||
"LabelLocalBooks": "Książki lokalne",
|
||||
"LabelLocalPodcasts": "Podcasty lokalne",
|
||||
@@ -168,10 +173,11 @@
|
||||
"LabelMore": "Więcej",
|
||||
"LabelMoreInfo": "Więcej informacji",
|
||||
"LabelName": "Nazwa",
|
||||
"LabelNarrator": "Narrator",
|
||||
"LabelNarrator": "Lektor",
|
||||
"LabelNarrators": "Lektorzy",
|
||||
"LabelNever": "Nigdy",
|
||||
"LabelNewestAuthors": "Najnowsi autorzy",
|
||||
"LabelNewestEpisodes": "Najnosze odcinki",
|
||||
"LabelNewestEpisodes": "Najnowsze odcinki",
|
||||
"LabelNo": "No",
|
||||
"LabelNotFinished": "Nieukończone",
|
||||
"LabelNotStarted": "Nie rozpoczęto",
|
||||
@@ -184,26 +190,26 @@
|
||||
"LabelPlaybackTranscode": "Transkoduj",
|
||||
"LabelPodcast": "Podcast",
|
||||
"LabelPodcasts": "Podcasty",
|
||||
"LabelPreventIndexing": "Zapobiegaj indeksowaniu kanału przez katalogi podcastów iTunes i Google",
|
||||
"LabelPreventIndexing": "Zapobiega indeksowaniu przez iTunes i Google",
|
||||
"LabelProgress": "Postęp",
|
||||
"LabelPubDate": "Data publikacji",
|
||||
"LabelPublishYear": "Rok publikacji",
|
||||
"LabelRead": "Czytaj",
|
||||
"LabelReadAgain": "Czytaj ponownie",
|
||||
"LabelRecentlyAdded": "Ostatnio dodane",
|
||||
"LabelRecentSeries": "Najnowsze serie",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedPreventIndexing": "Zapobiegaj indeksowaniu",
|
||||
"LabelRSSFeedSlug": "RSS Feed Slug",
|
||||
"LabelRead": "Czytaj",
|
||||
"LabelReadAgain": "Czytaj ponownie",
|
||||
"LabelRecentSeries": "Najnowsze serie",
|
||||
"LabelRecentlyAdded": "Ostatnio dodane",
|
||||
"LabelRemoveFromPlaylist": "Usuń z listy odtwarzania",
|
||||
"LabelScaleElapsedTimeBySpeed": "Skaluj czas, który upłynął według prędkości",
|
||||
"LabelSeason": "Sezon",
|
||||
"LabelSelectADevice": "Wybierz urządzenie",
|
||||
"LabelSeries": "Serie",
|
||||
"LabelServerAddress": "Adres serwera",
|
||||
"LabelSetEbookAsPrimary": "Ustaw jako podstawowy ebook",
|
||||
"LabelSetEbookAsSupplementary": "Ustaw jako dodatkowy ebook",
|
||||
"LabelSetEbookAsPrimary": "Ustaw jako pierwszy",
|
||||
"LabelSetEbookAsSupplementary": "Ustaw jako dodatkowy",
|
||||
"LabelShakeSensitivity": "Czułość potrząsania",
|
||||
"LabelShowAll": "Pokaż wszystko",
|
||||
"LabelSize": "Rozmiar",
|
||||
@@ -217,8 +223,9 @@
|
||||
"LabelStatsInARow": "z rzędu",
|
||||
"LabelStatsItemsFinished": "Pozycje zakończone",
|
||||
"LabelStatsMinutes": "Minuty",
|
||||
"LabelStatsMinutesListening": "Minuty odtwarzania",
|
||||
"LabelStatsWeekListening": "Tydzień odtwarzania",
|
||||
"LabelStatsMinutesListening": "Minuty słuchania",
|
||||
"LabelStatsWeekListening": "Tydzień słuchania",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Tag",
|
||||
"LabelTags": "Tagi",
|
||||
"LabelTheme": "Motyw",
|
||||
@@ -226,8 +233,9 @@
|
||||
"LabelThemeLight": "Jasny",
|
||||
"LabelTimeRemaining": "Pozostało {0}",
|
||||
"LabelTitle": "Tytuł",
|
||||
"LabelTotalSize": "Całkowity Rozmiar",
|
||||
"LabelTotalTrack": "Postęp całkowity",
|
||||
"LabelTracks": "Postępy",
|
||||
"LabelTracks": "Ścieżki",
|
||||
"LabelType": "Typ",
|
||||
"LabelUnlockPlayer": "Odblokuj odtwarzacz",
|
||||
"LabelUseBookshelfView": "Użyj widoku półki",
|
||||
@@ -245,8 +253,10 @@
|
||||
"MessageConfirmDeleteLocalEpisode": "Usunąć lokalny odcinek \"{0}\" ze swojego urządzenia? Nie będzie to miało wpływu na plik na serwerze.",
|
||||
"MessageConfirmDeleteLocalFiles": "Usunąć lokalne pliki tego elementu ze swojego urządzenia? Nie będzie to miało wpływu na pliki na serwerze i Twoje postępy.",
|
||||
"MessageConfirmDiscardProgress": "Na pewno chcesz zresetować postęp?",
|
||||
"MessageConfirmDownloadUsingCellular": "Zamierzasz pobrać poprzez dane komórkowe. Może to wpłynąć na wysokość rachunku. Czy chcesz kontynuować?",
|
||||
"MessageConfirmMarkAsFinished": "Na pewno chcesz oznaczyć ten element jako ukończony?",
|
||||
"MessageConfirmRemoveBookmark": "Na pewno chcesz usunąć zakładkę?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Zresetuj postęp",
|
||||
"MessageDownloadCompleteProcessing": "Pobieranie ukończone. Przetwarzanie...",
|
||||
"MessageDownloading": "Pobieranie...",
|
||||
@@ -254,7 +264,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} odcinki w kolejce do pobrania",
|
||||
"MessageFeedURLWillBe": "URL kanału: {0}",
|
||||
"MessageFetching": "Pobieranie...",
|
||||
"MessageFollowTheProjectOnGithub": "Śledź projekt na Githubie",
|
||||
"MessageFollowTheProjectOnGithub": "Śledź projekt na GitHubie",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Pobieranie elementu zostało zakończone, ale nie udało się utworzyć elementu biblioteki",
|
||||
"MessageLoading": "Ładowanie...",
|
||||
"MessageLoadingServerData": "Ładowanie danych serwera...",
|
||||
@@ -268,29 +278,31 @@
|
||||
"MessageNoChapters": "Brak rozdziałów",
|
||||
"MessageNoItems": "Brak elementów",
|
||||
"MessageNoItemsFound": "Nie znaleziono żadnych elementów",
|
||||
"MessageNoListeningSessions": "Brak sesji odtwarzania",
|
||||
"MessageNoListeningSessions": "Brak sesji słuchania",
|
||||
"MessageNoMediaFolders": "Brak folderów z mediami",
|
||||
"MessageNoNetworkConnection": "Brak połączenia sieciowego",
|
||||
"MessageNoPodcastsFound": "Nie znaleziono podcastów",
|
||||
"MessageNoSeries": "No series",
|
||||
"MessageNoUpdatesWereNecessary": "Brak aktualizacji",
|
||||
"MessageNoUserPlaylists": "Nie posiadasz playlist",
|
||||
"MessageNoUserPlaylists": "Nie masz żadnych list odtwarzania",
|
||||
"MessageReportBugsAndContribute": "Zgłoś błędy, pomysły i pomóż rozwijać aplikację na",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Gniazdo podłączone przez sieć komórkową z limitem danych",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Gniazdo podłączone przez Wi-Fi z limitem danych",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Gniazdo podłączone przez sieć komórkową bez limitu danych",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Gniazdo podłączone przez Wi-Fi bez limitu danych",
|
||||
"MessageSocketNotConnected": "Gniazdo nie jest podłączone",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Ostrzeżenie: Większość aplikacji do obsługi podcastów wymaga, aby adres URL kanału RSS korzystał z protokołu HTTPS.",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Ostrzeżenie: Większość aplikacji do obsługi podcastów wymaga, aby adres URL kanału RSS korzystał z protokołu HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Ostrzeżenie: 1 lub więcej odcinków nie ma daty publikacji. Niektóre aplikacje do słuchania podcastów tego wymagają.",
|
||||
"ToastBookmarkCreateFailed": "Nie udało się utworzyć zakładki",
|
||||
"ToastBookmarkRemoveFailed": "Nie udało się usunąć zakładki",
|
||||
"ToastBookmarkUpdateFailed": "Nie udało się zaktualizować zakładki",
|
||||
"ToastItemMarkedAsFinishedFailed": "Nie udało się oznaczyć jako zakończone",
|
||||
"ToastDownloadNotAllowedOnCellular": "Ściąganie poprzez dane komórkowe jest niedozwolone",
|
||||
"ToastItemMarkedAsFinishedFailed": "Nie udało się oznaczyć jako ukończone",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Oznaczenie pozycji jako ukończonej nie powiodło się",
|
||||
"ToastPlaylistCreateFailed": "Nie udało się utworzyć playlisty",
|
||||
"ToastPodcastCreateFailed": "Nie udało się utworzyć podcastu",
|
||||
"ToastPodcastCreateSuccess": "Podcast został pomyślnie utworzony",
|
||||
"ToastRSSFeedCloseFailed": "Zamknięcie kanału RSS nie powiodło się",
|
||||
"ToastRSSFeedCloseSuccess": "Zamknięcie kanału RSS powiodło się"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "Zamknięcie kanału RSS powiodło się",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+32
-19
@@ -33,6 +33,7 @@
|
||||
"ButtonOverride": "Sobrepor",
|
||||
"ButtonPause": "Pausar",
|
||||
"ButtonPlay": "Reproduzir",
|
||||
"ButtonPlayEpisode": "Reproduzir Episódio",
|
||||
"ButtonPlaying": "Reproduzindo",
|
||||
"ButtonPlaylists": "Lista de Reprodução",
|
||||
"ButtonRead": "Ler",
|
||||
@@ -44,7 +45,7 @@
|
||||
"ButtonSendEbookToDevice": "Enviar Ebook para Dispositivo",
|
||||
"ButtonSeries": "Série",
|
||||
"ButtonSetTimer": "Definir Timer",
|
||||
"ButtonStream": "Stream",
|
||||
"ButtonStream": "Fazer o Stream",
|
||||
"ButtonSubmit": "Enviar",
|
||||
"ButtonSwitchServerUser": "Trocar Servidor/Usuário",
|
||||
"ButtonUserStats": "Estatísticas do Usuário",
|
||||
@@ -56,6 +57,7 @@
|
||||
"HeaderCollection": "Coleção",
|
||||
"HeaderCollectionItems": "Itens da Coleção",
|
||||
"HeaderConnectionStatus": "Status da Conexão",
|
||||
"HeaderDataSettings": "Configurações de dados",
|
||||
"HeaderDetails": "Detalhes",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "Arquivos Ebook",
|
||||
@@ -82,11 +84,13 @@
|
||||
"HeaderTableOfContents": "Sumário",
|
||||
"HeaderUserInterfaceSettings": "Configurações da Interface do Usuário",
|
||||
"HeaderYourStats": "Suas Estatísticas",
|
||||
"LabelAddToPlaylist": "Adicionar à Lista de Reprodução",
|
||||
"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",
|
||||
"LabelAlways": "Sempre",
|
||||
"LabelAskConfirmation": "Pedir confirmação",
|
||||
"LabelAuthor": "Autor",
|
||||
"LabelAuthorFirstLast": "Autor (Nome Sobrenome)",
|
||||
"LabelAuthorLastFirst": "Autor (Sobrenome, Nome)",
|
||||
@@ -98,8 +102,8 @@
|
||||
"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",
|
||||
"LabelChapters": "Capítulos",
|
||||
"LabelClosePlayer": "Fechar Reprodutor",
|
||||
"LabelCollapseSeries": "Fechar Série",
|
||||
"LabelComplete": "Concluído",
|
||||
@@ -119,11 +123,12 @@
|
||||
"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",
|
||||
"LabelDownloadUsingCellular": "Download usando o celular",
|
||||
"LabelDownloaded": "Download realizado",
|
||||
"LabelDuration": "Duração",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEnable": "Ativar",
|
||||
"LabelEnable": "Habilitar",
|
||||
"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",
|
||||
@@ -137,6 +142,7 @@
|
||||
"LabelFilename": "Nome do Arquivo",
|
||||
"LabelFinished": "Concluído",
|
||||
"LabelFolder": "Pasta",
|
||||
"LabelFontBoldness": "Intensidade do negrito",
|
||||
"LabelFontScale": "Escala de fonte",
|
||||
"LabelGenre": "Gênero",
|
||||
"LabelGenres": "Gêneros",
|
||||
@@ -146,8 +152,8 @@
|
||||
"LabelHeavy": "Pesado",
|
||||
"LabelHigh": "Alta",
|
||||
"LabelHost": "Host",
|
||||
"LabelIncomplete": "Incompleto",
|
||||
"LabelInProgress": "Em Andamento",
|
||||
"LabelIncomplete": "Incompleto",
|
||||
"LabelInternalAppStorage": "Armazenamento Interno do App",
|
||||
"LabelJumpBackwardsTime": "Retroceder tempo",
|
||||
"LabelJumpForwardsTime": "Adiantar tempo",
|
||||
@@ -170,10 +176,11 @@
|
||||
"LabelName": "Nome",
|
||||
"LabelNarrator": "Narrador",
|
||||
"LabelNarrators": "Narradores",
|
||||
"LabelNever": "Nunca",
|
||||
"LabelNewestAuthors": "Novos Autores",
|
||||
"LabelNewestEpisodes": "Episódios mais recentes",
|
||||
"LabelNo": "Não",
|
||||
"LabelNotFinished": "Não Concluído",
|
||||
"LabelNotFinished": "Não concluído",
|
||||
"LabelNotStarted": "Não Iniciado",
|
||||
"LabelOff": "Desligado",
|
||||
"LabelPassword": "Senha",
|
||||
@@ -188,15 +195,15 @@
|
||||
"LabelProgress": "Progresso",
|
||||
"LabelPubDate": "Data de Publicação",
|
||||
"LabelPublishYear": "Ano de Publicação",
|
||||
"LabelRead": "Lido",
|
||||
"LabelReadAgain": "Ler Novamente",
|
||||
"LabelRecentlyAdded": "Novidades",
|
||||
"LabelRecentSeries": "Séries Recentes",
|
||||
"LabelRemoveFromPlaylist": "Remover da Lista de Reprodução",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Email do dono personalizado",
|
||||
"LabelRSSFeedCustomOwnerEmail": "E-mail do dono personalizado",
|
||||
"LabelRSSFeedCustomOwnerName": "Nome do dono personalizado",
|
||||
"LabelRSSFeedPreventIndexing": "Impedir Indexação",
|
||||
"LabelRSSFeedSlug": "Slug do Feed RSS",
|
||||
"LabelRead": "Lido",
|
||||
"LabelReadAgain": "Ler novamente",
|
||||
"LabelRecentSeries": "Séries Recentes",
|
||||
"LabelRecentlyAdded": "Novidades",
|
||||
"LabelRemoveFromPlaylist": "Remover da Lista de Reprodução",
|
||||
"LabelScaleElapsedTimeBySpeed": "Proporcionalizar Tempo Decorrido com a Velocidade",
|
||||
"LabelSeason": "Temporada",
|
||||
"LabelSelectADevice": "Selecione um dispositivo",
|
||||
@@ -219,6 +226,7 @@
|
||||
"LabelStatsMinutes": "minutos",
|
||||
"LabelStatsMinutesListening": "Minutos Escutando",
|
||||
"LabelStatsWeekListening": "Tempo escutando na semana",
|
||||
"LabelStreamingUsingCellular": "Streaming usando o celular",
|
||||
"LabelTag": "Etiqueta",
|
||||
"LabelTags": "Etiquetas",
|
||||
"LabelTheme": "Tema",
|
||||
@@ -226,13 +234,14 @@
|
||||
"LabelThemeLight": "Claro",
|
||||
"LabelTimeRemaining": "{0} restantes",
|
||||
"LabelTitle": "Título",
|
||||
"LabelTotalSize": "Tamanho total",
|
||||
"LabelTotalTrack": "Total da Trilha",
|
||||
"LabelTracks": "Trilhas",
|
||||
"LabelType": "Tipo",
|
||||
"LabelUnlockPlayer": "Destravar Reprodutor",
|
||||
"LabelUseBookshelfView": "Usar visão estante",
|
||||
"LabelUser": "Usuário",
|
||||
"LabelUsername": "Nome do Usuário",
|
||||
"LabelUsername": "Nome do usuário",
|
||||
"LabelVeryHigh": "Muito Alta",
|
||||
"LabelVeryLow": "Muito Baixa",
|
||||
"LabelYourBookmarks": "Seus Marcadores",
|
||||
@@ -244,9 +253,11 @@
|
||||
"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?",
|
||||
"MessageConfirmDiscardProgress": "Tem certeza de que deseja resetar o seu progresso?",
|
||||
"MessageConfirmDownloadUsingCellular": "Você irá fazer o download usando dados do celular. Isso pode incidir em cobrança por sua operadora. Deseja continuar?",
|
||||
"MessageConfirmMarkAsFinished": "Tem certeza de que deseja marcar esse item como concluído?",
|
||||
"MessageConfirmRemoveBookmark": "Tem certeza de que deseja remover o marcador?",
|
||||
"MessageConfirmStreamingUsingCellular": "Você irá fazer o streaming usando dados do celular. Isso pode incidir em cobrança por sua operadora. Deseja continuar?",
|
||||
"MessageDiscardProgress": "Descartar Progresso",
|
||||
"MessageDownloadCompleteProcessing": "Download concluído. Processando...",
|
||||
"MessageDownloading": "Realizando o download...",
|
||||
@@ -254,7 +265,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} Episódio(s) na fila de download",
|
||||
"MessageFeedURLWillBe": "URL do Feed será {0}",
|
||||
"MessageFetching": "Buscando...",
|
||||
"MessageFollowTheProjectOnGithub": "Siga este projeto no Github",
|
||||
"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...",
|
||||
@@ -277,20 +288,22 @@
|
||||
"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",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket conectado usando Wi-Fi limitada",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket conectado usando rede celular ilimitada",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket conectado usando wifi ilimitada",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket conectado usando Wi-Fi 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",
|
||||
"ToastDownloadNotAllowedOnCellular": "O download não é permitido usando dados do celular",
|
||||
"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"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "Feed RSS fechado",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming não é permitido usando dados do celular"
|
||||
}
|
||||
|
||||
+32
-19
@@ -33,6 +33,7 @@
|
||||
"ButtonOverride": "Переопределить",
|
||||
"ButtonPause": "Пауза",
|
||||
"ButtonPlay": "Слушать",
|
||||
"ButtonPlayEpisode": "Воспроизвести эпизод",
|
||||
"ButtonPlaying": "Проигрывается",
|
||||
"ButtonPlaylists": "Плейлисты",
|
||||
"ButtonRead": "Читать",
|
||||
@@ -56,6 +57,7 @@
|
||||
"HeaderCollection": "Коллекция",
|
||||
"HeaderCollectionItems": "Элементы коллекции",
|
||||
"HeaderConnectionStatus": "Состояние подключения",
|
||||
"HeaderDataSettings": "Настройки данных",
|
||||
"HeaderDetails": "Подробности",
|
||||
"HeaderDownloads": "Загрузки",
|
||||
"HeaderEbookFiles": "Файлы e-книг",
|
||||
@@ -82,11 +84,13 @@
|
||||
"HeaderTableOfContents": "Содержание",
|
||||
"HeaderUserInterfaceSettings": "Настройки интерфейса",
|
||||
"HeaderYourStats": "Ваша статистика",
|
||||
"LabelAddToPlaylist": "Добавить в плейлист",
|
||||
"LabelAdded": "Добавили",
|
||||
"LabelAddedAt": "Дата добавления",
|
||||
"LabelAddToPlaylist": "Добавить в плейлист",
|
||||
"LabelAll": "Все",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAllowSeekingOnMediaControls": "Разрешить перемотку элементами управления мультимедиа",
|
||||
"LabelAlways": "Всегда",
|
||||
"LabelAskConfirmation": "Запросить подтверждение",
|
||||
"LabelAuthor": "Автор",
|
||||
"LabelAuthorFirstLast": "Автор (Имя Фамилия)",
|
||||
"LabelAuthorLastFirst": "Автор (Фамилия, Имя)",
|
||||
@@ -98,15 +102,15 @@
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Когда таймер сна закончится, то позиция воспроизведения будет отмотана назад.",
|
||||
"LabelAutoSleepTimerHelp": "Если медиа воспроизводится между указанными началом и окончанием, таймер сна будет включаться автоматически.",
|
||||
"LabelBooks": "Книги",
|
||||
"LabelChapters": "Главы",
|
||||
"LabelChapterTrack": "Трек главы",
|
||||
"LabelChapters": "Главы",
|
||||
"LabelClosePlayer": "Закрыть проигрыватель",
|
||||
"LabelCollapseSeries": "Свернуть серии",
|
||||
"LabelComplete": "Завершить",
|
||||
"LabelContinueBooks": "Продолжить",
|
||||
"LabelContinueEpisodes": "Продолжить эпизоды",
|
||||
"LabelContinueListening": "Продолжить слушать",
|
||||
"LabelContinueReading": "Continue Reading",
|
||||
"LabelContinueReading": "Продолжить чтение",
|
||||
"LabelContinueSeries": "Продолжить серии",
|
||||
"LabelCustomTime": "Пользовательское время",
|
||||
"LabelDescription": "Описание",
|
||||
@@ -119,6 +123,7 @@
|
||||
"LabelDisableVibrateOnResetHelp": "Когда таймер сна будет сброшен, ваше устройство будет вибрировать. Включите этот параметр, чтобы не вибрировать при сбросе таймера сна.",
|
||||
"LabelDiscover": "Не начато",
|
||||
"LabelDownload": "Скачать",
|
||||
"LabelDownloadUsingCellular": "Загрузка с помощью сотовой связи",
|
||||
"LabelDownloaded": "Загружено",
|
||||
"LabelDuration": "Длина",
|
||||
"LabelEbook": "E-книга",
|
||||
@@ -137,6 +142,7 @@
|
||||
"LabelFilename": "Имя файла",
|
||||
"LabelFinished": "Закончен",
|
||||
"LabelFolder": "Папка",
|
||||
"LabelFontBoldness": "Жирность шрифта",
|
||||
"LabelFontScale": "Масштаб шрифта",
|
||||
"LabelGenre": "Жанр",
|
||||
"LabelGenres": "Жанры",
|
||||
@@ -146,18 +152,18 @@
|
||||
"LabelHeavy": "Тяжелый",
|
||||
"LabelHigh": "Сильно",
|
||||
"LabelHost": "Хост",
|
||||
"LabelIncomplete": "Не завершен",
|
||||
"LabelInProgress": "В процессе",
|
||||
"LabelIncomplete": "Не завершен",
|
||||
"LabelInternalAppStorage": "Внутреннее хранилище приложений",
|
||||
"LabelJumpBackwardsTime": "Перемотка назад",
|
||||
"LabelJumpForwardsTime": "Перемотка вперед",
|
||||
"LabelLanguage": "Язык",
|
||||
"LabelLayout": "Layout",
|
||||
"LabelLayoutAuto": "Auto",
|
||||
"LabelLayoutSinglePage": "Single page",
|
||||
"LabelLayoutSinglePage": "Одна страница",
|
||||
"LabelLight": "Подсветка",
|
||||
"LabelLineSpacing": "Межстрочный интервал",
|
||||
"LabelListenAgain": "Слушать снова",
|
||||
"LabelListenAgain": "Послушать снова",
|
||||
"LabelLocalBooks": "Локальные книги",
|
||||
"LabelLocalPodcasts": "Локальные подкасты",
|
||||
"LabelLockOrientation": "Блокировка ориентации",
|
||||
@@ -170,8 +176,9 @@
|
||||
"LabelName": "Имя",
|
||||
"LabelNarrator": "Читает",
|
||||
"LabelNarrators": "Чтецы",
|
||||
"LabelNever": "Никогда",
|
||||
"LabelNewestAuthors": "Новые авторы",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNewestEpisodes": "Новые эпизоды",
|
||||
"LabelNo": "Нет",
|
||||
"LabelNotFinished": "Не завершено",
|
||||
"LabelNotStarted": "Не запущено",
|
||||
@@ -188,16 +195,16 @@
|
||||
"LabelProgress": "Прогресс",
|
||||
"LabelPubDate": "Дата публикации",
|
||||
"LabelPublishYear": "Год публикации",
|
||||
"LabelRead": "Читать",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentlyAdded": "Недавно добавленные",
|
||||
"LabelRecentSeries": "Недавние серии",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Пользовательский Email владельца",
|
||||
"LabelRSSFeedCustomOwnerName": "Пользовательское Имя владельца",
|
||||
"LabelRSSFeedPreventIndexing": "Запретить индексирование",
|
||||
"LabelRSSFeedSlug": "Встроить RSS-канал",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelRead": "Читать",
|
||||
"LabelReadAgain": "Читать снова",
|
||||
"LabelRecentSeries": "Недавние серии",
|
||||
"LabelRecentlyAdded": "Недавно добавленные",
|
||||
"LabelRemoveFromPlaylist": "Удалить из плейлиста",
|
||||
"LabelScaleElapsedTimeBySpeed": "Масштабирование затраченного времени по скорости",
|
||||
"LabelSeason": "Сезон",
|
||||
"LabelSelectADevice": "Выбор девайса",
|
||||
"LabelSeries": "Серия",
|
||||
@@ -219,6 +226,7 @@
|
||||
"LabelStatsMinutes": "минут",
|
||||
"LabelStatsMinutesListening": "Минут прослушано",
|
||||
"LabelStatsWeekListening": "Прослушано за неделю",
|
||||
"LabelStreamingUsingCellular": "Потоковая передача с использованием сотовой связи",
|
||||
"LabelTag": "Тег",
|
||||
"LabelTags": "Теги",
|
||||
"LabelTheme": "Тема",
|
||||
@@ -226,6 +234,7 @@
|
||||
"LabelThemeLight": "Светлая",
|
||||
"LabelTimeRemaining": "{0} осталось",
|
||||
"LabelTitle": "Название",
|
||||
"LabelTotalSize": "Общий размер",
|
||||
"LabelTotalTrack": "Всего треков",
|
||||
"LabelTracks": "Треков",
|
||||
"LabelType": "Тип",
|
||||
@@ -245,8 +254,10 @@
|
||||
"MessageConfirmDeleteLocalEpisode": "Удалить локальный эпизод \"{0}\" с Вашего устройства? Файл на сервере не будет затронут.",
|
||||
"MessageConfirmDeleteLocalFiles": "Удалить локальные файлы этого элемента с вашего устройства? Это не повлияет на файлы на сервере и ваш прогресс.",
|
||||
"MessageConfirmDiscardProgress": "Вы уверены, что хотите сбросить свой прогресс?",
|
||||
"MessageConfirmDownloadUsingCellular": "Вы собираетесь выполнить загрузку с помощью сотовых данных. Это может включать плату за передачу данных оператором. Хотите продолжить?",
|
||||
"MessageConfirmMarkAsFinished": "Вы уверены, что хотите пометить этот элемент как завершенный?",
|
||||
"MessageConfirmRemoveBookmark": "Вы уверены, что хотите удалить закладку?",
|
||||
"MessageConfirmStreamingUsingCellular": "Вы собираетесь вести потоковую передачу с использованием сотовых данных. Это может включать плату за передачу данных оператором. Хотите продолжить?",
|
||||
"MessageDiscardProgress": "Отбросить прогресс",
|
||||
"MessageDownloadCompleteProcessing": "Загрузка завершена. Обработка...",
|
||||
"MessageDownloading": "Загрузка...",
|
||||
@@ -254,7 +265,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} Эпизод(ов) запланировано для закачки",
|
||||
"MessageFeedURLWillBe": "URL канала будет {0}",
|
||||
"MessageFetching": "Завершается...",
|
||||
"MessageFollowTheProjectOnGithub": "Следите за проектом на Github",
|
||||
"MessageFollowTheProjectOnGithub": "Следите за проектом на GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Загрузка элемента завершена, но не удалось создать элемент библиотеки",
|
||||
"MessageLoading": "Загрузка...",
|
||||
"MessageLoadingServerData": "Загрузка данных сервера...",
|
||||
@@ -277,20 +288,22 @@
|
||||
"MessageNoUserPlaylists": "У вас нет плейлистов",
|
||||
"MessageReportBugsAndContribute": "Сообщайте об ошибках, запрашивайте функции и вносите свой вклад на",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Сокет подключен по лимитной сотовой связи",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Сокет подключен через лимитный wi-fi",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Сокет подключен через лимитный Wi-Fi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Сокет подключен по безлимитной сотовой связи",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Сокет подключен через безлимитный wi-fi",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Сокет подключен через безлимитный Wi-Fi",
|
||||
"MessageSocketNotConnected": "Сокет не подключен",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Предупреждение: Большинству приложений подкастов потребуется, чтобы URL-адрес RSS-канала использовал HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Предупреждение: 1 или более эпизодов не имеют даты публикации. Некоторые приложения для подкастов требуют этого.",
|
||||
"ToastBookmarkCreateFailed": "Не удалось создать закладку",
|
||||
"ToastBookmarkRemoveFailed": "Не удалось удалить закладку",
|
||||
"ToastBookmarkUpdateFailed": "Не удалось обновить закладку",
|
||||
"ToastDownloadNotAllowedOnCellular": "Загрузка данных по сотовой сети запрещена",
|
||||
"ToastItemMarkedAsFinishedFailed": "Не удалось пометить как Завершенный",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Не удалось пометить как Незавершенный",
|
||||
"ToastPlaylistCreateFailed": "Не удалось создать плейлист",
|
||||
"ToastPodcastCreateFailed": "Не удалось создать подкаст",
|
||||
"ToastPodcastCreateSuccess": "Подкаст успешно создан",
|
||||
"ToastRSSFeedCloseFailed": "Не удалось закрыть RSS-канал",
|
||||
"ToastRSSFeedCloseSuccess": "RSS-канал закрыт"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS-канал закрыт",
|
||||
"ToastStreamingNotAllowedOnCellular": "Потоковая передача данных по сотовой сети запрещена"
|
||||
}
|
||||
|
||||
+86
-74
@@ -1,52 +1,53 @@
|
||||
{
|
||||
"ButtonAdd": "Lägg till",
|
||||
"ButtonAddNewServer": "Add New Server",
|
||||
"ButtonAddNewServer": "Lägg Till Ny Server",
|
||||
"ButtonAuthors": "Författare",
|
||||
"ButtonBack": "Back",
|
||||
"ButtonBack": "Tillbaka",
|
||||
"ButtonCancel": "Avbryt",
|
||||
"ButtonCancelTimer": "Cancel Timer",
|
||||
"ButtonCancelTimer": "Inaktivera Timer",
|
||||
"ButtonClearFilter": "Rensa filter",
|
||||
"ButtonCloseFeed": "Stäng flöde",
|
||||
"ButtonCollections": "Samlingar",
|
||||
"ButtonConnect": "Connect",
|
||||
"ButtonConnectToServer": "Connect to Server",
|
||||
"ButtonConnect": "Anslut",
|
||||
"ButtonConnectToServer": "Anslut till Server",
|
||||
"ButtonCreate": "Skapa",
|
||||
"ButtonCreateBookmark": "Create Bookmark",
|
||||
"ButtonCreateNewPlaylist": "Create New Playlist",
|
||||
"ButtonCreateBookmark": "Skapa Bokmärke",
|
||||
"ButtonCreateNewPlaylist": "Skapa Ny Spellista",
|
||||
"ButtonDelete": "Radera",
|
||||
"ButtonDeleteLocalEpisode": "Delete local episode",
|
||||
"ButtonDeleteLocalEpisode": "Radera lokal episod",
|
||||
"ButtonDeleteLocalFile": "Delete local file",
|
||||
"ButtonDeleteLocalItem": "Delete local item",
|
||||
"ButtonDisableAutoTimer": "Disable Auto Timer",
|
||||
"ButtonDisconnect": "Disconnect",
|
||||
"ButtonGoToWebClient": "Go to Web Client",
|
||||
"ButtonHistory": "History",
|
||||
"ButtonDisableAutoTimer": "Inaktivera Automatisk Timer",
|
||||
"ButtonDisconnect": "Koppla ur",
|
||||
"ButtonGoToWebClient": "Öppna i Webbläsare",
|
||||
"ButtonHistory": "Histora",
|
||||
"ButtonHome": "Hem",
|
||||
"ButtonIssues": "Problem",
|
||||
"ButtonLatest": "Senaste",
|
||||
"ButtonLibrary": "Bibliotek",
|
||||
"ButtonLocalMedia": "Local Media",
|
||||
"ButtonManageLocalFiles": "Manage Local Files",
|
||||
"ButtonNewFolder": "New Folder",
|
||||
"ButtonNextEpisode": "Next Episode",
|
||||
"ButtonManageLocalFiles": "Hantera Lokal Filer",
|
||||
"ButtonNewFolder": "Ny Katalog",
|
||||
"ButtonNextEpisode": "Ny Episod",
|
||||
"ButtonOpenFeed": "Öppna flöde",
|
||||
"ButtonOverride": "Override",
|
||||
"ButtonOverride": "Åsidosätt",
|
||||
"ButtonPause": "Pause",
|
||||
"ButtonPlay": "Spela",
|
||||
"ButtonPlayEpisode": "Spela Episod",
|
||||
"ButtonPlaying": "Spelar",
|
||||
"ButtonPlaylists": "Spellistor",
|
||||
"ButtonRead": "Läs",
|
||||
"ButtonRemove": "Ta bort",
|
||||
"ButtonRemoveFromServer": "Remove from Server",
|
||||
"ButtonRemoveFromServer": "Ta bort från Server",
|
||||
"ButtonSave": "Spara",
|
||||
"ButtonSaveOrder": "Save Order",
|
||||
"ButtonSaveOrder": "Spara Ordning",
|
||||
"ButtonSearch": "Sök",
|
||||
"ButtonSendEbookToDevice": "Send Ebook to Device",
|
||||
"ButtonSendEbookToDevice": "Skicka E-bok till Enhet",
|
||||
"ButtonSeries": "Serie",
|
||||
"ButtonSetTimer": "Set Timer",
|
||||
"ButtonStream": "Stream",
|
||||
"ButtonStream": "Ström",
|
||||
"ButtonSubmit": "Skicka",
|
||||
"ButtonSwitchServerUser": "Switch Server/User",
|
||||
"ButtonSwitchServerUser": "Byt Server/Användare",
|
||||
"ButtonUserStats": "User Stats",
|
||||
"ButtonYes": "Ja",
|
||||
"HeaderAccount": "Konto",
|
||||
@@ -55,7 +56,8 @@
|
||||
"HeaderChapters": "Kapitel",
|
||||
"HeaderCollection": "Samling",
|
||||
"HeaderCollectionItems": "Samlingselement",
|
||||
"HeaderConnectionStatus": "Connection Status",
|
||||
"HeaderConnectionStatus": "Anslutnings Status",
|
||||
"HeaderDataSettings": "Data Inställningar",
|
||||
"HeaderDetails": "Detaljer",
|
||||
"HeaderDownloads": "Downloads",
|
||||
"HeaderEbookFiles": "E-boksfiler",
|
||||
@@ -63,72 +65,75 @@
|
||||
"HeaderEreaderSettings": "E-boksinställningar",
|
||||
"HeaderLatestEpisodes": "Senaste avsnitt",
|
||||
"HeaderLibraries": "Bibliotek",
|
||||
"HeaderLocalFolders": "Local Folders",
|
||||
"HeaderLocalLibraryItems": "Local Library Items",
|
||||
"HeaderNewPlaylist": "New Playlist",
|
||||
"HeaderLocalFolders": "Lokala Kataloger",
|
||||
"HeaderLocalLibraryItems": "Lokala Bibliotek Filer",
|
||||
"HeaderNewPlaylist": "Ny Spellista",
|
||||
"HeaderOpenRSSFeed": "Öppna RSS-flöde",
|
||||
"HeaderPlaybackSettings": "Playback Settings",
|
||||
"HeaderPlaybackSettings": "Uppspelningsinställningar",
|
||||
"HeaderPlaylist": "Spellista",
|
||||
"HeaderPlaylistItems": "Spellistobjekt",
|
||||
"HeaderRSSFeed": "RSS Feed",
|
||||
"HeaderRSSFeed": "RSS flöde",
|
||||
"HeaderRSSFeedGeneral": "RSS-information",
|
||||
"HeaderRSSFeedIsOpen": "RSS-flödet är öppet",
|
||||
"HeaderSelectDownloadLocation": "Select Download Location",
|
||||
"HeaderSelectDownloadLocation": "Välj Nedladdnings Plats",
|
||||
"HeaderSettings": "Inställningar",
|
||||
"HeaderSleepTimer": "Sovtidtagare",
|
||||
"HeaderSleepTimerSettings": "Sleep Timer Settings",
|
||||
"HeaderSleepTimerSettings": "Sovtimer Inställningar",
|
||||
"HeaderStatsMinutesListeningChart": "Minuters lyssning (senaste 7 dagar)",
|
||||
"HeaderStatsRecentSessions": "Senaste sessioner",
|
||||
"HeaderTableOfContents": "Innehållsförteckning",
|
||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||
"HeaderUserInterfaceSettings": "Användargränssnittsinställningar",
|
||||
"HeaderYourStats": "Dina statistik",
|
||||
"LabelAddToPlaylist": "Lägg till i Spellista",
|
||||
"LabelAdded": "Tillagd",
|
||||
"LabelAddedAt": "Tillagd vid",
|
||||
"LabelAddToPlaylist": "Lägg till i Spellista",
|
||||
"LabelAll": "Alla",
|
||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||
"LabelAllowSeekingOnMediaControls": "Tillåt positionssökning på medieaviseringskontroller",
|
||||
"LabelAlways": "Alltid",
|
||||
"LabelAskConfirmation": "Fråga efter bekräftelse",
|
||||
"LabelAuthor": "Författare",
|
||||
"LabelAuthorFirstLast": "Författare (Förnamn Efternamn)",
|
||||
"LabelAuthorLastFirst": "Författare (Efternamn, Förnamn)",
|
||||
"LabelAuthors": "Författare",
|
||||
"LabelAutoDownloadEpisodes": "Automatisk nedladdning av avsnitt",
|
||||
"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": "Automatisk tillbakaspolningstid",
|
||||
"LabelAutoSleepTimer": "Automatisk insomningstimer",
|
||||
"LabelAutoSleepTimerAutoRewind": "Automatisk insomningstimer automatisk bakåtspolning",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "När den automatiska insomningstimern är klar spolas din position automatiskt tillbaka.",
|
||||
"LabelAutoSleepTimerHelp": "Vid uppspelning av media mellan de angivna start- och sluttiderna startar en insomningstimer automatiskt.",
|
||||
"LabelBooks": "Böcker",
|
||||
"LabelChapterTrack": "Kapitel Spår",
|
||||
"LabelChapters": "Kapitel",
|
||||
"LabelChapterTrack": "Chapter Track",
|
||||
"LabelClosePlayer": "Stäng spelaren",
|
||||
"LabelCollapseSeries": "Fäll ihop serie",
|
||||
"LabelComplete": "Komplett",
|
||||
"LabelContinueBooks": "Continue Books",
|
||||
"LabelContinueEpisodes": "Continue Episodes",
|
||||
"LabelContinueListening": "Continue Listening",
|
||||
"LabelContinueReading": "Continue Reading",
|
||||
"LabelContinueSeries": "Continue Series",
|
||||
"LabelCustomTime": "Custom time",
|
||||
"LabelContinueBooks": "Fortsätt Böcker",
|
||||
"LabelContinueEpisodes": "Fortsätt Episoder",
|
||||
"LabelContinueListening": "Fortsätt Lyssna",
|
||||
"LabelContinueReading": "Fortsätt Läsa",
|
||||
"LabelContinueSeries": "Forsätt Serie",
|
||||
"LabelCustomTime": "Anpassad tid",
|
||||
"LabelDescription": "Beskrivning",
|
||||
"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": "Inaktivera att ljudet tonas ut",
|
||||
"LabelDisableAudioFadeOutHelp": "Ljudvolymen börjar minska när det är mindre än 1 minut kvar på insomningstimern. Aktivera den här inställningen för att inte tona ut.",
|
||||
"LabelDisableAutoRewind": "Inaktivera automatisk tillbakaspolning",
|
||||
"LabelDisableShakeToReset": "Inaktivera skakning för att återställa",
|
||||
"LabelDisableShakeToResetHelp": "Om du skakar enheten medan timern är igång eller inom 2 minuter efter att timern har löpt ut återställs insomningstimern. Aktivera den här inställningen för att inaktivera skakning för att återställa.",
|
||||
"LabelDisableVibrateOnReset": "Inaktivera vibration vid återställning",
|
||||
"LabelDisableVibrateOnResetHelp": "När insomningstimern återställs kommer din enhet att vibrera. Aktivera den här inställningen för att inte vibrera när insomningstimern återställs.",
|
||||
"LabelDiscover": "Upptäck",
|
||||
"LabelDownload": "Ladda ner",
|
||||
"LabelDownloaded": "Downloaded",
|
||||
"LabelDownloadUsingCellular": "Ladda ner med mobildata",
|
||||
"LabelDownloaded": "Nedladdat",
|
||||
"LabelDuration": "Varaktighet",
|
||||
"LabelEbook": "E-bok",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEbooks": "Eböcker",
|
||||
"LabelEnable": "Aktivera",
|
||||
"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": "Aktivera mp3 index sökning",
|
||||
"LabelEnableMp3IndexSeekingHelp": "Den här inställningen bör endast aktiveras om du har mp3-filer som inte söker korrekt. Felaktig sökning beror med största sannolikhet på MP3-filer med variabel birate (VBR). Den här inställningen tvingar fram indexsökning, där en tid-till-byte-mappning byggs upp när filen läses. I vissa fall med stora MP3-filer blir det en fördröjning vid sökning mot slutet av filen.",
|
||||
"LabelEnd": "Slut",
|
||||
"LabelEndOfChapter": "End of Chapter",
|
||||
"LabelEndTime": "End time",
|
||||
"LabelEndOfChapter": "Slut av kapitel",
|
||||
"LabelEndTime": "Slut tid",
|
||||
"LabelEpisode": "Avsnitt",
|
||||
"LabelFeedURL": "Flödes-URL",
|
||||
"LabelFile": "Fil",
|
||||
@@ -140,15 +145,15 @@
|
||||
"LabelFontScale": "Teckensnittsskala",
|
||||
"LabelGenre": "Genre",
|
||||
"LabelGenres": "Genrer",
|
||||
"LabelHapticFeedback": "Haptic feedback",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHeavy": "Heavy",
|
||||
"LabelHapticFeedback": "Haptisk feedback",
|
||||
"LabelHasEbook": "Har E-bok",
|
||||
"LabelHasSupplementaryEbook": "Har komplimenterande E-bok",
|
||||
"LabelHeavy": "Tung",
|
||||
"LabelHigh": "High",
|
||||
"LabelHost": "Värd",
|
||||
"LabelIncomplete": "Ofullständig",
|
||||
"LabelInProgress": "Pågående",
|
||||
"LabelInternalAppStorage": "Internal App Storage",
|
||||
"LabelIncomplete": "Ofullständig",
|
||||
"LabelInternalAppStorage": "Intern App Lagring",
|
||||
"LabelJumpBackwardsTime": "Jump backwards time",
|
||||
"LabelJumpForwardsTime": "Jump forwards time",
|
||||
"LabelLanguage": "Språk",
|
||||
@@ -170,6 +175,7 @@
|
||||
"LabelName": "Namn",
|
||||
"LabelNarrator": "Berättare",
|
||||
"LabelNarrators": "Berättare",
|
||||
"LabelNever": "Never",
|
||||
"LabelNewestAuthors": "Newest Authors",
|
||||
"LabelNewestEpisodes": "Newest Episodes",
|
||||
"LabelNo": "No",
|
||||
@@ -188,15 +194,15 @@
|
||||
"LabelProgress": "Framsteg",
|
||||
"LabelPubDate": "Publiceringsdatum",
|
||||
"LabelPublishYear": "Publiceringsår",
|
||||
"LabelRead": "Läst",
|
||||
"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",
|
||||
"LabelRSSFeedSlug": "RSS-flödesslag",
|
||||
"LabelRead": "Läst",
|
||||
"LabelReadAgain": "Read Again",
|
||||
"LabelRecentSeries": "Recent Series",
|
||||
"LabelRecentlyAdded": "Recently Added",
|
||||
"LabelRemoveFromPlaylist": "Remove from Playlist",
|
||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||
"LabelSeason": "Säsong",
|
||||
"LabelSelectADevice": "Select a device",
|
||||
@@ -219,6 +225,7 @@
|
||||
"LabelStatsMinutes": "minuter",
|
||||
"LabelStatsMinutesListening": "Minuter av lyssnande",
|
||||
"LabelStatsWeekListening": "Veckans lyssnande",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Tagg",
|
||||
"LabelTags": "Taggar",
|
||||
"LabelTheme": "Tema",
|
||||
@@ -226,6 +233,7 @@
|
||||
"LabelThemeLight": "Ljust",
|
||||
"LabelTimeRemaining": "{0} kvar",
|
||||
"LabelTitle": "Titel",
|
||||
"LabelTotalSize": "Total Storlek",
|
||||
"LabelTotalTrack": "Total Track",
|
||||
"LabelTracks": "Spår",
|
||||
"LabelType": "Typ",
|
||||
@@ -245,8 +253,10 @@
|
||||
"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?",
|
||||
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageConfirmMarkAsFinished": "Are you sure you want to mark this item as finished?",
|
||||
"MessageConfirmRemoveBookmark": "Are you sure you want to remove bookmark?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Discard Progress",
|
||||
"MessageDownloadCompleteProcessing": "Download complete. Processing...",
|
||||
"MessageDownloading": "Downloading...",
|
||||
@@ -254,7 +264,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} avsnitt i kö för nedladdning",
|
||||
"MessageFeedURLWillBe": "Flödes-URL kommer att vara {0}",
|
||||
"MessageFetching": "Hämtar...",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on Github",
|
||||
"MessageFollowTheProjectOnGithub": "Follow the project on GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Item download complete but failed to create library item",
|
||||
"MessageLoading": "Laddar...",
|
||||
"MessageLoadingServerData": "Loading server data...",
|
||||
@@ -277,20 +287,22 @@
|
||||
"MessageNoUserPlaylists": "Du har inga spellistor",
|
||||
"MessageReportBugsAndContribute": "Rapportera buggar, begär funktioner och bidra på",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Socket connected over metered cellular",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered wifi",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Socket connected over metered Wi-Fi",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Socket connected over unmetered cellular",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered wifi",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Socket connected over unmetered Wi-Fi",
|
||||
"MessageSocketNotConnected": "Socket not connected",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Varning: De flesta podcastappar kräver att RSS-flödets URL används med HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Varning: 1 eller flera av dina avsnitt har inte ett publiceringsdatum. Vissa podcastappar kräver detta.",
|
||||
"ToastBookmarkCreateFailed": "Det gick inte att skapa bokmärket",
|
||||
"ToastBookmarkRemoveFailed": "Det gick inte att ta bort bokmärket",
|
||||
"ToastBookmarkUpdateFailed": "Det gick inte att uppdatera bokmärket",
|
||||
"ToastDownloadNotAllowedOnCellular": "Downloading is not allowed on cellular data",
|
||||
"ToastItemMarkedAsFinishedFailed": "Misslyckades med att markera som färdig",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Misslyckades med att markera som ej färdig",
|
||||
"ToastPlaylistCreateFailed": "Det gick inte att skapa spellistan",
|
||||
"ToastPodcastCreateFailed": "Misslyckades med att skapa podcasten",
|
||||
"ToastPodcastCreateSuccess": "Podcasten skapad framgångsrikt",
|
||||
"ToastRSSFeedCloseFailed": "Misslyckades med att stänga RSS-flödet",
|
||||
"ToastRSSFeedCloseSuccess": "RSS-flödet stängt"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS-flödet stängt",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+25
-12
@@ -32,7 +32,8 @@
|
||||
"ButtonOpenFeed": "Відкрити стрічку",
|
||||
"ButtonOverride": "Перевизначити",
|
||||
"ButtonPause": "Призупинити",
|
||||
"ButtonPlay": "Відтворити",
|
||||
"ButtonPlay": "Слухати",
|
||||
"ButtonPlayEpisode": "Слухати епізод",
|
||||
"ButtonPlaying": "Відтворюється",
|
||||
"ButtonPlaylists": "Списки відтворення",
|
||||
"ButtonRead": "Читати",
|
||||
@@ -56,6 +57,7 @@
|
||||
"HeaderCollection": "Добірка",
|
||||
"HeaderCollectionItems": "Елементи добірки",
|
||||
"HeaderConnectionStatus": "Стан з'єднання",
|
||||
"HeaderDataSettings": "Налаштування даних",
|
||||
"HeaderDetails": "Подробиці",
|
||||
"HeaderDownloads": "Завантаження",
|
||||
"HeaderEbookFiles": "Файли електронних книг",
|
||||
@@ -69,7 +71,7 @@
|
||||
"HeaderOpenRSSFeed": "Відкрити RSS-канал",
|
||||
"HeaderPlaybackSettings": "Налаштування відтворення",
|
||||
"HeaderPlaylist": "Список відтворення",
|
||||
"HeaderPlaylistItems": "Елементи списку",
|
||||
"HeaderPlaylistItems": "Елементи списку відтворення",
|
||||
"HeaderRSSFeed": "RSS-канал",
|
||||
"HeaderRSSFeedGeneral": "Деталі RSS",
|
||||
"HeaderRSSFeedIsOpen": "RSS-канал відкрито",
|
||||
@@ -82,11 +84,13 @@
|
||||
"HeaderTableOfContents": "Зміст",
|
||||
"HeaderUserInterfaceSettings": "Налаштування користувацького інтерфейсу",
|
||||
"HeaderYourStats": "Ваша статистика",
|
||||
"LabelAddToPlaylist": "Додати до списку відтворення",
|
||||
"LabelAdded": "Додано",
|
||||
"LabelAddedAt": "Дата додавання",
|
||||
"LabelAddToPlaylist": "Додати до списку відтворення",
|
||||
"LabelAll": "Усе",
|
||||
"LabelAllowSeekingOnMediaControls": "Увімкнути перемотування в меню управління медіа",
|
||||
"LabelAlways": "Завжди",
|
||||
"LabelAskConfirmation": "Щоразу запитувати",
|
||||
"LabelAuthor": "Автор",
|
||||
"LabelAuthorFirstLast": "Автор (за ім'ям)",
|
||||
"LabelAuthorLastFirst": "Автор (за прізвищем)",
|
||||
@@ -98,8 +102,8 @@
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Коли сплине автотаймер вимкнення, відтворення знову автоматично перемотає доріжку.",
|
||||
"LabelAutoSleepTimerHelp": "Таймер вимкнення автоматично ввімкнеться при відтворенні медіа між вказаним початковим та кінцевим часом.",
|
||||
"LabelBooks": "Книги",
|
||||
"LabelChapters": "Глави",
|
||||
"LabelChapterTrack": "Прогрес глави",
|
||||
"LabelChapters": "Глави",
|
||||
"LabelClosePlayer": "Закрити програвач",
|
||||
"LabelCollapseSeries": "Згорнути серії",
|
||||
"LabelComplete": "Завершити",
|
||||
@@ -119,6 +123,7 @@
|
||||
"LabelDisableVibrateOnResetHelp": "Коли таймер вимкнення буде скинуто, ваш пристрій завібрує. Увімкніть цей параметр, щоб не вібрувати при скиданні таймера.",
|
||||
"LabelDiscover": "Огляд",
|
||||
"LabelDownload": "Завантажити",
|
||||
"LabelDownloadUsingCellular": "Завантажувати через мобільний інтернет",
|
||||
"LabelDownloaded": "Завантажено",
|
||||
"LabelDuration": "Тривалість",
|
||||
"LabelEbook": "Електронна книга",
|
||||
@@ -137,6 +142,7 @@
|
||||
"LabelFilename": "Ім'я файлу",
|
||||
"LabelFinished": "Завершено",
|
||||
"LabelFolder": "Тека",
|
||||
"LabelFontBoldness": "Товщина шрифту",
|
||||
"LabelFontScale": "Розмір шрифту",
|
||||
"LabelGenre": "Жанр",
|
||||
"LabelGenres": "Жанри",
|
||||
@@ -146,8 +152,8 @@
|
||||
"LabelHeavy": "Сильно",
|
||||
"LabelHigh": "Високо",
|
||||
"LabelHost": "Гост",
|
||||
"LabelIncomplete": "Не завершено",
|
||||
"LabelInProgress": "У процесі",
|
||||
"LabelIncomplete": "Не завершено",
|
||||
"LabelInternalAppStorage": "Внутрішня пам'ять додатку",
|
||||
"LabelJumpBackwardsTime": "Час відмотування назад",
|
||||
"LabelJumpForwardsTime": "Час перемотування вперед",
|
||||
@@ -170,6 +176,7 @@
|
||||
"LabelName": "Назва",
|
||||
"LabelNarrator": "Читець",
|
||||
"LabelNarrators": "Читці",
|
||||
"LabelNever": "Ніколи",
|
||||
"LabelNewestAuthors": "Нові автори",
|
||||
"LabelNewestEpisodes": "Нові епізоди",
|
||||
"LabelNo": "Ні",
|
||||
@@ -188,15 +195,15 @@
|
||||
"LabelProgress": "Прогрес",
|
||||
"LabelPubDate": "Дата публікації",
|
||||
"LabelPublishYear": "Рік публікації",
|
||||
"LabelRead": "Читати",
|
||||
"LabelReadAgain": "Читати знову",
|
||||
"LabelRecentlyAdded": "Нещодавно додані",
|
||||
"LabelRecentSeries": "Останні серії",
|
||||
"LabelRemoveFromPlaylist": "Видалити зі списку",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Користувацька електронна адреса власника",
|
||||
"LabelRSSFeedCustomOwnerName": "Користувацьке ім'я власника",
|
||||
"LabelRSSFeedPreventIndexing": "Запобігати індексації",
|
||||
"LabelRSSFeedSlug": "Назва RSS-каналу",
|
||||
"LabelRead": "Читати",
|
||||
"LabelReadAgain": "Читати знову",
|
||||
"LabelRecentSeries": "Останні серії",
|
||||
"LabelRecentlyAdded": "Нещодавно додані",
|
||||
"LabelRemoveFromPlaylist": "Видалити зі списку",
|
||||
"LabelScaleElapsedTimeBySpeed": "Час відповідно швидкості",
|
||||
"LabelSeason": "Сезон",
|
||||
"LabelSelectADevice": "Обрати пристрій",
|
||||
@@ -219,6 +226,7 @@
|
||||
"LabelStatsMinutes": "хвилин",
|
||||
"LabelStatsMinutesListening": "Хвилин прослухано",
|
||||
"LabelStatsWeekListening": "Прослухано за тиждень",
|
||||
"LabelStreamingUsingCellular": "Транслювати через мобільний інтернет",
|
||||
"LabelTag": "Мітка",
|
||||
"LabelTags": "Мітки",
|
||||
"LabelTheme": "Тема",
|
||||
@@ -226,6 +234,7 @@
|
||||
"LabelThemeLight": "Світла",
|
||||
"LabelTimeRemaining": "Лишилося: {0}",
|
||||
"LabelTitle": "Назва",
|
||||
"LabelTotalSize": "Загальний розмір",
|
||||
"LabelTotalTrack": "Загальний прогрес",
|
||||
"LabelTracks": "Доріжки",
|
||||
"LabelType": "Тип",
|
||||
@@ -245,8 +254,10 @@
|
||||
"MessageConfirmDeleteLocalEpisode": "Видалити локальний епізод \"{0}\" з вашого пристрою? Файл лишиться на сервері.",
|
||||
"MessageConfirmDeleteLocalFiles": "Видалити локальні файли цього елемента з вашого пристрою? Файли лишаться на сервері.",
|
||||
"MessageConfirmDiscardProgress": "Ви дійсно бажаєте скинути ваш прогрес?",
|
||||
"MessageConfirmDownloadUsingCellular": "Ви збираєтеся завантажувати через мобільний інтернет. Оператор може брати кошти. Бажаєте продовжити?",
|
||||
"MessageConfirmMarkAsFinished": "Ви дійсно бажаєте позначити цей елемент завершеним?",
|
||||
"MessageConfirmRemoveBookmark": "Ви дійсно бажаєте видалити закладку?",
|
||||
"MessageConfirmStreamingUsingCellular": "Ви збираєтеся транслювати через мобільний інтернет. Оператор може брати кошти. Бажаєте продовжити?",
|
||||
"MessageDiscardProgress": "Скинути прогрес",
|
||||
"MessageDownloadCompleteProcessing": "Завантаження завершено. Обробка...",
|
||||
"MessageDownloading": "Завантажується...",
|
||||
@@ -254,7 +265,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "Епізодів у черзі завантаження: {0}",
|
||||
"MessageFeedURLWillBe": "URL-адреса каналу буде {0}",
|
||||
"MessageFetching": "Отримання...",
|
||||
"MessageFollowTheProjectOnGithub": "Слідкуйте за проєктом на Github",
|
||||
"MessageFollowTheProjectOnGithub": "Слідкуйте за проєктом на GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Завантаження завершено, але не вдалося створити елемент бібліотеки",
|
||||
"MessageLoading": "Завантаження...",
|
||||
"MessageLoadingServerData": "Завантаження даних сервера...",
|
||||
@@ -286,11 +297,13 @@
|
||||
"ToastBookmarkCreateFailed": "Не вдалося створити закладку",
|
||||
"ToastBookmarkRemoveFailed": "Не вдалося видалити закладку",
|
||||
"ToastBookmarkUpdateFailed": "Не вдалося оновити закладку",
|
||||
"ToastDownloadNotAllowedOnCellular": "Завантаження через мобільний інтернет заборонено",
|
||||
"ToastItemMarkedAsFinishedFailed": "Не вдалося позначити завершеним",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Не вдалося позначити незавершеним",
|
||||
"ToastPlaylistCreateFailed": "Не вдалося створити список",
|
||||
"ToastPodcastCreateFailed": "Не вдалося створити подкаст",
|
||||
"ToastPodcastCreateSuccess": "Подкаст успішно створено",
|
||||
"ToastRSSFeedCloseFailed": "Не вдалося закрити RSS-канал",
|
||||
"ToastRSSFeedCloseSuccess": "RSS-канал закрито"
|
||||
"ToastRSSFeedCloseSuccess": "RSS-канал закрито",
|
||||
"ToastStreamingNotAllowedOnCellular": "Трансляція через мобільний інтернет заборонена"
|
||||
}
|
||||
|
||||
+23
-13
@@ -56,6 +56,7 @@
|
||||
"HeaderCollection": "Bộ Sưu Tập",
|
||||
"HeaderCollectionItems": "Mục Bộ Sưu Tập",
|
||||
"HeaderConnectionStatus": "Trạng Thái Kết Nối",
|
||||
"HeaderDataSettings": "Data Settings",
|
||||
"HeaderDetails": "Chi Tiết",
|
||||
"HeaderDownloads": "Tải Xuống",
|
||||
"HeaderEbookFiles": "Tập Tin Ebook",
|
||||
@@ -82,11 +83,13 @@
|
||||
"HeaderTableOfContents": "Mục Lục",
|
||||
"HeaderUserInterfaceSettings": "Cài Đặt Giao Diện Người Dùng",
|
||||
"HeaderYourStats": "Thống Kê của Bạn",
|
||||
"LabelAddToPlaylist": "Thêm vào Danh Sách Phát",
|
||||
"LabelAdded": "Đã Thêm",
|
||||
"LabelAddedAt": "Đã Thêm Vào",
|
||||
"LabelAddToPlaylist": "Thêm vào Danh Sách Phát",
|
||||
"LabelAll": "Tất Cả",
|
||||
"LabelAllowSeekingOnMediaControls": "Cho phép tìm kiếm vị trí trên các điều khiển phương tiện thông báo",
|
||||
"LabelAlways": "Always",
|
||||
"LabelAskConfirmation": "Ask for confirmation",
|
||||
"LabelAuthor": "Tác Giả",
|
||||
"LabelAuthorFirstLast": "Tác Giả (Tên Đầu Tiên, Họ)",
|
||||
"LabelAuthorLastFirst": "Tác Giả (Họ, Tên Đầu Tiên)",
|
||||
@@ -98,8 +101,8 @@
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "Khi bộ đếm thời gian ngủ tự động hoàn thành, việc phát lại mục sẽ tự động lùi lại vị trí của bạn.",
|
||||
"LabelAutoSleepTimerHelp": "Khi phát phương tiện giữa các thời gian bắt đầu và kết thúc được chỉ định, một bộ đếm thời gian ngủ sẽ tự động bắt đầu.",
|
||||
"LabelBooks": "Sách",
|
||||
"LabelChapters": "Chương",
|
||||
"LabelChapterTrack": "Theo Dõi Chương",
|
||||
"LabelChapters": "Chương",
|
||||
"LabelClosePlayer": "Đóng Trình Phát",
|
||||
"LabelCollapseSeries": "Thu Gọn Chuỗi",
|
||||
"LabelComplete": "Hoàn Thành",
|
||||
@@ -119,6 +122,7 @@
|
||||
"LabelDisableVibrateOnResetHelp": "Khi bộ đếm thời gian ngủ được đặt lại, thiết bị của bạn sẽ rung. Bật cài đặt này để không rung khi bộ đếm thời gian ngủ được đặt lại.",
|
||||
"LabelDiscover": "Khám Phá",
|
||||
"LabelDownload": "Tải Xuống",
|
||||
"LabelDownloadUsingCellular": "Download using Cellular",
|
||||
"LabelDownloaded": "Đã Tải Xuống",
|
||||
"LabelDuration": "Thời Lượng",
|
||||
"LabelEbook": "Ebook",
|
||||
@@ -146,8 +150,8 @@
|
||||
"LabelHeavy": "Nặng",
|
||||
"LabelHigh": "Cao",
|
||||
"LabelHost": "Máy Chủ",
|
||||
"LabelIncomplete": "Chưa Hoàn Thành",
|
||||
"LabelInProgress": "Đang Tiến Hành",
|
||||
"LabelIncomplete": "Chưa Hoàn Thành",
|
||||
"LabelInternalAppStorage": "Bộ Nhớ Ứng Dụng Nội Bộ",
|
||||
"LabelJumpBackwardsTime": "Nhảy Lùi Thời Gian",
|
||||
"LabelJumpForwardsTime": "Nhảy Chuyển Tiếp Thời Gian",
|
||||
@@ -170,6 +174,7 @@
|
||||
"LabelName": "Tên",
|
||||
"LabelNarrator": "Người Đọc",
|
||||
"LabelNarrators": "Người Đọc",
|
||||
"LabelNever": "Never",
|
||||
"LabelNewestAuthors": "Tác Giả Mới Nhất",
|
||||
"LabelNewestEpisodes": "Các Tập Phim Mới Nhất",
|
||||
"LabelNo": "Không",
|
||||
@@ -188,15 +193,15 @@
|
||||
"LabelProgress": "Tiến Độ",
|
||||
"LabelPubDate": "Ngày Xuất Bản",
|
||||
"LabelPublishYear": "Năm Xuất Bản",
|
||||
"LabelRead": "Đã Đọc",
|
||||
"LabelReadAgain": "Đọc Lại",
|
||||
"LabelRecentlyAdded": "Được Thêm Gần Đây",
|
||||
"LabelRecentSeries": "Chuỗi Gần Đây",
|
||||
"LabelRemoveFromPlaylist": "Xóa khỏi Danh Sách Phát",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Email Chủ Sở Hữu Tùy Chỉnh",
|
||||
"LabelRSSFeedCustomOwnerName": "Tên Chủ Sở Hữu Tùy Chỉnh",
|
||||
"LabelRSSFeedPreventIndexing": "Ngăn Chặn Lập Chỉ Mục",
|
||||
"LabelRSSFeedSlug": "RSS Feed Slug",
|
||||
"LabelRead": "Đã Đọc",
|
||||
"LabelReadAgain": "Đọc Lại",
|
||||
"LabelRecentSeries": "Chuỗi Gần Đây",
|
||||
"LabelRecentlyAdded": "Được Thêm Gần Đây",
|
||||
"LabelRemoveFromPlaylist": "Xóa khỏi Danh Sách Phát",
|
||||
"LabelScaleElapsedTimeBySpeed": "Tỷ Lệ Thời Gian Đã Trôi Theo Tốc Độ",
|
||||
"LabelSeason": "Mùa",
|
||||
"LabelSelectADevice": "Chọn Một Thiết Bị",
|
||||
@@ -219,6 +224,7 @@
|
||||
"LabelStatsMinutes": "phút",
|
||||
"LabelStatsMinutesListening": "Phút Đã Nghe",
|
||||
"LabelStatsWeekListening": "Tuần Đã Nghe",
|
||||
"LabelStreamingUsingCellular": "Streaming using Cellular",
|
||||
"LabelTag": "Thẻ",
|
||||
"LabelTags": "Thẻ",
|
||||
"LabelTheme": "Giao Diện",
|
||||
@@ -245,8 +251,10 @@
|
||||
"MessageConfirmDeleteLocalEpisode": "Xóa tập phim địa phương \"{0}\" khỏi thiết bị của bạn? Tập tin trên máy chủ sẽ không bị ảnh hưởng.",
|
||||
"MessageConfirmDeleteLocalFiles": "Xóa các tập tin địa phương của mục này khỏi thiết bị của bạn? Các tập tin trên máy chủ và tiến trình của bạn sẽ không bị ảnh hưởng.",
|
||||
"MessageConfirmDiscardProgress": "Bạn có chắc chắn muốn đặt lại tiến trình của mình không?",
|
||||
"MessageConfirmDownloadUsingCellular": "You are about to download using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageConfirmMarkAsFinished": "Bạn có chắc chắn muốn đánh dấu mục này là đã hoàn thành không?",
|
||||
"MessageConfirmRemoveBookmark": "Bạn có chắc chắn muốn xóa đánh dấu?",
|
||||
"MessageConfirmStreamingUsingCellular": "You are about to stream using cellular data. This may include carrier data charges. Do you wish to continue?",
|
||||
"MessageDiscardProgress": "Hủy Bỏ Tiến Độ",
|
||||
"MessageDownloadCompleteProcessing": "Tải xuống hoàn tất. Đang xử lý...",
|
||||
"MessageDownloading": "Đang tải xuống...",
|
||||
@@ -254,7 +262,7 @@
|
||||
"MessageEpisodesQueuedForDownload": "{0} Tập phim được xếp hàng để tải xuống",
|
||||
"MessageFeedURLWillBe": "URL Feed sẽ là {0}",
|
||||
"MessageFetching": "Đang lấy dữ liệu...",
|
||||
"MessageFollowTheProjectOnGithub": "Theo dõi dự án trên Github",
|
||||
"MessageFollowTheProjectOnGithub": "Theo dõi dự án trên GitHub",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "Tải xuống mục hoàn tất nhưng không thể tạo mục thư viện",
|
||||
"MessageLoading": "Đang tải...",
|
||||
"MessageLoadingServerData": "Đang tải dữ liệu máy chủ...",
|
||||
@@ -277,20 +285,22 @@
|
||||
"MessageNoUserPlaylists": "Bạn không có danh sách phát nào",
|
||||
"MessageReportBugsAndContribute": "Báo cáo lỗi, yêu cầu tính năng và đóng góp tại",
|
||||
"MessageSocketConnectedOverMeteredCellular": "Kết nối Socket qua dữ liệu di động đo lường",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Kết nối Socket qua wifi đo lường",
|
||||
"MessageSocketConnectedOverMeteredWifi": "Kết nối Socket qua Wi-Fi đo lường",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "Kết nối Socket qua dữ liệu di động không đo lường",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Kết nối Socket qua wifi không đo lường",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "Kết nối Socket qua Wi-Fi không đo lường",
|
||||
"MessageSocketNotConnected": "Socket không kết nối",
|
||||
"NoteRSSFeedPodcastAppsHttps": "Lưu ý: Hầu hết các ứng dụng podcast sẽ yêu cầu URL feed RSS sử dụng HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "Lưu ý: 1 hoặc nhiều tập phim của bạn không có Ngày Xuất Bản. Một số ứng dụng podcast yêu cầu điều này.",
|
||||
"ToastBookmarkCreateFailed": "Không thể tạo đánh dấu",
|
||||
"ToastBookmarkRemoveFailed": "Không thể xóa đánh dấu",
|
||||
"ToastBookmarkUpdateFailed": "Không thể cập nhật đánh dấu",
|
||||
"ToastDownloadNotAllowedOnCellular": "Downloading is not allowed on cellular data",
|
||||
"ToastItemMarkedAsFinishedFailed": "Không thể đánh dấu là Hoàn Thành",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "Không thể đánh dấu là Chưa Hoàn Thành",
|
||||
"ToastPlaylistCreateFailed": "Không thể tạo danh sách phát",
|
||||
"ToastPodcastCreateFailed": "Không thể tạo podcast",
|
||||
"ToastPodcastCreateSuccess": "Tạo podcast thành công",
|
||||
"ToastRSSFeedCloseFailed": "Không thể đóng RSS feed",
|
||||
"ToastRSSFeedCloseSuccess": "Đóng RSS feed thành công"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "Đóng RSS feed thành công",
|
||||
"ToastStreamingNotAllowedOnCellular": "Streaming is not allowed on cellular data"
|
||||
}
|
||||
|
||||
+44
-31
@@ -33,6 +33,7 @@
|
||||
"ButtonOverride": "覆盖",
|
||||
"ButtonPause": "暂停",
|
||||
"ButtonPlay": "播放",
|
||||
"ButtonPlayEpisode": "播放剧集",
|
||||
"ButtonPlaying": "正在播放",
|
||||
"ButtonPlaylists": "播放列表",
|
||||
"ButtonRead": "读取",
|
||||
@@ -56,6 +57,7 @@
|
||||
"HeaderCollection": "收藏",
|
||||
"HeaderCollectionItems": "收藏项目",
|
||||
"HeaderConnectionStatus": "连接状态",
|
||||
"HeaderDataSettings": "数据设置",
|
||||
"HeaderDetails": "详情",
|
||||
"HeaderDownloads": "下载",
|
||||
"HeaderEbookFiles": "电子书文件",
|
||||
@@ -65,7 +67,7 @@
|
||||
"HeaderLibraries": "媒体库",
|
||||
"HeaderLocalFolders": "本地文件夹",
|
||||
"HeaderLocalLibraryItems": "本地库项目",
|
||||
"HeaderNewPlaylist": "新的播放列表",
|
||||
"HeaderNewPlaylist": "新建播放列表",
|
||||
"HeaderOpenRSSFeed": "打开 RSS 源",
|
||||
"HeaderPlaybackSettings": "播放设置",
|
||||
"HeaderPlaylist": "播放列表",
|
||||
@@ -82,24 +84,26 @@
|
||||
"HeaderTableOfContents": "目录",
|
||||
"HeaderUserInterfaceSettings": "用户界面设置",
|
||||
"HeaderYourStats": "你的统计数据",
|
||||
"LabelAddToPlaylist": "添加到播放列表",
|
||||
"LabelAdded": "添加",
|
||||
"LabelAddedAt": "添加于",
|
||||
"LabelAddToPlaylist": "添加到播放列表",
|
||||
"LabelAll": "全部",
|
||||
"LabelAllowSeekingOnMediaControls": "允许在媒体通知控件上查找位置",
|
||||
"LabelAlways": "总是",
|
||||
"LabelAskConfirmation": "要求确认",
|
||||
"LabelAuthor": "作者",
|
||||
"LabelAuthorFirstLast": "作者 (姓 名)",
|
||||
"LabelAuthorFirstLast": "作者 (姓 名)",
|
||||
"LabelAuthorLastFirst": "作者 (名, 姓)",
|
||||
"LabelAuthors": "作者",
|
||||
"LabelAutoDownloadEpisodes": "自动下载剧集",
|
||||
"LabelAutoRewindTime": "自动倒带时间",
|
||||
"LabelAutoSleepTimer": "自动睡眠定时器",
|
||||
"LabelAutoSleepTimerAutoRewind": "自动睡眠定时器自动倒带",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "当自动睡眠计时器结束时, 再次播放该项目将自动倒带您之前的位置.",
|
||||
"LabelAutoSleepTimerAutoRewindHelp": "当自动睡眠计时器结束时, 再次播放该项目将自动倒带你之前的位置.",
|
||||
"LabelAutoSleepTimerHelp": "当在指定的时间范围内播放媒体时, 睡眠计时器将自动启动.",
|
||||
"LabelBooks": "图书",
|
||||
"LabelChapters": "章节",
|
||||
"LabelChapterTrack": "章节音轨",
|
||||
"LabelChapters": "章节",
|
||||
"LabelClosePlayer": "关闭播放器",
|
||||
"LabelCollapseSeries": "折叠系列",
|
||||
"LabelComplete": "已完成",
|
||||
@@ -119,15 +123,16 @@
|
||||
"LabelDisableVibrateOnResetHelp": "当睡眠计时器重置时, 你的设备会振动. 启用此设置以在睡眠计时器重置时不振动.",
|
||||
"LabelDiscover": "发现",
|
||||
"LabelDownload": "下载",
|
||||
"LabelDownloadUsingCellular": "使用移动数据网络进行下载",
|
||||
"LabelDownloaded": "已下载",
|
||||
"LabelDuration": "持续时间",
|
||||
"LabelEbook": "电子书",
|
||||
"LabelEbooks": "电子书",
|
||||
"LabelEnable": "启用",
|
||||
"LabelEnableMp3IndexSeeking": "启用 mp3 索引搜索",
|
||||
"LabelEnableMp3IndexSeekingHelp": "只有当您的mp3文件未正确查找时, 才应启用此设置.不准确的搜索很可能是由于可变二进制(VBR)MP3文件. 此设置将强制进行索引查找, 即在读取文件时构建时间到字节的映射. 在某些情况下, 对于大型MP3文件, 在查找文件末尾时会有延迟.",
|
||||
"LabelEnableMp3IndexSeekingHelp": "只有当你的 mp3 文件未正确查找时, 才应启用此设置. 不准确的搜索很可能是由于可变二进制 (VBR) MP3 文件. 此设置将强制进行索引查找, 即在读取文件时构建时间到字节的映射. 在某些情况下, 对于大型MP3文件, 在查找文件末尾时会有延迟.",
|
||||
"LabelEnd": "结束",
|
||||
"LabelEndOfChapter": "章节结尾",
|
||||
"LabelEndOfChapter": "章节结束",
|
||||
"LabelEndTime": "结束时间",
|
||||
"LabelEpisode": "剧集",
|
||||
"LabelFeedURL": "源 URL",
|
||||
@@ -137,6 +142,7 @@
|
||||
"LabelFilename": "文件名",
|
||||
"LabelFinished": "已听完",
|
||||
"LabelFolder": "文件夹",
|
||||
"LabelFontBoldness": "字体粗细",
|
||||
"LabelFontScale": "字体比例",
|
||||
"LabelGenre": "流派",
|
||||
"LabelGenres": "流派",
|
||||
@@ -146,8 +152,8 @@
|
||||
"LabelHeavy": "重",
|
||||
"LabelHigh": "高",
|
||||
"LabelHost": "主机",
|
||||
"LabelIncomplete": "未听完",
|
||||
"LabelInProgress": "正在听",
|
||||
"LabelIncomplete": "未听完",
|
||||
"LabelInternalAppStorage": "应用内部存储",
|
||||
"LabelJumpBackwardsTime": "快退时间",
|
||||
"LabelJumpForwardsTime": "快进时间",
|
||||
@@ -166,10 +172,11 @@
|
||||
"LabelMediaType": "媒体类型",
|
||||
"LabelMedium": "中等",
|
||||
"LabelMore": "更多",
|
||||
"LabelMoreInfo": "更多..",
|
||||
"LabelMoreInfo": "更多信息",
|
||||
"LabelName": "名称",
|
||||
"LabelNarrator": "演播者",
|
||||
"LabelNarrators": "演播者",
|
||||
"LabelNever": "从不",
|
||||
"LabelNewestAuthors": "最新作者",
|
||||
"LabelNewestEpisodes": "最新剧集",
|
||||
"LabelNo": "取消",
|
||||
@@ -188,15 +195,15 @@
|
||||
"LabelProgress": "进度",
|
||||
"LabelPubDate": "出版日期",
|
||||
"LabelPublishYear": "发布年份",
|
||||
"LabelRead": "阅读",
|
||||
"LabelReadAgain": "再次阅读",
|
||||
"LabelRecentlyAdded": "最近添加",
|
||||
"LabelRecentSeries": "最近添加系列",
|
||||
"LabelRemoveFromPlaylist": "从播放列表中删除",
|
||||
"LabelRSSFeedCustomOwnerEmail": "自定义所有者电子邮件",
|
||||
"LabelRSSFeedCustomOwnerName": "自定义所有者名称",
|
||||
"LabelRSSFeedPreventIndexing": "防止索引",
|
||||
"LabelRSSFeedSlug": "RSS 源段",
|
||||
"LabelRead": "阅读",
|
||||
"LabelReadAgain": "再次阅读",
|
||||
"LabelRecentSeries": "最近添加系列",
|
||||
"LabelRecentlyAdded": "最近添加",
|
||||
"LabelRemoveFromPlaylist": "从播放列表中删除",
|
||||
"LabelScaleElapsedTimeBySpeed": "按速度缩放播放时间",
|
||||
"LabelSeason": "季",
|
||||
"LabelSelectADevice": "选择设备",
|
||||
@@ -219,6 +226,7 @@
|
||||
"LabelStatsMinutes": "分钟",
|
||||
"LabelStatsMinutesListening": "收听分钟数",
|
||||
"LabelStatsWeekListening": "每周收听",
|
||||
"LabelStreamingUsingCellular": "使用移动数据进行流媒体播放",
|
||||
"LabelTag": "标签",
|
||||
"LabelTags": "标签",
|
||||
"LabelTheme": "主题",
|
||||
@@ -226,6 +234,7 @@
|
||||
"LabelThemeLight": "明亮",
|
||||
"LabelTimeRemaining": "剩余 {0}",
|
||||
"LabelTitle": "标题",
|
||||
"LabelTotalSize": "总大小",
|
||||
"LabelTotalTrack": "音轨总数",
|
||||
"LabelTracks": "音轨",
|
||||
"LabelType": "类型",
|
||||
@@ -240,26 +249,28 @@
|
||||
"MessageAndroid10Downloads": "Android 10 及以下版本将使用内部应用程序存储进行下载.",
|
||||
"MessageAttemptingServerConnection": "正在尝试连接服务器...",
|
||||
"MessageAudiobookshelfServerNotConnected": "Audiobookshelf 服务器未连接",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>重要!</strong> 此应用程序设计用于与您或您认识的人托管的 Audiobookshelf 服务器配合使用. 此应用程序不提供任何内容.",
|
||||
"MessageAudiobookshelfServerRequired": "<strong>重要!</strong> 此应用程序设计用于与你或你认识的人托管的 Audiobookshelf 服务器配合使用. 此应用程序不提供任何内容.",
|
||||
"MessageBookshelfEmpty": "书架是空的",
|
||||
"MessageConfirmDeleteLocalEpisode": "要从设备中删除本地剧集 \"{0}\" 吗? 服务器上的文件将不受影响.",
|
||||
"MessageConfirmDeleteLocalFiles": "要从设备中删除此项目的本地文件吗? 服务器上的文件和您的进度将不受影响.",
|
||||
"MessageConfirmDiscardProgress": "您确定要重置进度吗?",
|
||||
"MessageConfirmMarkAsFinished": "您确定要要将此项目标记为已完成吗?",
|
||||
"MessageConfirmRemoveBookmark": "您确定要删除书签吗?",
|
||||
"MessageConfirmDeleteLocalFiles": "要从设备中删除此项目的本地文件吗? 服务器上的文件和你的进度将不受影响.",
|
||||
"MessageConfirmDiscardProgress": "你确定要重置进度吗?",
|
||||
"MessageConfirmDownloadUsingCellular": "你即将使用移动数据进行下载. 这可能包括运营商数据费用. 是否要继续?",
|
||||
"MessageConfirmMarkAsFinished": "你确定要要将此项目标记为已完成吗?",
|
||||
"MessageConfirmRemoveBookmark": "你确定要删除书签吗?",
|
||||
"MessageConfirmStreamingUsingCellular": "你将使用移动数据进行流媒体播放. 这可能包括运营商数据费用. 是否要继续?",
|
||||
"MessageDiscardProgress": "放弃进度",
|
||||
"MessageDownloadCompleteProcessing": "下载完成.正在处理...",
|
||||
"MessageDownloadCompleteProcessing": "下载完成. 正在处理...",
|
||||
"MessageDownloading": "下载中...",
|
||||
"MessageDownloadingEpisode": "正在下载剧集",
|
||||
"MessageEpisodesQueuedForDownload": "{0} 个剧集排队等待下载",
|
||||
"MessageFeedURLWillBe": "源 URL 将改为 {0}",
|
||||
"MessageFetching": "正在获取...",
|
||||
"MessageFollowTheProjectOnGithub": "在 Github 上关注此项目",
|
||||
"MessageFollowTheProjectOnGithub": "在 GitHub 上关注此项目",
|
||||
"MessageItemDownloadCompleteFailedToCreate": "项目下载完成, 但未能创建库项目",
|
||||
"MessageLoading": "加载...",
|
||||
"MessageLoading": "正在加载...",
|
||||
"MessageLoadingServerData": "正在加载服务器数据...",
|
||||
"MessageMarkAsFinished": "标记为已听完",
|
||||
"MessageMediaLinkedToADifferentServer": "媒体链接到了一个地址不同({0})的 Audiobookshelf 服务器上. 连接到此服务器地址时将同步进度.",
|
||||
"MessageMediaLinkedToADifferentServer": "媒体链接到了一个地址不同 ({0}) 的 Audiobookshelf 服务器上. 连接到此服务器地址时将同步进度.",
|
||||
"MessageMediaLinkedToADifferentUser": "媒体链接到此服务器, 但是由其他用户下载. 进度将只同步到下载的用户.",
|
||||
"MessageMediaLinkedToServer": "链接到服务器 {0}",
|
||||
"MessageMediaLinkedToThisServer": "下载的媒体链接到此服务器",
|
||||
@@ -275,22 +286,24 @@
|
||||
"MessageNoSeries": "No series",
|
||||
"MessageNoUpdatesWereNecessary": "无需更新",
|
||||
"MessageNoUserPlaylists": "你没有播放列表",
|
||||
"MessageReportBugsAndContribute": "报告错误, 请求功能和贡献在",
|
||||
"MessageSocketConnectedOverMeteredCellular": "通过按流量计费的蜂窝网络完成连接",
|
||||
"MessageReportBugsAndContribute": "报告错误、请求功能和贡献在",
|
||||
"MessageSocketConnectedOverMeteredCellular": "通过按流量计费的移动数据网络完成连接",
|
||||
"MessageSocketConnectedOverMeteredWifi": "通过按流量计费的无线网络完成连接",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "通过不计量的蜂窝网络完成连接",
|
||||
"MessageSocketConnectedOverUnmeteredCellular": "通过不计量的移动数据网络完成连接",
|
||||
"MessageSocketConnectedOverUnmeteredWifi": "通过不计量的无线网络完成连接",
|
||||
"MessageSocketNotConnected": "未连接",
|
||||
"NoteRSSFeedPodcastAppsHttps": "警告: 大多数播客应用程序都需要 RSS 源 URL 使用 HTTPS",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "警告: 您的一集或多集没有发布日期. 一些播客应用程序要求这样做.",
|
||||
"NoteRSSFeedPodcastAppsPubDate": "警告: 你的一集或多集没有发布日期. 一些播客应用程序要求这样做.",
|
||||
"ToastBookmarkCreateFailed": "创建书签失败",
|
||||
"ToastBookmarkRemoveFailed": "书签删除失败",
|
||||
"ToastBookmarkUpdateFailed": "书签更新失败",
|
||||
"ToastItemMarkedAsFinishedFailed": "标记为听完失败",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "标记为未听完失败",
|
||||
"ToastDownloadNotAllowedOnCellular": "不允许通过移动数据进行下载",
|
||||
"ToastItemMarkedAsFinishedFailed": "无法标记为已听完",
|
||||
"ToastItemMarkedAsNotFinishedFailed": "无法标记为未听完",
|
||||
"ToastPlaylistCreateFailed": "创建播放列表失败",
|
||||
"ToastPodcastCreateFailed": "创建播客失败",
|
||||
"ToastPodcastCreateSuccess": "已成功创建播客",
|
||||
"ToastRSSFeedCloseFailed": "关闭 RSS 源失败",
|
||||
"ToastRSSFeedCloseSuccess": "RSS 源已关闭"
|
||||
}
|
||||
"ToastRSSFeedCloseSuccess": "RSS 源已关闭",
|
||||
"ToastStreamingNotAllowedOnCellular": "不允许通过移动数据进行流媒体播放"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user