mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Merge branch 'master' into strings
This commit is contained in:
commit
221c7777d1
11 changed files with 693 additions and 637 deletions
|
@ -6,8 +6,8 @@
|
||||||
"license": "GPL-2.0-or-later",
|
"license": "GPL-2.0-or-later",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.11.1",
|
"@babel/core": "^7.11.1",
|
||||||
"@babel/eslint-parser": "^7.11.0",
|
"@babel/eslint-parser": "^7.11.3",
|
||||||
"@babel/eslint-plugin": "^7.11.0",
|
"@babel/eslint-plugin": "^7.11.3",
|
||||||
"@babel/plugin-proposal-class-properties": "^7.10.1",
|
"@babel/plugin-proposal-class-properties": "^7.10.1",
|
||||||
"@babel/plugin-proposal-private-methods": "^7.10.1",
|
"@babel/plugin-proposal-private-methods": "^7.10.1",
|
||||||
"@babel/plugin-transform-modules-amd": "^7.10.5",
|
"@babel/plugin-transform-modules-amd": "^7.10.5",
|
||||||
|
@ -165,6 +165,7 @@
|
||||||
"src/components/remotecontrol/remotecontrol.js",
|
"src/components/remotecontrol/remotecontrol.js",
|
||||||
"src/components/sanatizefilename.js",
|
"src/components/sanatizefilename.js",
|
||||||
"src/components/scrollManager.js",
|
"src/components/scrollManager.js",
|
||||||
|
"src/plugins/htmlAudioPlayer/plugin.js",
|
||||||
"src/plugins/chromecastPlayer/plugin.js",
|
"src/plugins/chromecastPlayer/plugin.js",
|
||||||
"src/components/slideshow/slideshow.js",
|
"src/components/slideshow/slideshow.js",
|
||||||
"src/components/sortmenu/sortmenu.js",
|
"src/components/sortmenu/sortmenu.js",
|
||||||
|
@ -317,6 +318,7 @@
|
||||||
"src/scripts/filesystem.js",
|
"src/scripts/filesystem.js",
|
||||||
"src/scripts/globalize.js",
|
"src/scripts/globalize.js",
|
||||||
"src/scripts/imagehelper.js",
|
"src/scripts/imagehelper.js",
|
||||||
|
"src/scripts/itembynamedetailpage.js",
|
||||||
"src/scripts/inputManager.js",
|
"src/scripts/inputManager.js",
|
||||||
"src/scripts/autoThemes.js",
|
"src/scripts/autoThemes.js",
|
||||||
"src/scripts/themeManager.js",
|
"src/scripts/themeManager.js",
|
||||||
|
|
|
@ -1,91 +1,92 @@
|
||||||
define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelper'], function (events, browser, require, appHost, appSettings, htmlMediaHelper) {
|
import events from 'events';
|
||||||
'use strict';
|
import browser from 'browser';
|
||||||
|
import appHost from 'apphost';
|
||||||
|
import * as htmlMediaHelper from 'htmlMediaHelper';
|
||||||
|
|
||||||
function getDefaultProfile() {
|
function getDefaultProfile() {
|
||||||
return new Promise(function (resolve, reject) {
|
return import('browserdeviceprofile').then(({ default: profileBuilder }) => {
|
||||||
require(['browserdeviceprofile'], function (profileBuilder) {
|
return profileBuilder({});
|
||||||
resolve(profileBuilder({}));
|
});
|
||||||
});
|
}
|
||||||
|
|
||||||
|
let fadeTimeout;
|
||||||
|
function fade(instance, elem, startingVolume) {
|
||||||
|
instance._isFadingOut = true;
|
||||||
|
|
||||||
|
// Need to record the starting volume on each pass rather than querying elem.volume
|
||||||
|
// This is due to iOS safari not allowing volume changes and always returning the system volume value
|
||||||
|
const newVolume = Math.max(0, startingVolume - 0.15);
|
||||||
|
console.debug('fading volume to ' + newVolume);
|
||||||
|
elem.volume = newVolume;
|
||||||
|
|
||||||
|
if (newVolume <= 0) {
|
||||||
|
instance._isFadingOut = false;
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
cancelFadeTimeout();
|
||||||
|
fadeTimeout = setTimeout(function () {
|
||||||
|
fade(instance, elem, newVolume).then(resolve, reject);
|
||||||
|
}, 100);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function cancelFadeTimeout() {
|
||||||
|
const timeout = fadeTimeout;
|
||||||
|
if (timeout) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
fadeTimeout = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function supportsFade() {
|
||||||
|
if (browser.tv) {
|
||||||
|
// Not working on tizen.
|
||||||
|
// We could possibly enable on other tv's, but all smart tv browsers tend to be pretty primitive
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function requireHlsPlayer(callback) {
|
||||||
|
import('hlsjs').then(({ default: hls }) => {
|
||||||
|
window.Hls = hls;
|
||||||
|
callback();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function enableHlsPlayer(url, item, mediaSource, mediaType) {
|
||||||
|
if (!htmlMediaHelper.enableHlsJsPlayer(mediaSource.RunTimeTicks, mediaType)) {
|
||||||
|
return Promise.reject();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (url.indexOf('.m3u8') !== -1) {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
// issue head request to get content type
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
import('fetchHelper').then((fetchHelper) => {
|
||||||
|
fetchHelper.ajax({
|
||||||
|
url: url,
|
||||||
|
type: 'HEAD'
|
||||||
|
}).then(function (response) {
|
||||||
|
const contentType = (response.headers.get('Content-Type') || '').toLowerCase();
|
||||||
|
if (contentType === 'application/x-mpegurl') {
|
||||||
|
resolve();
|
||||||
|
} else {
|
||||||
|
reject();
|
||||||
|
}
|
||||||
|
}, reject);
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
|
}
|
||||||
|
|
||||||
var fadeTimeout;
|
class HtmlAudioPlayer {
|
||||||
function fade(instance, elem, startingVolume) {
|
constructor() {
|
||||||
instance._isFadingOut = true;
|
const self = this;
|
||||||
|
|
||||||
// Need to record the starting volume on each pass rather than querying elem.volume
|
|
||||||
// This is due to iOS safari not allowing volume changes and always returning the system volume value
|
|
||||||
var newVolume = Math.max(0, startingVolume - 0.15);
|
|
||||||
console.debug('fading volume to ' + newVolume);
|
|
||||||
elem.volume = newVolume;
|
|
||||||
|
|
||||||
if (newVolume <= 0) {
|
|
||||||
instance._isFadingOut = false;
|
|
||||||
return Promise.resolve();
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Promise(function (resolve, reject) {
|
|
||||||
cancelFadeTimeout();
|
|
||||||
fadeTimeout = setTimeout(function () {
|
|
||||||
fade(instance, elem, newVolume).then(resolve, reject);
|
|
||||||
}, 100);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function cancelFadeTimeout() {
|
|
||||||
var timeout = fadeTimeout;
|
|
||||||
if (timeout) {
|
|
||||||
clearTimeout(timeout);
|
|
||||||
fadeTimeout = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function supportsFade() {
|
|
||||||
if (browser.tv) {
|
|
||||||
// Not working on tizen.
|
|
||||||
// We could possibly enable on other tv's, but all smart tv browsers tend to be pretty primitive
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function requireHlsPlayer(callback) {
|
|
||||||
require(['hlsjs'], function (hls) {
|
|
||||||
window.Hls = hls;
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function enableHlsPlayer(url, item, mediaSource, mediaType) {
|
|
||||||
if (!htmlMediaHelper.enableHlsJsPlayer(mediaSource.RunTimeTicks, mediaType)) {
|
|
||||||
return Promise.reject();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (url.indexOf('.m3u8') !== -1) {
|
|
||||||
return Promise.resolve();
|
|
||||||
}
|
|
||||||
|
|
||||||
// issue head request to get content type
|
|
||||||
return new Promise(function (resolve, reject) {
|
|
||||||
require(['fetchHelper'], function (fetchHelper) {
|
|
||||||
fetchHelper.ajax({
|
|
||||||
url: url,
|
|
||||||
type: 'HEAD'
|
|
||||||
}).then(function (response) {
|
|
||||||
var contentType = (response.headers.get('Content-Type') || '').toLowerCase();
|
|
||||||
if (contentType === 'application/x-mpegurl') {
|
|
||||||
resolve();
|
|
||||||
} else {
|
|
||||||
reject();
|
|
||||||
}
|
|
||||||
}, reject);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function HtmlAudioPlayer() {
|
|
||||||
var self = this;
|
|
||||||
|
|
||||||
self.name = 'Html Audio Player';
|
self.name = 'Html Audio Player';
|
||||||
self.type = 'mediaplayer';
|
self.type = 'mediaplayer';
|
||||||
|
@ -99,7 +100,7 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
self._timeUpdated = false;
|
self._timeUpdated = false;
|
||||||
self._currentTime = null;
|
self._currentTime = null;
|
||||||
|
|
||||||
var elem = createMediaElement();
|
const elem = createMediaElement();
|
||||||
return setCurrentSrc(elem, options);
|
return setCurrentSrc(elem, options);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -109,11 +110,11 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
unBindEvents(elem);
|
unBindEvents(elem);
|
||||||
bindEvents(elem);
|
bindEvents(elem);
|
||||||
|
|
||||||
var val = options.url;
|
let val = options.url;
|
||||||
console.debug('playing url: ' + val);
|
console.debug('playing url: ' + val);
|
||||||
|
|
||||||
// Convert to seconds
|
// Convert to seconds
|
||||||
var seconds = (options.playerStartPositionTicks || 0) / 10000000;
|
const seconds = (options.playerStartPositionTicks || 0) / 10000000;
|
||||||
if (seconds) {
|
if (seconds) {
|
||||||
val += '#t=' + seconds;
|
val += '#t=' + seconds;
|
||||||
}
|
}
|
||||||
|
@ -122,7 +123,7 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
|
|
||||||
self._currentPlayOptions = options;
|
self._currentPlayOptions = options;
|
||||||
|
|
||||||
var crossOrigin = htmlMediaHelper.getCrossOriginValue(options.mediaSource);
|
const crossOrigin = htmlMediaHelper.getCrossOriginValue(options.mediaSource);
|
||||||
if (crossOrigin) {
|
if (crossOrigin) {
|
||||||
elem.crossOrigin = crossOrigin;
|
elem.crossOrigin = crossOrigin;
|
||||||
}
|
}
|
||||||
|
@ -130,9 +131,9 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
return enableHlsPlayer(val, options.item, options.mediaSource, 'Audio').then(function () {
|
return enableHlsPlayer(val, options.item, options.mediaSource, 'Audio').then(function () {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
requireHlsPlayer(function () {
|
requireHlsPlayer(function () {
|
||||||
var hls = new Hls({
|
const hls = new Hls({
|
||||||
manifestLoadingTimeOut: 20000,
|
manifestLoadingTimeOut: 20000,
|
||||||
xhrSetup: function(xhr, url) {
|
xhrSetup: function (xhr, url) {
|
||||||
xhr.withCredentials = true;
|
xhr.withCredentials = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -183,8 +184,8 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
self.stop = function (destroyPlayer) {
|
self.stop = function (destroyPlayer) {
|
||||||
cancelFadeTimeout();
|
cancelFadeTimeout();
|
||||||
|
|
||||||
var elem = self._mediaElement;
|
const elem = self._mediaElement;
|
||||||
var src = self._currentSrc;
|
const src = self._currentSrc;
|
||||||
|
|
||||||
if (elem && src) {
|
if (elem && src) {
|
||||||
if (!destroyPlayer || !supportsFade()) {
|
if (!destroyPlayer || !supportsFade()) {
|
||||||
|
@ -198,7 +199,7 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
|
|
||||||
var originalVolume = elem.volume;
|
const originalVolume = elem.volume;
|
||||||
|
|
||||||
return fade(self, elem, elem.volume).then(function () {
|
return fade(self, elem, elem.volume).then(function () {
|
||||||
elem.pause();
|
elem.pause();
|
||||||
|
@ -219,7 +220,7 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
};
|
};
|
||||||
|
|
||||||
function createMediaElement() {
|
function createMediaElement() {
|
||||||
var elem = self._mediaElement;
|
let elem = self._mediaElement;
|
||||||
|
|
||||||
if (elem) {
|
if (elem) {
|
||||||
return elem;
|
return elem;
|
||||||
|
@ -248,7 +249,7 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
|
|
||||||
function onTimeUpdate() {
|
function onTimeUpdate() {
|
||||||
// Get the player position + the transcoding offset
|
// Get the player position + the transcoding offset
|
||||||
var time = this.currentTime;
|
const time = this.currentTime;
|
||||||
|
|
||||||
// Don't trigger events after user stop
|
// Don't trigger events after user stop
|
||||||
if (!self._isFadingOut) {
|
if (!self._isFadingOut) {
|
||||||
|
@ -287,11 +288,11 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
}
|
}
|
||||||
|
|
||||||
function onError() {
|
function onError() {
|
||||||
var errorCode = this.error ? (this.error.code || 0) : 0;
|
const errorCode = this.error ? (this.error.code || 0) : 0;
|
||||||
var errorMessage = this.error ? (this.error.message || '') : '';
|
const errorMessage = this.error ? (this.error.message || '') : '';
|
||||||
console.error('media element error: ' + errorCode.toString() + ' ' + errorMessage);
|
console.error('media element error: ' + errorCode.toString() + ' ' + errorMessage);
|
||||||
|
|
||||||
var type;
|
let type;
|
||||||
|
|
||||||
switch (errorCode) {
|
switch (errorCode) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -325,59 +326,59 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.currentSrc = function () {
|
currentSrc() {
|
||||||
return this._currentSrc;
|
return this._currentSrc;
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.canPlayMediaType = function (mediaType) {
|
canPlayMediaType(mediaType) {
|
||||||
return (mediaType || '').toLowerCase() === 'audio';
|
return (mediaType || '').toLowerCase() === 'audio';
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.getDeviceProfile = function (item) {
|
getDeviceProfile(item) {
|
||||||
if (appHost.getDeviceProfile) {
|
if (appHost.getDeviceProfile) {
|
||||||
return appHost.getDeviceProfile(item);
|
return appHost.getDeviceProfile(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
return getDefaultProfile();
|
return getDefaultProfile();
|
||||||
};
|
}
|
||||||
|
|
||||||
// Save this for when playback stops, because querying the time at that point might return 0
|
// Save this for when playback stops, because querying the time at that point might return 0
|
||||||
HtmlAudioPlayer.prototype.currentTime = function (val) {
|
currentTime(val) {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
if (val != null) {
|
if (val != null) {
|
||||||
mediaElement.currentTime = val / 1000;
|
mediaElement.currentTime = val / 1000;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var currentTime = this._currentTime;
|
const currentTime = this._currentTime;
|
||||||
if (currentTime) {
|
if (currentTime) {
|
||||||
return currentTime * 1000;
|
return currentTime * 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (mediaElement.currentTime || 0) * 1000;
|
return (mediaElement.currentTime || 0) * 1000;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.duration = function (val) {
|
duration(val) {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
var duration = mediaElement.duration;
|
const duration = mediaElement.duration;
|
||||||
if (htmlMediaHelper.isValidDuration(duration)) {
|
if (htmlMediaHelper.isValidDuration(duration)) {
|
||||||
return duration * 1000;
|
return duration * 1000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.seekable = function () {
|
seekable() {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
var seekable = mediaElement.seekable;
|
const seekable = mediaElement.seekable;
|
||||||
if (seekable && seekable.length) {
|
if (seekable && seekable.length) {
|
||||||
var start = seekable.start(0);
|
let start = seekable.start(0);
|
||||||
var end = seekable.end(0);
|
let end = seekable.end(0);
|
||||||
|
|
||||||
if (!htmlMediaHelper.isValidDuration(start)) {
|
if (!htmlMediaHelper.isValidDuration(start)) {
|
||||||
start = 0;
|
start = 0;
|
||||||
|
@ -391,124 +392,120 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.getBufferedRanges = function () {
|
getBufferedRanges() {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
return htmlMediaHelper.getBufferedRanges(this, mediaElement);
|
return htmlMediaHelper.getBufferedRanges(this, mediaElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
return [];
|
return [];
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.pause = function () {
|
pause() {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
mediaElement.pause();
|
mediaElement.pause();
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
// This is a retry after error
|
// This is a retry after error
|
||||||
HtmlAudioPlayer.prototype.resume = function () {
|
resume() {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
mediaElement.play();
|
mediaElement.play();
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.unpause = function () {
|
unpause() {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
mediaElement.play();
|
mediaElement.play();
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.paused = function () {
|
paused() {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
return mediaElement.paused;
|
return mediaElement.paused;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.setPlaybackRate = function (value) {
|
setPlaybackRate(value) {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
mediaElement.playbackRate = value;
|
mediaElement.playbackRate = value;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.getPlaybackRate = function () {
|
getPlaybackRate() {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
return mediaElement.playbackRate;
|
return mediaElement.playbackRate;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.setVolume = function (val) {
|
setVolume(val) {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
mediaElement.volume = val / 100;
|
mediaElement.volume = val / 100;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.getVolume = function () {
|
getVolume() {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
return Math.min(Math.round(mediaElement.volume * 100), 100);
|
return Math.min(Math.round(mediaElement.volume * 100), 100);
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.volumeUp = function () {
|
volumeUp() {
|
||||||
this.setVolume(Math.min(this.getVolume() + 2, 100));
|
this.setVolume(Math.min(this.getVolume() + 2, 100));
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.volumeDown = function () {
|
volumeDown() {
|
||||||
this.setVolume(Math.max(this.getVolume() - 2, 0));
|
this.setVolume(Math.max(this.getVolume() - 2, 0));
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.setMute = function (mute) {
|
setMute(mute) {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
mediaElement.muted = mute;
|
mediaElement.muted = mute;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.isMuted = function () {
|
isMuted() {
|
||||||
var mediaElement = this._mediaElement;
|
const mediaElement = this._mediaElement;
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
return mediaElement.muted;
|
return mediaElement.muted;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
};
|
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.destroy = function () {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
var supportedFeatures;
|
|
||||||
|
|
||||||
function getSupportedFeatures() {
|
|
||||||
var list = [];
|
|
||||||
var audio = document.createElement('audio');
|
|
||||||
|
|
||||||
if (typeof audio.playbackRate === 'number') {
|
|
||||||
list.push('PlaybackRate');
|
|
||||||
}
|
|
||||||
|
|
||||||
return list;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HtmlAudioPlayer.prototype.supports = function (feature) {
|
supports(feature) {
|
||||||
if (!supportedFeatures) {
|
if (!supportedFeatures) {
|
||||||
supportedFeatures = getSupportedFeatures();
|
supportedFeatures = getSupportedFeatures();
|
||||||
}
|
}
|
||||||
|
|
||||||
return supportedFeatures.indexOf(feature) !== -1;
|
return supportedFeatures.indexOf(feature) !== -1;
|
||||||
};
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return HtmlAudioPlayer;
|
let supportedFeatures;
|
||||||
});
|
|
||||||
|
function getSupportedFeatures() {
|
||||||
|
const list = [];
|
||||||
|
const audio = document.createElement('audio');
|
||||||
|
|
||||||
|
if (typeof audio.playbackRate === 'number') {
|
||||||
|
list.push('PlaybackRate');
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default HtmlAudioPlayer;
|
||||||
|
|
|
@ -1,369 +1,374 @@
|
||||||
define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryBrowser', 'globalize', 'emby-itemscontainer', 'emby-button'], function (connectionManager, listView, cardBuilder, imageLoader, libraryBrowser, globalize) {
|
import connectionManager from 'connectionManager';
|
||||||
'use strict';
|
import listView from 'listView';
|
||||||
|
import cardBuilder from 'cardBuilder';
|
||||||
|
import imageLoader from 'imageLoader';
|
||||||
|
import globalize from 'globalize';
|
||||||
|
import 'emby-itemscontainer';
|
||||||
|
import 'emby-button';
|
||||||
|
|
||||||
function renderItems(page, item) {
|
function renderItems(page, item) {
|
||||||
var sections = [];
|
const sections = [];
|
||||||
|
|
||||||
if (item.ArtistCount) {
|
if (item.ArtistCount) {
|
||||||
sections.push({
|
sections.push({
|
||||||
name: globalize.translate('Artists'),
|
name: globalize.translate('Artists'),
|
||||||
type: 'MusicArtist'
|
type: 'MusicArtist'
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.ProgramCount && item.Type == 'Person') {
|
|
||||||
sections.push({
|
|
||||||
name: globalize.translate('HeaderUpcomingOnTV'),
|
|
||||||
type: 'Program'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.MovieCount) {
|
|
||||||
sections.push({
|
|
||||||
name: globalize.translate('TabMovies'),
|
|
||||||
type: 'Movie'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.SeriesCount) {
|
|
||||||
sections.push({
|
|
||||||
name: globalize.translate('TabShows'),
|
|
||||||
type: 'Series'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.EpisodeCount) {
|
|
||||||
sections.push({
|
|
||||||
name: globalize.translate('TabEpisodes'),
|
|
||||||
type: 'Episode'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.TrailerCount) {
|
|
||||||
sections.push({
|
|
||||||
name: globalize.translate('TabTrailers'),
|
|
||||||
type: 'Trailer'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.AlbumCount) {
|
|
||||||
sections.push({
|
|
||||||
name: globalize.translate('TabAlbums'),
|
|
||||||
type: 'MusicAlbum'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.MusicVideoCount) {
|
|
||||||
sections.push({
|
|
||||||
name: globalize.translate('TabMusicVideos'),
|
|
||||||
type: 'MusicVideo'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
var elem = page.querySelector('#childrenContent');
|
|
||||||
elem.innerHTML = sections.map(function (section) {
|
|
||||||
var html = '';
|
|
||||||
var sectionClass = 'verticalSection';
|
|
||||||
|
|
||||||
if (section.type === 'Audio') {
|
|
||||||
sectionClass += ' verticalSection-extrabottompadding';
|
|
||||||
}
|
|
||||||
|
|
||||||
html += '<div class="' + sectionClass + '" data-type="' + section.type + '">';
|
|
||||||
html += '<div class="sectionTitleContainer sectionTitleContainer-cards">';
|
|
||||||
html += '<h2 class="sectionTitle sectionTitle-cards">';
|
|
||||||
html += section.name;
|
|
||||||
html += '</h2>';
|
|
||||||
html += '<a is="emby-linkbutton" href="#" class="clearLink hide" style="margin-left:1em;vertical-align:middle;"><button is="emby-button" type="button" class="raised more raised-mini noIcon">' + globalize.translate('ButtonMore') + '</button></a>';
|
|
||||||
html += '</div>';
|
|
||||||
html += '<div is="emby-itemscontainer" class="itemsContainer padded-right">';
|
|
||||||
html += '</div>';
|
|
||||||
return html += '</div>';
|
|
||||||
}).join('');
|
|
||||||
var sectionElems = elem.querySelectorAll('.verticalSection');
|
|
||||||
|
|
||||||
for (var i = 0, length = sectionElems.length; i < length; i++) {
|
|
||||||
renderSection(page, item, sectionElems[i], sectionElems[i].getAttribute('data-type'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function renderSection(page, item, element, type) {
|
|
||||||
switch (type) {
|
|
||||||
case 'Program':
|
|
||||||
loadItems(element, item, type, {
|
|
||||||
MediaTypes: '',
|
|
||||||
IncludeItemTypes: 'Program',
|
|
||||||
PersonTypes: '',
|
|
||||||
ArtistIds: '',
|
|
||||||
AlbumArtistIds: '',
|
|
||||||
Limit: 10,
|
|
||||||
SortBy: 'StartDate'
|
|
||||||
}, {
|
|
||||||
shape: 'overflowBackdrop',
|
|
||||||
showTitle: true,
|
|
||||||
centerText: true,
|
|
||||||
overlayMoreButton: true,
|
|
||||||
preferThumb: true,
|
|
||||||
overlayText: false,
|
|
||||||
showAirTime: true,
|
|
||||||
showAirDateTime: true,
|
|
||||||
showChannelName: true
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'Movie':
|
|
||||||
loadItems(element, item, type, {
|
|
||||||
MediaTypes: '',
|
|
||||||
IncludeItemTypes: 'Movie',
|
|
||||||
PersonTypes: '',
|
|
||||||
ArtistIds: '',
|
|
||||||
AlbumArtistIds: '',
|
|
||||||
Limit: 10,
|
|
||||||
SortBy: 'SortName'
|
|
||||||
}, {
|
|
||||||
shape: 'overflowPortrait',
|
|
||||||
showTitle: true,
|
|
||||||
centerText: true,
|
|
||||||
overlayMoreButton: true,
|
|
||||||
overlayText: false,
|
|
||||||
showYear: true
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'MusicVideo':
|
|
||||||
loadItems(element, item, type, {
|
|
||||||
MediaTypes: '',
|
|
||||||
IncludeItemTypes: 'MusicVideo',
|
|
||||||
PersonTypes: '',
|
|
||||||
ArtistIds: '',
|
|
||||||
AlbumArtistIds: '',
|
|
||||||
Limit: 10,
|
|
||||||
SortBy: 'SortName'
|
|
||||||
}, {
|
|
||||||
shape: 'overflowPortrait',
|
|
||||||
showTitle: true,
|
|
||||||
centerText: true,
|
|
||||||
overlayPlayButton: true
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'Trailer':
|
|
||||||
loadItems(element, item, type, {
|
|
||||||
MediaTypes: '',
|
|
||||||
IncludeItemTypes: 'Trailer',
|
|
||||||
PersonTypes: '',
|
|
||||||
ArtistIds: '',
|
|
||||||
AlbumArtistIds: '',
|
|
||||||
Limit: 10,
|
|
||||||
SortBy: 'SortName'
|
|
||||||
}, {
|
|
||||||
shape: 'overflowPortrait',
|
|
||||||
showTitle: true,
|
|
||||||
centerText: true,
|
|
||||||
overlayPlayButton: true
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'Series':
|
|
||||||
loadItems(element, item, type, {
|
|
||||||
MediaTypes: '',
|
|
||||||
IncludeItemTypes: 'Series',
|
|
||||||
PersonTypes: '',
|
|
||||||
ArtistIds: '',
|
|
||||||
AlbumArtistIds: '',
|
|
||||||
Limit: 10,
|
|
||||||
SortBy: 'SortName'
|
|
||||||
}, {
|
|
||||||
shape: 'overflowPortrait',
|
|
||||||
showTitle: true,
|
|
||||||
centerText: true,
|
|
||||||
overlayMoreButton: true
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'MusicAlbum':
|
|
||||||
loadItems(element, item, type, {
|
|
||||||
MediaTypes: '',
|
|
||||||
IncludeItemTypes: 'MusicAlbum',
|
|
||||||
PersonTypes: '',
|
|
||||||
ArtistIds: '',
|
|
||||||
AlbumArtistIds: '',
|
|
||||||
SortOrder: 'Descending',
|
|
||||||
SortBy: 'ProductionYear,Sortname'
|
|
||||||
}, {
|
|
||||||
shape: 'overflowSquare',
|
|
||||||
playFromHere: true,
|
|
||||||
showTitle: true,
|
|
||||||
showYear: true,
|
|
||||||
coverImage: true,
|
|
||||||
centerText: true,
|
|
||||||
overlayPlayButton: true
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'MusicArtist':
|
|
||||||
loadItems(element, item, type, {
|
|
||||||
MediaTypes: '',
|
|
||||||
IncludeItemTypes: 'MusicArtist',
|
|
||||||
PersonTypes: '',
|
|
||||||
ArtistIds: '',
|
|
||||||
AlbumArtistIds: '',
|
|
||||||
Limit: 8,
|
|
||||||
SortBy: 'SortName'
|
|
||||||
}, {
|
|
||||||
shape: 'overflowSquare',
|
|
||||||
playFromHere: true,
|
|
||||||
showTitle: true,
|
|
||||||
showParentTitle: true,
|
|
||||||
coverImage: true,
|
|
||||||
centerText: true,
|
|
||||||
overlayPlayButton: true
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'Episode':
|
|
||||||
loadItems(element, item, type, {
|
|
||||||
MediaTypes: '',
|
|
||||||
IncludeItemTypes: 'Episode',
|
|
||||||
PersonTypes: '',
|
|
||||||
ArtistIds: '',
|
|
||||||
AlbumArtistIds: '',
|
|
||||||
Limit: 6,
|
|
||||||
SortBy: 'SortName'
|
|
||||||
}, {
|
|
||||||
shape: 'overflowBackdrop',
|
|
||||||
showTitle: true,
|
|
||||||
showParentTitle: true,
|
|
||||||
centerText: true,
|
|
||||||
overlayPlayButton: true
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'Audio':
|
|
||||||
loadItems(element, item, type, {
|
|
||||||
MediaTypes: '',
|
|
||||||
IncludeItemTypes: 'Audio',
|
|
||||||
PersonTypes: '',
|
|
||||||
ArtistIds: '',
|
|
||||||
AlbumArtistIds: '',
|
|
||||||
SortBy: 'AlbumArtist,Album,SortName'
|
|
||||||
}, {
|
|
||||||
playFromHere: true,
|
|
||||||
action: 'playallfromhere',
|
|
||||||
smallIcon: true,
|
|
||||||
artist: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function loadItems(element, item, type, query, listOptions) {
|
|
||||||
query = getQuery(query, item);
|
|
||||||
getItemsFunction(query, item)(query.StartIndex, query.Limit, query.Fields).then(function (result) {
|
|
||||||
var html = '';
|
|
||||||
|
|
||||||
if (query.Limit && result.TotalRecordCount > query.Limit) {
|
|
||||||
var link = element.querySelector('a');
|
|
||||||
link.classList.remove('hide');
|
|
||||||
link.setAttribute('href', getMoreItemsHref(item, type));
|
|
||||||
} else {
|
|
||||||
element.querySelector('a').classList.add('hide');
|
|
||||||
}
|
|
||||||
|
|
||||||
listOptions.items = result.Items;
|
|
||||||
var itemsContainer = element.querySelector('.itemsContainer');
|
|
||||||
|
|
||||||
if (type == 'Audio') {
|
|
||||||
html = listView.getListViewHtml(listOptions);
|
|
||||||
itemsContainer.classList.remove('vertical-wrap');
|
|
||||||
itemsContainer.classList.add('vertical-list');
|
|
||||||
} else {
|
|
||||||
html = cardBuilder.getCardsHtml(listOptions);
|
|
||||||
itemsContainer.classList.add('vertical-wrap');
|
|
||||||
itemsContainer.classList.remove('vertical-list');
|
|
||||||
}
|
|
||||||
|
|
||||||
itemsContainer.innerHTML = html;
|
|
||||||
imageLoader.lazyChildren(itemsContainer);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getMoreItemsHref(item, type) {
|
if (item.ProgramCount && item.Type === 'Person') {
|
||||||
if (item.Type == 'Genre') {
|
sections.push({
|
||||||
return 'list.html?type=' + type + '&genreId=' + item.Id + '&serverId=' + item.ServerId;
|
name: globalize.translate('HeaderUpcomingOnTV'),
|
||||||
}
|
type: 'Program'
|
||||||
|
});
|
||||||
if (item.Type == 'MusicGenre') {
|
|
||||||
return 'list.html?type=' + type + '&musicGenreId=' + item.Id + '&serverId=' + item.ServerId;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.Type == 'Studio') {
|
|
||||||
return 'list.html?type=' + type + '&studioId=' + item.Id + '&serverId=' + item.ServerId;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.Type == 'MusicArtist') {
|
|
||||||
return 'list.html?type=' + type + '&artistId=' + item.Id + '&serverId=' + item.ServerId;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.Type == 'Person') {
|
|
||||||
return 'list.html?type=' + type + '&personId=' + item.Id + '&serverId=' + item.ServerId;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 'list.html?type=' + type + '&parentId=' + item.Id + '&serverId=' + item.ServerId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function addCurrentItemToQuery(query, item) {
|
if (item.MovieCount) {
|
||||||
if (item.Type == 'Person') {
|
sections.push({
|
||||||
query.PersonIds = item.Id;
|
name: globalize.translate('TabMovies'),
|
||||||
} else if (item.Type == 'Genre') {
|
type: 'Movie'
|
||||||
query.Genres = item.Name;
|
});
|
||||||
} else if (item.Type == 'MusicGenre') {
|
}
|
||||||
query.Genres = item.Name;
|
|
||||||
} else if (item.Type == 'GameGenre') {
|
if (item.SeriesCount) {
|
||||||
query.Genres = item.Name;
|
sections.push({
|
||||||
} else if (item.Type == 'Studio') {
|
name: globalize.translate('TabShows'),
|
||||||
query.StudioIds = item.Id;
|
type: 'Series'
|
||||||
} else if (item.Type == 'MusicArtist') {
|
});
|
||||||
query.AlbumArtistIds = item.Id;
|
}
|
||||||
|
|
||||||
|
if (item.EpisodeCount) {
|
||||||
|
sections.push({
|
||||||
|
name: globalize.translate('TabEpisodes'),
|
||||||
|
type: 'Episode'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.TrailerCount) {
|
||||||
|
sections.push({
|
||||||
|
name: globalize.translate('TabTrailers'),
|
||||||
|
type: 'Trailer'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.AlbumCount) {
|
||||||
|
sections.push({
|
||||||
|
name: globalize.translate('TabAlbums'),
|
||||||
|
type: 'MusicAlbum'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.MusicVideoCount) {
|
||||||
|
sections.push({
|
||||||
|
name: globalize.translate('TabMusicVideos'),
|
||||||
|
type: 'MusicVideo'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const elem = page.querySelector('#childrenContent');
|
||||||
|
elem.innerHTML = sections.map(function (section) {
|
||||||
|
let html = '';
|
||||||
|
let sectionClass = 'verticalSection';
|
||||||
|
|
||||||
|
if (section.type === 'Audio') {
|
||||||
|
sectionClass += ' verticalSection-extrabottompadding';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html += '<div class="' + sectionClass + '" data-type="' + section.type + '">';
|
||||||
|
html += '<div class="sectionTitleContainer sectionTitleContainer-cards">';
|
||||||
|
html += '<h2 class="sectionTitle sectionTitle-cards">';
|
||||||
|
html += section.name;
|
||||||
|
html += '</h2>';
|
||||||
|
html += '<a is="emby-linkbutton" href="#" class="clearLink hide" style="margin-left:1em;vertical-align:middle;"><button is="emby-button" type="button" class="raised more raised-mini noIcon">' + globalize.translate('ButtonMore') + '</button></a>';
|
||||||
|
html += '</div>';
|
||||||
|
html += '<div is="emby-itemscontainer" class="itemsContainer padded-right">';
|
||||||
|
html += '</div>';
|
||||||
|
html += '</div>';
|
||||||
|
return html;
|
||||||
|
}).join('');
|
||||||
|
const sectionElems = elem.querySelectorAll('.verticalSection');
|
||||||
|
|
||||||
|
for (let i = 0, length = sectionElems.length; i < length; i++) {
|
||||||
|
renderSection(page, item, sectionElems[i], sectionElems[i].getAttribute('data-type'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function renderSection(page, item, element, type) {
|
||||||
|
switch (type) {
|
||||||
|
case 'Program':
|
||||||
|
loadItems(element, item, type, {
|
||||||
|
MediaTypes: '',
|
||||||
|
IncludeItemTypes: 'Program',
|
||||||
|
PersonTypes: '',
|
||||||
|
ArtistIds: '',
|
||||||
|
AlbumArtistIds: '',
|
||||||
|
Limit: 10,
|
||||||
|
SortBy: 'StartDate'
|
||||||
|
}, {
|
||||||
|
shape: 'overflowBackdrop',
|
||||||
|
showTitle: true,
|
||||||
|
centerText: true,
|
||||||
|
overlayMoreButton: true,
|
||||||
|
preferThumb: true,
|
||||||
|
overlayText: false,
|
||||||
|
showAirTime: true,
|
||||||
|
showAirDateTime: true,
|
||||||
|
showChannelName: true
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'Movie':
|
||||||
|
loadItems(element, item, type, {
|
||||||
|
MediaTypes: '',
|
||||||
|
IncludeItemTypes: 'Movie',
|
||||||
|
PersonTypes: '',
|
||||||
|
ArtistIds: '',
|
||||||
|
AlbumArtistIds: '',
|
||||||
|
Limit: 10,
|
||||||
|
SortBy: 'SortName'
|
||||||
|
}, {
|
||||||
|
shape: 'overflowPortrait',
|
||||||
|
showTitle: true,
|
||||||
|
centerText: true,
|
||||||
|
overlayMoreButton: true,
|
||||||
|
overlayText: false,
|
||||||
|
showYear: true
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'MusicVideo':
|
||||||
|
loadItems(element, item, type, {
|
||||||
|
MediaTypes: '',
|
||||||
|
IncludeItemTypes: 'MusicVideo',
|
||||||
|
PersonTypes: '',
|
||||||
|
ArtistIds: '',
|
||||||
|
AlbumArtistIds: '',
|
||||||
|
Limit: 10,
|
||||||
|
SortBy: 'SortName'
|
||||||
|
}, {
|
||||||
|
shape: 'overflowPortrait',
|
||||||
|
showTitle: true,
|
||||||
|
centerText: true,
|
||||||
|
overlayPlayButton: true
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'Trailer':
|
||||||
|
loadItems(element, item, type, {
|
||||||
|
MediaTypes: '',
|
||||||
|
IncludeItemTypes: 'Trailer',
|
||||||
|
PersonTypes: '',
|
||||||
|
ArtistIds: '',
|
||||||
|
AlbumArtistIds: '',
|
||||||
|
Limit: 10,
|
||||||
|
SortBy: 'SortName'
|
||||||
|
}, {
|
||||||
|
shape: 'overflowPortrait',
|
||||||
|
showTitle: true,
|
||||||
|
centerText: true,
|
||||||
|
overlayPlayButton: true
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'Series':
|
||||||
|
loadItems(element, item, type, {
|
||||||
|
MediaTypes: '',
|
||||||
|
IncludeItemTypes: 'Series',
|
||||||
|
PersonTypes: '',
|
||||||
|
ArtistIds: '',
|
||||||
|
AlbumArtistIds: '',
|
||||||
|
Limit: 10,
|
||||||
|
SortBy: 'SortName'
|
||||||
|
}, {
|
||||||
|
shape: 'overflowPortrait',
|
||||||
|
showTitle: true,
|
||||||
|
centerText: true,
|
||||||
|
overlayMoreButton: true
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'MusicAlbum':
|
||||||
|
loadItems(element, item, type, {
|
||||||
|
MediaTypes: '',
|
||||||
|
IncludeItemTypes: 'MusicAlbum',
|
||||||
|
PersonTypes: '',
|
||||||
|
ArtistIds: '',
|
||||||
|
AlbumArtistIds: '',
|
||||||
|
SortOrder: 'Descending',
|
||||||
|
SortBy: 'ProductionYear,Sortname'
|
||||||
|
}, {
|
||||||
|
shape: 'overflowSquare',
|
||||||
|
playFromHere: true,
|
||||||
|
showTitle: true,
|
||||||
|
showYear: true,
|
||||||
|
coverImage: true,
|
||||||
|
centerText: true,
|
||||||
|
overlayPlayButton: true
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'MusicArtist':
|
||||||
|
loadItems(element, item, type, {
|
||||||
|
MediaTypes: '',
|
||||||
|
IncludeItemTypes: 'MusicArtist',
|
||||||
|
PersonTypes: '',
|
||||||
|
ArtistIds: '',
|
||||||
|
AlbumArtistIds: '',
|
||||||
|
Limit: 8,
|
||||||
|
SortBy: 'SortName'
|
||||||
|
}, {
|
||||||
|
shape: 'overflowSquare',
|
||||||
|
playFromHere: true,
|
||||||
|
showTitle: true,
|
||||||
|
showParentTitle: true,
|
||||||
|
coverImage: true,
|
||||||
|
centerText: true,
|
||||||
|
overlayPlayButton: true
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'Episode':
|
||||||
|
loadItems(element, item, type, {
|
||||||
|
MediaTypes: '',
|
||||||
|
IncludeItemTypes: 'Episode',
|
||||||
|
PersonTypes: '',
|
||||||
|
ArtistIds: '',
|
||||||
|
AlbumArtistIds: '',
|
||||||
|
Limit: 6,
|
||||||
|
SortBy: 'SortName'
|
||||||
|
}, {
|
||||||
|
shape: 'overflowBackdrop',
|
||||||
|
showTitle: true,
|
||||||
|
showParentTitle: true,
|
||||||
|
centerText: true,
|
||||||
|
overlayPlayButton: true
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'Audio':
|
||||||
|
loadItems(element, item, type, {
|
||||||
|
MediaTypes: '',
|
||||||
|
IncludeItemTypes: 'Audio',
|
||||||
|
PersonTypes: '',
|
||||||
|
ArtistIds: '',
|
||||||
|
AlbumArtistIds: '',
|
||||||
|
SortBy: 'AlbumArtist,Album,SortName'
|
||||||
|
}, {
|
||||||
|
playFromHere: true,
|
||||||
|
action: 'playallfromhere',
|
||||||
|
smallIcon: true,
|
||||||
|
artist: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadItems(element, item, type, query, listOptions) {
|
||||||
|
query = getQuery(query, item);
|
||||||
|
getItemsFunction(query, item)(query.StartIndex, query.Limit, query.Fields).then(function (result) {
|
||||||
|
let html = '';
|
||||||
|
|
||||||
|
if (query.Limit && result.TotalRecordCount > query.Limit) {
|
||||||
|
const link = element.querySelector('a');
|
||||||
|
link.classList.remove('hide');
|
||||||
|
link.setAttribute('href', getMoreItemsHref(item, type));
|
||||||
|
} else {
|
||||||
|
element.querySelector('a').classList.add('hide');
|
||||||
|
}
|
||||||
|
|
||||||
|
listOptions.items = result.Items;
|
||||||
|
const itemsContainer = element.querySelector('.itemsContainer');
|
||||||
|
|
||||||
|
if (type === 'Audio') {
|
||||||
|
html = listView.getListViewHtml(listOptions);
|
||||||
|
itemsContainer.classList.remove('vertical-wrap');
|
||||||
|
itemsContainer.classList.add('vertical-list');
|
||||||
|
} else {
|
||||||
|
html = cardBuilder.getCardsHtml(listOptions);
|
||||||
|
itemsContainer.classList.add('vertical-wrap');
|
||||||
|
itemsContainer.classList.remove('vertical-list');
|
||||||
|
}
|
||||||
|
|
||||||
|
itemsContainer.innerHTML = html;
|
||||||
|
imageLoader.lazyChildren(itemsContainer);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getMoreItemsHref(item, type) {
|
||||||
|
if (item.Type === 'Genre') {
|
||||||
|
return 'list.html?type=' + type + '&genreId=' + item.Id + '&serverId=' + item.ServerId;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getQuery(options, item) {
|
if (item.Type === 'MusicGenre') {
|
||||||
var query = {
|
return 'list.html?type=' + type + '&musicGenreId=' + item.Id + '&serverId=' + item.ServerId;
|
||||||
SortOrder: 'Ascending',
|
|
||||||
IncludeItemTypes: '',
|
|
||||||
Recursive: true,
|
|
||||||
Fields: 'AudioInfo,SeriesInfo,ParentId,PrimaryImageAspectRatio,BasicSyncInfo',
|
|
||||||
Limit: 100,
|
|
||||||
StartIndex: 0,
|
|
||||||
CollapseBoxSetItems: false
|
|
||||||
};
|
|
||||||
query = Object.assign(query, options || {});
|
|
||||||
addCurrentItemToQuery(query, item);
|
|
||||||
return query;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getItemsFunction(options, item) {
|
if (item.Type === 'Studio') {
|
||||||
var query = getQuery(options, item);
|
return 'list.html?type=' + type + '&studioId=' + item.Id + '&serverId=' + item.ServerId;
|
||||||
return function (index, limit, fields) {
|
|
||||||
query.StartIndex = index;
|
|
||||||
query.Limit = limit;
|
|
||||||
|
|
||||||
if (fields) {
|
|
||||||
query.Fields += ',' + fields;
|
|
||||||
}
|
|
||||||
|
|
||||||
var apiClient = connectionManager.getApiClient(item.ServerId);
|
|
||||||
|
|
||||||
if (query.IncludeItemTypes === 'MusicArtist') {
|
|
||||||
query.IncludeItemTypes = null;
|
|
||||||
return apiClient.getAlbumArtists(apiClient.getCurrentUserId(), query);
|
|
||||||
}
|
|
||||||
|
|
||||||
return apiClient.getItems(apiClient.getCurrentUserId(), query);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
window.ItemsByName = {
|
if (item.Type === 'MusicArtist') {
|
||||||
renderItems: renderItems
|
return 'list.html?type=' + type + '&artistId=' + item.Id + '&serverId=' + item.ServerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.Type === 'Person') {
|
||||||
|
return 'list.html?type=' + type + '&personId=' + item.Id + '&serverId=' + item.ServerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'list.html?type=' + type + '&parentId=' + item.Id + '&serverId=' + item.ServerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
function addCurrentItemToQuery(query, item) {
|
||||||
|
if (item.Type === 'Person') {
|
||||||
|
query.PersonIds = item.Id;
|
||||||
|
} else if (item.Type === 'Genre') {
|
||||||
|
query.Genres = item.Name;
|
||||||
|
} else if (item.Type === 'MusicGenre') {
|
||||||
|
query.Genres = item.Name;
|
||||||
|
} else if (item.Type === 'GameGenre') {
|
||||||
|
query.Genres = item.Name;
|
||||||
|
} else if (item.Type === 'Studio') {
|
||||||
|
query.StudioIds = item.Id;
|
||||||
|
} else if (item.Type === 'MusicArtist') {
|
||||||
|
query.AlbumArtistIds = item.Id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getQuery(options, item) {
|
||||||
|
let query = {
|
||||||
|
SortOrder: 'Ascending',
|
||||||
|
IncludeItemTypes: '',
|
||||||
|
Recursive: true,
|
||||||
|
Fields: 'AudioInfo,SeriesInfo,ParentId,PrimaryImageAspectRatio,BasicSyncInfo',
|
||||||
|
Limit: 100,
|
||||||
|
StartIndex: 0,
|
||||||
|
CollapseBoxSetItems: false
|
||||||
};
|
};
|
||||||
});
|
query = Object.assign(query, options || {});
|
||||||
|
addCurrentItemToQuery(query, item);
|
||||||
|
return query;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getItemsFunction(options, item) {
|
||||||
|
const query = getQuery(options, item);
|
||||||
|
return function (index, limit, fields) {
|
||||||
|
query.StartIndex = index;
|
||||||
|
query.Limit = limit;
|
||||||
|
|
||||||
|
if (fields) {
|
||||||
|
query.Fields += ',' + fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
const apiClient = connectionManager.getApiClient(item.ServerId);
|
||||||
|
|
||||||
|
if (query.IncludeItemTypes === 'MusicArtist') {
|
||||||
|
query.IncludeItemTypes = null;
|
||||||
|
return apiClient.getAlbumArtists(apiClient.getCurrentUserId(), query);
|
||||||
|
}
|
||||||
|
|
||||||
|
return apiClient.getItems(apiClient.getCurrentUserId(), query);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
window.ItemsByName = {
|
||||||
|
renderItems: renderItems
|
||||||
|
};
|
||||||
|
|
|
@ -763,7 +763,7 @@
|
||||||
"Aired": "Transmès",
|
"Aired": "Transmès",
|
||||||
"AirDate": "Data d'emissió",
|
"AirDate": "Data d'emissió",
|
||||||
"AdditionalNotificationServices": "Examineu el catàleg de complements per instal·lar serveis de notificació addicionals.",
|
"AdditionalNotificationServices": "Examineu el catàleg de complements per instal·lar serveis de notificació addicionals.",
|
||||||
"AddedOnValue": "Afegit {0}",
|
"AddedOnValue": "Afegit {0}",
|
||||||
"Actor": "Actor",
|
"Actor": "Actor",
|
||||||
"Absolute": "Absolut",
|
"Absolute": "Absolut",
|
||||||
"ClientSettings": "Configuració del client",
|
"ClientSettings": "Configuració del client",
|
||||||
|
@ -772,12 +772,12 @@
|
||||||
"ChangingMetadataImageSettingsNewContent": "Els canvis als paràmetres de descàrrega de metadades o d'obra d'art només s'apliquen al contingut nou afegit a la biblioteca. Per aplicar els canvis als títols existents, haureu de refrescar les metadades manualment.",
|
"ChangingMetadataImageSettingsNewContent": "Els canvis als paràmetres de descàrrega de metadades o d'obra d'art només s'apliquen al contingut nou afegit a la biblioteca. Per aplicar els canvis als títols existents, haureu de refrescar les metadades manualment.",
|
||||||
"ButtonTogglePlaylist": "Llista de reproducció",
|
"ButtonTogglePlaylist": "Llista de reproducció",
|
||||||
"ButtonOff": "Apagar",
|
"ButtonOff": "Apagar",
|
||||||
"BurnSubtitlesHelp": "Determina si el servidor hauria de gravar-se en els subtítols en transcodificar vídeos. Evitar això millorarà molt el rendiment. Seleccioneu Automàtica per gravar formats basats en imatges (VOBSUB, PGS, SUB, IDX) i certs subtítols ASS o SSA.",
|
"BurnSubtitlesHelp": "Determina si el servidor hauria de gravar els subtítols en transcodificar vídeos. Evitar això millorarà molt el rendiment. Seleccioneu Automàtica per gravar formats basats en imatges (VOBSUB, PGS, SUB, IDX) i certs subtítols ASS o SSA.",
|
||||||
"Browse": "Navega",
|
"Browse": "Navega",
|
||||||
"BoxRear": "Caixa (posterior)",
|
"BoxRear": "Caixa (posterior)",
|
||||||
"BoxSet": "conjunt de caixes",
|
"BoxSet": "conjunt de caixes",
|
||||||
"Box": "Caixa",
|
"Box": "Caixa",
|
||||||
"BookLibraryHelp": "Els àudio i llibres de text són compatibles. Reviseu la {0} guia de denominació de llibres {1}.",
|
"BookLibraryHelp": "L'àudio i els llibres de text són compatibles. Reviseu la {0} guia de denominació de llibres {1}.",
|
||||||
"Backdrops": "Fons",
|
"Backdrops": "Fons",
|
||||||
"Backdrop": "Fons",
|
"Backdrop": "Fons",
|
||||||
"Artist": "Artista",
|
"Artist": "Artista",
|
||||||
|
@ -787,5 +787,22 @@
|
||||||
"AllowOnTheFlySubtitleExtractionHelp": "Els subtítols incrustats es poden extreure de vídeos i entregar-los a clients en text senzill per tal d'evitar la transcodificació de vídeo. En alguns sistemes, això pot trigar molt i fer que la reproducció de vídeo s’aturi durant el procés d’extracció. Desactiveu-ho per tenir subtítols incrustats incrustats amb la transcodificació de vídeo quan no són compatibles amb el dispositiu client de forma nativa.",
|
"AllowOnTheFlySubtitleExtractionHelp": "Els subtítols incrustats es poden extreure de vídeos i entregar-los a clients en text senzill per tal d'evitar la transcodificació de vídeo. En alguns sistemes, això pot trigar molt i fer que la reproducció de vídeo s’aturi durant el procés d’extracció. Desactiveu-ho per tenir subtítols incrustats incrustats amb la transcodificació de vídeo quan no són compatibles amb el dispositiu client de forma nativa.",
|
||||||
"AlbumArtist": "Album artista",
|
"AlbumArtist": "Album artista",
|
||||||
"Album": "Album",
|
"Album": "Album",
|
||||||
"ButtonSyncPlay": "SyncPlay"
|
"ButtonSyncPlay": "SyncPlay",
|
||||||
|
"CriticRating": "Ràting de la crítica",
|
||||||
|
"CopyStreamURLSuccess": "L'URL s'ha copiat correctament.",
|
||||||
|
"CopyStreamURL": "Copiar l'URL de reproducció",
|
||||||
|
"ContinueWatching": "Continuar mirant",
|
||||||
|
"ConfirmEndPlayerSession": "Vols tancar Jellyfin a {0}?",
|
||||||
|
"ConfirmDeleteItems": "L'esborrat d'aquests elements els eliminarà del sistema de fitxers i de la biblioteca multimèdia. Estàs segur que vols continuar?",
|
||||||
|
"ConfirmDeleteItem": "L'esborrat d'aquest element l'eliminarà del sistema de fitxers i de la biblioteca multimèdia. Estàs segur que vols continuar?",
|
||||||
|
"ConfigureDateAdded": "Configura com es determina la data d'afegit en el quadre de comandament dins les Preferències de la biblioteca",
|
||||||
|
"CommunityRating": "Ràting comunitari",
|
||||||
|
"ColorTransfer": "Transferència de color",
|
||||||
|
"ColorSpace": "Espai de color",
|
||||||
|
"ColorPrimaries": "Colors primaris",
|
||||||
|
"DefaultMetadataLangaugeDescription": "Aquests són els teus valors per defecte i poden ser personalitats per cada biblioteca.",
|
||||||
|
"Default": "Per defecte",
|
||||||
|
"DatePlayed": "Data reproduït",
|
||||||
|
"DateAdded": "Data d'afegit",
|
||||||
|
"CustomDlnaProfilesHelp": "Crear un perfil personalitzat per a un nou dispositiu o substitueix un perfil de sistema."
|
||||||
}
|
}
|
||||||
|
|
|
@ -1525,5 +1525,10 @@
|
||||||
"ViewAlbumArtist": "Zobrazit interpreta alba",
|
"ViewAlbumArtist": "Zobrazit interpreta alba",
|
||||||
"PreviousTrack": "Předchozí",
|
"PreviousTrack": "Předchozí",
|
||||||
"NextTrack": "Další",
|
"NextTrack": "Další",
|
||||||
"LabelUnstable": "Nestabilní"
|
"LabelUnstable": "Nestabilní",
|
||||||
|
"Preview": "Náhled",
|
||||||
|
"SubtitleVerticalPositionHelp": "Číslo řádku, na kterém se zobrazí text. Kladná čísla znamenají směr shora dolů. Záporná čísla zdola nahoru.",
|
||||||
|
"LabelSubtitleVerticalPosition": "Svislé umístění:",
|
||||||
|
"MessageGetInstalledPluginsError": "Při načítání seznamu nainstalovaných zásuvných modulů došlo k chybě.",
|
||||||
|
"MessagePluginInstallError": "Při instalaci zásuvného modulu došlo k chybě."
|
||||||
}
|
}
|
||||||
|
|
|
@ -226,7 +226,7 @@
|
||||||
"HeaderAllowMediaDeletionFrom": "Permitir borrar contenido desde",
|
"HeaderAllowMediaDeletionFrom": "Permitir borrar contenido desde",
|
||||||
"HeaderApiKey": "Clave API",
|
"HeaderApiKey": "Clave API",
|
||||||
"HeaderApiKeys": "Claves API",
|
"HeaderApiKeys": "Claves API",
|
||||||
"HeaderApiKeysHelp": "Las aplicaciones externas requieren de una clave API para comunicarse con el servidor Jellyfin. Las claves se facilitan iniciando sesión con una cuenta de Jellyfin, u otorgando manualmente una clave a la aplicación.",
|
"HeaderApiKeysHelp": "Las aplicaciones externas requieren de una clave API para comunicarse con el servidor. Las claves se facilitan iniciando sesión con una cuenta de usuario en Jellyfin, u otorgando manualmente una clave a la aplicación.",
|
||||||
"HeaderAudioBooks": "Audiolibros",
|
"HeaderAudioBooks": "Audiolibros",
|
||||||
"HeaderAudioSettings": "Ajustes de audio",
|
"HeaderAudioSettings": "Ajustes de audio",
|
||||||
"HeaderBlockItemsWithNoRating": "Bloquear artículos sin valoraciones o si son desconocidas:",
|
"HeaderBlockItemsWithNoRating": "Bloquear artículos sin valoraciones o si son desconocidas:",
|
||||||
|
@ -338,7 +338,7 @@
|
||||||
"HeaderPreferredMetadataLanguage": "Idioma preferido para las etiquetas",
|
"HeaderPreferredMetadataLanguage": "Idioma preferido para las etiquetas",
|
||||||
"HeaderProfile": "Perfil",
|
"HeaderProfile": "Perfil",
|
||||||
"HeaderProfileInformation": "Información del perfil",
|
"HeaderProfileInformation": "Información del perfil",
|
||||||
"HeaderProfileServerSettingsHelp": "Estos valores controlan como el servidor Jellyfin se presenta al dispositivo.",
|
"HeaderProfileServerSettingsHelp": "Estos valores controlan cómo el servidor será presentado a los clientes.",
|
||||||
"HeaderRecentlyPlayed": "Reproducido recientemente",
|
"HeaderRecentlyPlayed": "Reproducido recientemente",
|
||||||
"HeaderRecordingOptions": "Ajustes de grabación",
|
"HeaderRecordingOptions": "Ajustes de grabación",
|
||||||
"HeaderRecordingPostProcessing": "Grabación post procesamiento",
|
"HeaderRecordingPostProcessing": "Grabación post procesamiento",
|
||||||
|
@ -362,7 +362,7 @@
|
||||||
"HeaderSelectServerCachePath": "Seleccione la ruta para el caché del servidor",
|
"HeaderSelectServerCachePath": "Seleccione la ruta para el caché del servidor",
|
||||||
"HeaderSelectServerCachePathHelp": "Navega o introduce la ruta para alojar los archivos caché del servidor. Tienes que tener permisos de escritura en esa carpeta.",
|
"HeaderSelectServerCachePathHelp": "Navega o introduce la ruta para alojar los archivos caché del servidor. Tienes que tener permisos de escritura en esa carpeta.",
|
||||||
"HeaderSelectTranscodingPath": "Ruta para los archivos temporales de las conversiones",
|
"HeaderSelectTranscodingPath": "Ruta para los archivos temporales de las conversiones",
|
||||||
"HeaderSelectTranscodingPathHelp": "Busca o escribe la ruta que se utilizará para guardar los archivos temporales que se generarán mientras se convierten los archivos. Jellyfin debe tener permisos de escritura en la carpeta.",
|
"HeaderSelectTranscodingPathHelp": "Busca o escribe la ruta que se utilizará para guardar los archivos que se generarán mientras se convierten los archivos. Jellyfin debe tener permisos de escritura en la carpeta.",
|
||||||
"HeaderSendMessage": "Enviar mensaje",
|
"HeaderSendMessage": "Enviar mensaje",
|
||||||
"HeaderSeries": "Series",
|
"HeaderSeries": "Series",
|
||||||
"HeaderSeriesOptions": "Opciones de series",
|
"HeaderSeriesOptions": "Opciones de series",
|
||||||
|
@ -408,8 +408,8 @@
|
||||||
"HttpsRequiresCert": "Para activar la conexión segura, necesitas un certificado SSL de confianza, como Let's Encrypt. De lo contrario, desactive las conexiones seguras.",
|
"HttpsRequiresCert": "Para activar la conexión segura, necesitas un certificado SSL de confianza, como Let's Encrypt. De lo contrario, desactive las conexiones seguras.",
|
||||||
"Identify": "Identificar",
|
"Identify": "Identificar",
|
||||||
"Images": "Imágenes",
|
"Images": "Imágenes",
|
||||||
"ImportFavoriteChannelsHelp": "Si está activado, sólo los canales guardados como favoritos en el sintonizador se importarán.",
|
"ImportFavoriteChannelsHelp": "Sólo los canales guardados como favoritos en el sintonizador se importarán.",
|
||||||
"ImportMissingEpisodesHelp": "Si está activada, la información sobre los episodios que faltan se importará en su base de datos Jellyfin y se mostrará en temporadas y series. Esto puede causar exploraciones de bibliotecas significativamente más largas.",
|
"ImportMissingEpisodesHelp": "La información sobre los episodios que faltan se importará en su base de datos y se mostrará en temporadas y series. Esto puede causar exploraciones de bibliotecas significativamente más largas.",
|
||||||
"InstallingPackage": "Instalando {0} (versión {1})",
|
"InstallingPackage": "Instalando {0} (versión {1})",
|
||||||
"InstantMix": "Mix instantáneo",
|
"InstantMix": "Mix instantáneo",
|
||||||
"ItemCount": "Elementos {0}",
|
"ItemCount": "Elementos {0}",
|
||||||
|
@ -439,11 +439,11 @@
|
||||||
"LabelAppName": "Nombre de la aplicación",
|
"LabelAppName": "Nombre de la aplicación",
|
||||||
"LabelAppNameExample": "Ejemplo: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Ejemplo: Sickbeard, Sonarr",
|
||||||
"LabelArtists": "Artistas:",
|
"LabelArtists": "Artistas:",
|
||||||
"LabelArtistsHelp": "Separar múltiples artistas usando ;",
|
"LabelArtistsHelp": "Separar múltiples artistas utilizando punto y coma.",
|
||||||
"LabelAudioLanguagePreference": "Idioma de audio preferido:",
|
"LabelAudioLanguagePreference": "Idioma de audio preferido:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Actualizar las etiquetas automáticamente desde Internet:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Actualizar las etiquetas automáticamente desde Internet:",
|
||||||
"LabelBindToLocalNetworkAddress": "Vincular a la dirección de red local:",
|
"LabelBindToLocalNetworkAddress": "Vincular a la dirección de red local:",
|
||||||
"LabelBindToLocalNetworkAddressHelp": "Opcional. Anule la dirección IP local para enlazar el servidor HTTP. Si se deja vacío, el servidor se enlazará a todas las direcciones disponibles. Para cambiar este valor, debe reiniciar el servidor Jellyfin.",
|
"LabelBindToLocalNetworkAddressHelp": "Anule la dirección IP local para enlazar el servidor HTTP. Si se deja vacío, el servidor se enlazará a todas las direcciones disponibles. Para cambiar este valor, debe reiniciar el servidor Jellyfin.",
|
||||||
"LabelBirthDate": "Fecha de nacimiento:",
|
"LabelBirthDate": "Fecha de nacimiento:",
|
||||||
"LabelBirthYear": "Año de nacimiento:",
|
"LabelBirthYear": "Año de nacimiento:",
|
||||||
"LabelBlastMessageInterval": "Intervalo para mensajes en vivo (segundos)",
|
"LabelBlastMessageInterval": "Intervalo para mensajes en vivo (segundos)",
|
||||||
|
@ -1212,7 +1212,7 @@
|
||||||
"DatePlayed": "Reproducido el",
|
"DatePlayed": "Reproducido el",
|
||||||
"Descending": "Descendiente",
|
"Descending": "Descendiente",
|
||||||
"DirectStreamHelp1": "El tipo de archivo (H.264, AC3, etc.) y la resolución son compatibles con el dispositivo, pero no el contenedor (mkv, avi, wmv, etc.). El vídeo será re-empaquetado al vuelo antes de transmitirlo al dispositivo.",
|
"DirectStreamHelp1": "El tipo de archivo (H.264, AC3, etc.) y la resolución son compatibles con el dispositivo, pero no el contenedor (mkv, avi, wmv, etc.). El vídeo será re-empaquetado al vuelo antes de transmitirlo al dispositivo.",
|
||||||
"DirectStreamHelp2": "La transmisión directa del archivo usa muy poco procesamiento sin ninguna pérdida de calidad en el vídeo.",
|
"DirectStreamHelp2": "La transmisión directa del archivo usa muy poco procesamiento sin mínima pérdida de calidad en el vídeo.",
|
||||||
"Director": "Dirección de",
|
"Director": "Dirección de",
|
||||||
"Directors": "Directores",
|
"Directors": "Directores",
|
||||||
"Display": "Mostrar",
|
"Display": "Mostrar",
|
||||||
|
@ -1522,5 +1522,11 @@
|
||||||
"MessageNoRepositories": "Sin repositorios.",
|
"MessageNoRepositories": "Sin repositorios.",
|
||||||
"Writers": "Escritores",
|
"Writers": "Escritores",
|
||||||
"StopPlayback": "Detener la reproducción",
|
"StopPlayback": "Detener la reproducción",
|
||||||
"ClearQueue": "Borrar la cola"
|
"ClearQueue": "Borrar la cola",
|
||||||
|
"LabelSubtitleVerticalPosition": "Posición vertical:",
|
||||||
|
"PreviousTrack": "Saltar al anterior",
|
||||||
|
"MessageGetInstalledPluginsError": "Ha ocurrido un error al recuperar la lista de plugins instalados.",
|
||||||
|
"MessagePluginInstallError": "Ha ocurrido un error al instalar este plugin.",
|
||||||
|
"NextTrack": "Saltar al siguiente",
|
||||||
|
"LabelUnstable": "Inestable"
|
||||||
}
|
}
|
||||||
|
|
|
@ -176,9 +176,9 @@
|
||||||
"OptionPoster": "Póster",
|
"OptionPoster": "Póster",
|
||||||
"OptionPlayed": "Reproducido",
|
"OptionPlayed": "Reproducido",
|
||||||
"OptionPlayCount": "Contador de reproducciones",
|
"OptionPlayCount": "Contador de reproducciones",
|
||||||
"OptionPlainVideoItemsHelp": "Si se habilita, todos los videos serán representados en DIDL como «object.item.videoItem» en lugar de un tipo más específico, como «object.item.videoItem.movie».",
|
"OptionPlainVideoItemsHelp": "Todos los videos serán representados en DIDL como «object.item.videoItem» en vez de un tipo más específico, como «object.item.videoItem.movie».",
|
||||||
"OptionPlainVideoItems": "Mostrar todos los videos como elementos de video simples",
|
"OptionPlainVideoItems": "Mostrar todos los videos como elementos de video simples",
|
||||||
"OptionPlainStorageFoldersHelp": "Si se habilita, todos las carpetas serán representadas en DIDL como «object.container.storageFolder» en lugar de un tipo más específico, como «object.container.person.musicArtist».",
|
"OptionPlainStorageFoldersHelp": "Todos las carpetas serán representadas en DIDL como «object.container.storageFolder» en lugar de un tipo más específico, como «object.container.person.musicArtist».",
|
||||||
"OptionPlainStorageFolders": "Mostrar todas las carpetas como carpetas de almacenamiento simples",
|
"OptionPlainStorageFolders": "Mostrar todas las carpetas como carpetas de almacenamiento simples",
|
||||||
"OptionParentalRating": "Clasificación parental",
|
"OptionParentalRating": "Clasificación parental",
|
||||||
"OptionOnInterval": "En un intervalo",
|
"OptionOnInterval": "En un intervalo",
|
||||||
|
@ -196,7 +196,7 @@
|
||||||
"OptionIsSD": "SD",
|
"OptionIsSD": "SD",
|
||||||
"OptionIsHD": "HD",
|
"OptionIsHD": "HD",
|
||||||
"OptionImdbRating": "Calificación de IMDb",
|
"OptionImdbRating": "Calificación de IMDb",
|
||||||
"OptionIgnoreTranscodeByteRangeRequestsHelp": "Si se habilita, estas solicitudes serán honradas pero se ignorará el encabezado de rango de bytes.",
|
"OptionIgnoreTranscodeByteRangeRequestsHelp": "Estas solicitudes serán consideradas pero se ignorará el encabezado de rango de bytes.",
|
||||||
"OptionIgnoreTranscodeByteRangeRequests": "Ignorar solicitudes de transcodificación de rango de bytes",
|
"OptionIgnoreTranscodeByteRangeRequests": "Ignorar solicitudes de transcodificación de rango de bytes",
|
||||||
"OptionHomeVideos": "Fotos",
|
"OptionHomeVideos": "Fotos",
|
||||||
"OptionHlsSegmentedSubtitles": "Subtítulos segmentados HLS",
|
"OptionHlsSegmentedSubtitles": "Subtítulos segmentados HLS",
|
||||||
|
@ -229,7 +229,7 @@
|
||||||
"OptionDownloadPrimaryImage": "Principal",
|
"OptionDownloadPrimaryImage": "Principal",
|
||||||
"OptionDownloadMenuImage": "Menú",
|
"OptionDownloadMenuImage": "Menú",
|
||||||
"OptionDownloadLogoImage": "Logo",
|
"OptionDownloadLogoImage": "Logo",
|
||||||
"OptionDownloadImagesInAdvanceHelp": "Por defecto, la mayoría de las imágenes solo son descargadas cuando son solicitadas por una aplicación Jellyfin. Habilita esta opción para descargar todas las imágenes por adelantado, a medida que se agreguen nuevos medios. Esto podría causar escaneos de bibliotecas significativamente más largos.",
|
"OptionDownloadImagesInAdvanceHelp": "Por defecto, la mayoría de las imágenes se descargan cuando son solicitadas por un cliente. Habilita esta opción para descargarlas todas por por adelantado a medida que se agreguen nuevos medios. Esto podría causar que los escaneos de bibliotecas sean significativamente más largos.",
|
||||||
"OptionDownloadImagesInAdvance": "Descargar las imágenes con antelación",
|
"OptionDownloadImagesInAdvance": "Descargar las imágenes con antelación",
|
||||||
"OptionDownloadDiscImage": "Disco",
|
"OptionDownloadDiscImage": "Disco",
|
||||||
"OptionDownloadBoxImage": "Caja",
|
"OptionDownloadBoxImage": "Caja",
|
||||||
|
@ -239,7 +239,7 @@
|
||||||
"OptionDisplayFolderViewHelp": "Muestra las carpetas junto con sus otras bibliotecas de medios. Esto puede ser útil si deseas tener una vista simple de carpeta.",
|
"OptionDisplayFolderViewHelp": "Muestra las carpetas junto con sus otras bibliotecas de medios. Esto puede ser útil si deseas tener una vista simple de carpeta.",
|
||||||
"OptionDisplayFolderView": "Mostrar una vista de carpetas para mostrar las carpetas simples de los medios",
|
"OptionDisplayFolderView": "Mostrar una vista de carpetas para mostrar las carpetas simples de los medios",
|
||||||
"OptionDislikes": "No me gusta",
|
"OptionDislikes": "No me gusta",
|
||||||
"OptionDisableUserHelp": "Si se desactiva, el servidor no aceptará conexiones de este usuario. Las conexiones existentes serán finalizadas abruptamente.",
|
"OptionDisableUserHelp": "El servidor no aceptará conexiones de este usuario. Las conexiones existentes serán finalizadas abruptamente.",
|
||||||
"OptionDisableUser": "Desactivar este usuario",
|
"OptionDisableUser": "Desactivar este usuario",
|
||||||
"OptionDescending": "Descendente",
|
"OptionDescending": "Descendente",
|
||||||
"OptionDatePlayed": "Fecha de reproducción",
|
"OptionDatePlayed": "Fecha de reproducción",
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
"OptionBlockChannelContent": "Contenido de canales de Internet",
|
"OptionBlockChannelContent": "Contenido de canales de Internet",
|
||||||
"OptionBlockBooks": "Libros",
|
"OptionBlockBooks": "Libros",
|
||||||
"OptionBanner": "Banner",
|
"OptionBanner": "Banner",
|
||||||
"OptionAutomaticallyGroupSeriesHelp": "Si se habilita, las series que se reparten a través de múltiples carpetas dentro de esta biblioteca serán fusionadas en una sola serie.",
|
"OptionAutomaticallyGroupSeriesHelp": "Series que estén repartidas en múltiples carpetas dentro de esta biblioteca serán fusionadas en una sola serie.",
|
||||||
"OptionAutomaticallyGroupSeries": "Fusionar automáticamente series esparcidas a través de múltiples carpetas",
|
"OptionAutomaticallyGroupSeries": "Fusionar automáticamente series esparcidas a través de múltiples carpetas",
|
||||||
"OptionAutomatic": "Automático",
|
"OptionAutomatic": "Automático",
|
||||||
"OptionAuto": "Automático",
|
"OptionAuto": "Automático",
|
||||||
|
@ -271,7 +271,7 @@
|
||||||
"OptionAllowRemoteSharedDevicesHelp": "Los dispositivos DLNA se considerarán compartidos hasta que un usuario comience a controlarlos.",
|
"OptionAllowRemoteSharedDevicesHelp": "Los dispositivos DLNA se considerarán compartidos hasta que un usuario comience a controlarlos.",
|
||||||
"OptionAllowRemoteSharedDevices": "Permitir control remoto de dispositivos compartidos",
|
"OptionAllowRemoteSharedDevices": "Permitir control remoto de dispositivos compartidos",
|
||||||
"OptionAllowRemoteControlOthers": "Permitir control remoto de otros usuarios",
|
"OptionAllowRemoteControlOthers": "Permitir control remoto de otros usuarios",
|
||||||
"OptionAllowMediaPlaybackTranscodingHelp": "Restringir el acceso a la transcodificación podría causar fallas en la reproducción en las aplicaciones Jellyfin debido a los formatos de medios no soportados.",
|
"OptionAllowMediaPlaybackTranscodingHelp": "Restringir el acceso a la transcodificación podría causar fallas en reproducción en las aplicaciones debido a formatos de medios no soportados.",
|
||||||
"OptionAllowMediaPlayback": "Permitir reproducción de medios",
|
"OptionAllowMediaPlayback": "Permitir reproducción de medios",
|
||||||
"OptionAllowManageLiveTv": "Permitir gestión de grabación de TV en vivo",
|
"OptionAllowManageLiveTv": "Permitir gestión de grabación de TV en vivo",
|
||||||
"OptionAllowLinkSharingHelp": "Solo son compartidas páginas web que contienen información sobre los medios. Los archivos de medios nunca son compartidos públicamente. Los compartidos tienen un límite de tiempo y expirarán después de {0} días.",
|
"OptionAllowLinkSharingHelp": "Solo son compartidas páginas web que contienen información sobre los medios. Los archivos de medios nunca son compartidos públicamente. Los compartidos tienen un límite de tiempo y expirarán después de {0} días.",
|
||||||
|
@ -328,7 +328,7 @@
|
||||||
"Mobile": "Móvil",
|
"Mobile": "Móvil",
|
||||||
"MinutesBefore": "minutos antes",
|
"MinutesBefore": "minutos antes",
|
||||||
"MinutesAfter": "minutos después",
|
"MinutesAfter": "minutos después",
|
||||||
"MetadataSettingChangeHelp": "Cambiar la configuración de los metadatos afectará al nuevo contenido que se añada en el futuro. Para actualizar el contenido existente, abre la pantalla de detalles y haz clic en el botón actualizar, o realiza actualizaciones masivas usando el administrador de metadatos.",
|
"MetadataSettingChangeHelp": "Cambiar la configuración de los metadatos afectará al nuevo contenido que se añada en el futuro. Para actualizar el contenido existente, abre la pantalla de detalles y haz clic en el botón actualizar, o haz actualizaciones masivas usando el administrador de metadatos.",
|
||||||
"MetadataManager": "Administrador de metadatos",
|
"MetadataManager": "Administrador de metadatos",
|
||||||
"Metadata": "Metadatos",
|
"Metadata": "Metadatos",
|
||||||
"MessageSyncPlayErrorMedia": "¡Fallo al activar SyncPlay! Error en el archivo de medios.",
|
"MessageSyncPlayErrorMedia": "¡Fallo al activar SyncPlay! Error en el archivo de medios.",
|
||||||
|
@ -387,7 +387,7 @@
|
||||||
"LatestFromLibrary": "Últimas - {0}",
|
"LatestFromLibrary": "Últimas - {0}",
|
||||||
"Large": "Grande",
|
"Large": "Grande",
|
||||||
"LanNetworksHelp": "Lista separada por comas de direcciones IP o entradas de IP/máscara de red para las redes que se considerarán en la red local al aplicar las restricciones de ancho de banda. Si se establecen, todas las demás direcciones IP se considerarán como parte de la red externa y estarán sujetas a las restricciones de ancho de banda externa. Si se deja en blanco, solo se considera a la subred del servidor estar en la red local.",
|
"LanNetworksHelp": "Lista separada por comas de direcciones IP o entradas de IP/máscara de red para las redes que se considerarán en la red local al aplicar las restricciones de ancho de banda. Si se establecen, todas las demás direcciones IP se considerarán como parte de la red externa y estarán sujetas a las restricciones de ancho de banda externa. Si se deja en blanco, solo se considera a la subred del servidor estar en la red local.",
|
||||||
"LabelffmpegPathHelp": "La ruta hacia el archivo de la aplicación ffmpeg, o la carpeta que contenga ffmpeg.",
|
"LabelffmpegPathHelp": "La ruta hacia el archivo ejecutable ffmpeg, o la carpeta que contenga ffmpeg.",
|
||||||
"LabelffmpegPath": "Ruta del FFmpeg:",
|
"LabelffmpegPath": "Ruta del FFmpeg:",
|
||||||
"LabelZipCode": "Código postal:",
|
"LabelZipCode": "Código postal:",
|
||||||
"LabelYoureDone": "¡Has terminado!",
|
"LabelYoureDone": "¡Has terminado!",
|
||||||
|
@ -558,7 +558,7 @@
|
||||||
"ReleaseDate": "Fecha de estreno",
|
"ReleaseDate": "Fecha de estreno",
|
||||||
"RefreshQueued": "Actualización puesta en la cola.",
|
"RefreshQueued": "Actualización puesta en la cola.",
|
||||||
"RefreshMetadata": "Actualizar metadatos",
|
"RefreshMetadata": "Actualizar metadatos",
|
||||||
"RefreshDialogHelp": "Los metadatos son actualizados basándose en las configuraciones y servicios de Internet que estén activados en el panel de control de tu servidor Jellyfin.",
|
"RefreshDialogHelp": "Los metadatos se actualizan según las configuraciones y servicios de internet que se habilitan en el panel de control.",
|
||||||
"Refresh": "Actualizar",
|
"Refresh": "Actualizar",
|
||||||
"Recordings": "Grabaciones",
|
"Recordings": "Grabaciones",
|
||||||
"RecordingScheduled": "Grabación programada.",
|
"RecordingScheduled": "Grabación programada.",
|
||||||
|
@ -659,7 +659,7 @@
|
||||||
"LabelServerName": "Nombre del servidor:",
|
"LabelServerName": "Nombre del servidor:",
|
||||||
"LabelServerHostHelp": "192.168.1.100:8096 o https://miservidor.com",
|
"LabelServerHostHelp": "192.168.1.100:8096 o https://miservidor.com",
|
||||||
"LabelServerHost": "Servidor:",
|
"LabelServerHost": "Servidor:",
|
||||||
"LabelSeriesRecordingPath": "Ruta para las grabaciones de series (opcional):",
|
"LabelSeriesRecordingPath": "Ruta para las grabaciones de series:",
|
||||||
"LabelSerialNumber": "Número de serie",
|
"LabelSerialNumber": "Número de serie",
|
||||||
"LabelSendNotificationToUsers": "Enviar la notificación a:",
|
"LabelSendNotificationToUsers": "Enviar la notificación a:",
|
||||||
"LabelSelectVersionToInstall": "Seleccionar versión a instalar:",
|
"LabelSelectVersionToInstall": "Seleccionar versión a instalar:",
|
||||||
|
@ -671,7 +671,7 @@
|
||||||
"LabelScheduledTaskLastRan": "Última ejecución {0}, tomando {1}.",
|
"LabelScheduledTaskLastRan": "Última ejecución {0}, tomando {1}.",
|
||||||
"LabelSaveLocalMetadataHelp": "Guardar ilustraciones en las carpetas de los medios los colocará en un lugar donde se pueden editar fácilmente.",
|
"LabelSaveLocalMetadataHelp": "Guardar ilustraciones en las carpetas de los medios los colocará en un lugar donde se pueden editar fácilmente.",
|
||||||
"LabelSaveLocalMetadata": "Guardar las ilustraciones en las carpetas de los medios",
|
"LabelSaveLocalMetadata": "Guardar las ilustraciones en las carpetas de los medios",
|
||||||
"LabelRuntimeMinutes": "Duración (minutos):",
|
"LabelRuntimeMinutes": "Duración:",
|
||||||
"LabelRequireHttpsHelp": "Si se marca, el servidor redirigirá automáticamente todas las solicitudes a través de HTTP a HTTPS. Esto no tiene efecto si el servidor no está escuchando en HTTPS.",
|
"LabelRequireHttpsHelp": "Si se marca, el servidor redirigirá automáticamente todas las solicitudes a través de HTTP a HTTPS. Esto no tiene efecto si el servidor no está escuchando en HTTPS.",
|
||||||
"LabelRequireHttps": "Requerir HTTPS",
|
"LabelRequireHttps": "Requerir HTTPS",
|
||||||
"LabelRemoteClientBitrateLimitHelp": "Un límite opcional de velocidad de bits por transmisión para todos los dispositivos fuera de la red. Esto es útil para evitar que los dispositivos soliciten una tasa de bits más alta de la que puede manejar tu conexión a Internet. Esto puede provocar un aumento de la carga de la CPU en el servidor para transcodificar los videos sobre la marcha a una velocidad de bits inferior.",
|
"LabelRemoteClientBitrateLimitHelp": "Un límite opcional de velocidad de bits por transmisión para todos los dispositivos fuera de la red. Esto es útil para evitar que los dispositivos soliciten una tasa de bits más alta de la que puede manejar tu conexión a Internet. Esto puede provocar un aumento de la carga de la CPU en el servidor para transcodificar los videos sobre la marcha a una velocidad de bits inferior.",
|
||||||
|
@ -723,7 +723,7 @@
|
||||||
"LabelOriginalTitle": "Título original:",
|
"LabelOriginalTitle": "Título original:",
|
||||||
"LabelOriginalAspectRatio": "Relación de aspecto original:",
|
"LabelOriginalAspectRatio": "Relación de aspecto original:",
|
||||||
"LabelOptionalNetworkPathHelp": "Si esta carpeta es compartida en su red, proveer la ruta del recurso compartido de red puede permitir a las aplicaciones Jellyfin en otros dispositivos acceder a los archivos de medios directamente. Por ejemplo, {0} o {1}.",
|
"LabelOptionalNetworkPathHelp": "Si esta carpeta es compartida en su red, proveer la ruta del recurso compartido de red puede permitir a las aplicaciones Jellyfin en otros dispositivos acceder a los archivos de medios directamente. Por ejemplo, {0} o {1}.",
|
||||||
"LabelOptionalNetworkPath": "(Opcional) Carpeta de red compartida:",
|
"LabelOptionalNetworkPath": "Carpeta de red compartida:",
|
||||||
"LabelNumberOfGuideDaysHelp": "Descargar más días de datos de programación permite programar con mayor anticipación y ver más listados, pero tomará más tiempo en descargar. Auto hará la selección basada en el número de canales.",
|
"LabelNumberOfGuideDaysHelp": "Descargar más días de datos de programación permite programar con mayor anticipación y ver más listados, pero tomará más tiempo en descargar. Auto hará la selección basada en el número de canales.",
|
||||||
"LabelNumberOfGuideDays": "Número de días de datos de la programación a descargar:",
|
"LabelNumberOfGuideDays": "Número de días de datos de la programación a descargar:",
|
||||||
"LabelNumber": "Número:",
|
"LabelNumber": "Número:",
|
||||||
|
@ -736,9 +736,9 @@
|
||||||
"LabelStable": "Estable",
|
"LabelStable": "Estable",
|
||||||
"LabelChromecastVersion": "Versión de Chromecast",
|
"LabelChromecastVersion": "Versión de Chromecast",
|
||||||
"LabelName": "Nombre:",
|
"LabelName": "Nombre:",
|
||||||
"LabelMusicStreamingTranscodingBitrateHelp": "Especifica la velocidad de bits máxima al transmitir música.",
|
"LabelMusicStreamingTranscodingBitrateHelp": "Especifica la máxima velocidad de bits al transmitir música.",
|
||||||
"LabelMusicStreamingTranscodingBitrate": "Velocidad de bits de transcodificación de música:",
|
"LabelMusicStreamingTranscodingBitrate": "Velocidad de bits de transcodificación de música:",
|
||||||
"LabelMovieRecordingPath": "Ruta para las grabaciones de películas (opcional):",
|
"LabelMovieRecordingPath": "Ruta para las grabaciones de películas:",
|
||||||
"LabelMoviePrefixHelp": "Si un prefijo es aplicado al título de las películas, introdúcelo aquí para que el servidor pueda manejarlo correctamente.",
|
"LabelMoviePrefixHelp": "Si un prefijo es aplicado al título de las películas, introdúcelo aquí para que el servidor pueda manejarlo correctamente.",
|
||||||
"LabelMoviePrefix": "Prefijo de la película:",
|
"LabelMoviePrefix": "Prefijo de la película:",
|
||||||
"LabelMovieCategories": "Categorías de películas:",
|
"LabelMovieCategories": "Categorías de películas:",
|
||||||
|
@ -935,11 +935,11 @@
|
||||||
"LabelBurnSubtitles": "Quemar subtítulos:",
|
"LabelBurnSubtitles": "Quemar subtítulos:",
|
||||||
"LabelBlockContentWithTags": "Bloquear elementos con las etiquetas:",
|
"LabelBlockContentWithTags": "Bloquear elementos con las etiquetas:",
|
||||||
"LabelBlastMessageIntervalHelp": "Determina la duración en segundos del intervalo entre mensajes de vida.",
|
"LabelBlastMessageIntervalHelp": "Determina la duración en segundos del intervalo entre mensajes de vida.",
|
||||||
"LabelBlastMessageInterval": "Intervalo de mensajes de vida (segundos)",
|
"LabelBlastMessageInterval": "Intervalo de mensajes de vida",
|
||||||
"LabelBitrate": "Velocidad de bits:",
|
"LabelBitrate": "Velocidad de bits:",
|
||||||
"LabelBirthYear": "Año de nacimiento:",
|
"LabelBirthYear": "Año de nacimiento:",
|
||||||
"LabelBirthDate": "Fecha de nacimiento:",
|
"LabelBirthDate": "Fecha de nacimiento:",
|
||||||
"LabelBindToLocalNetworkAddressHelp": "Opcional. Sobrescribe la dirección IP local a la que se vincula el servidor http. Si se deja vacío, el servidor se vinculará a todas las direcciones disponibles. Cambiar este valor requiere reiniciar el servidor Jellyfin.",
|
"LabelBindToLocalNetworkAddressHelp": "Sobrescribe la dirección IP local del servidor HTTP. Si se deja vacío, el servidor se vinculará a todas las direcciones disponibles. Para cambiar este valor se necesita reiniciar el servidor.",
|
||||||
"LabelBindToLocalNetworkAddress": "Vincular a la dirección de red local:",
|
"LabelBindToLocalNetworkAddress": "Vincular a la dirección de red local:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Actualizar automáticamente los metadatos desde Internet:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Actualizar automáticamente los metadatos desde Internet:",
|
||||||
"LabelAuthProvider": "Proveedor de autenticación:",
|
"LabelAuthProvider": "Proveedor de autenticación:",
|
||||||
|
@ -950,7 +950,7 @@
|
||||||
"LabelAudioBitrate": "Velocidad de bits de audio:",
|
"LabelAudioBitrate": "Velocidad de bits de audio:",
|
||||||
"LabelAudioBitDepth": "Profundidad de bits de audio:",
|
"LabelAudioBitDepth": "Profundidad de bits de audio:",
|
||||||
"LabelAudio": "Audio",
|
"LabelAudio": "Audio",
|
||||||
"LabelArtistsHelp": "Separar múltiples empleando ;",
|
"LabelArtistsHelp": "Separar múltiples artistas por punto y coma.",
|
||||||
"LabelArtists": "Artistas:",
|
"LabelArtists": "Artistas:",
|
||||||
"LabelAppNameExample": "Ejemplo: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Ejemplo: Sickbeard, Sonarr",
|
||||||
"LabelAppName": "Nombre de la aplicación",
|
"LabelAppName": "Nombre de la aplicación",
|
||||||
|
@ -980,8 +980,8 @@
|
||||||
"ItemCount": "{0} elementos",
|
"ItemCount": "{0} elementos",
|
||||||
"InstantMix": "Mix instantáneo",
|
"InstantMix": "Mix instantáneo",
|
||||||
"InstallingPackage": "Instalando {0} (versión {1})",
|
"InstallingPackage": "Instalando {0} (versión {1})",
|
||||||
"ImportMissingEpisodesHelp": "Si se habilita, la información sobre los episodios faltantes se importará a la base de datos de Jellyfin y se mostrarán dentro de las temporadas y series. Esto puede causar escaneos de biblioteca significativamente más largos.",
|
"ImportMissingEpisodesHelp": "La información sobre los episodios faltantes se importará a la base de datos y se mostrarán dentro de las temporadas y series. Esto puede causar escaneos de biblioteca significativamente más largos.",
|
||||||
"ImportFavoriteChannelsHelp": "Si se habilita, solo los canales marcados como favoritos en el dispositivo sintonizador serán importados.",
|
"ImportFavoriteChannelsHelp": "Solo los canales marcados como favoritos en el dispositivo sintonizador serán importados.",
|
||||||
"Images": "Imágenes",
|
"Images": "Imágenes",
|
||||||
"Identify": "Identificar",
|
"Identify": "Identificar",
|
||||||
"HttpsRequiresCert": "Para habilitar las conexiones seguras, necesitarás proporcionar un certificado SSL de confianza, como el de Let's Encrypt. Por favor, proporciona un certificado o desactiva las conexiones seguras.",
|
"HttpsRequiresCert": "Para habilitar las conexiones seguras, necesitarás proporcionar un certificado SSL de confianza, como el de Let's Encrypt. Por favor, proporciona un certificado o desactiva las conexiones seguras.",
|
||||||
|
@ -1033,7 +1033,7 @@
|
||||||
"HeaderSelectServerCachePath": "Seleccionar ruta para la caché del servidor",
|
"HeaderSelectServerCachePath": "Seleccionar ruta para la caché del servidor",
|
||||||
"HeaderSelectServer": "Seleccionar servidor",
|
"HeaderSelectServer": "Seleccionar servidor",
|
||||||
"HeaderSelectPath": "Seleccionar ruta",
|
"HeaderSelectPath": "Seleccionar ruta",
|
||||||
"HeaderSelectMetadataPathHelp": "Explora o introduce la ruta donde deseas almacenar los metadatos. Se debe tener permisos de escritura en dicha carpeta.",
|
"HeaderSelectMetadataPathHelp": "Explora o escribe la ruta donde deseas guardar los metadatos. Se tienen que tener permisos de escritura en esa carpeta.",
|
||||||
"HeaderSelectMetadataPath": "Selecciona la ruta para los metadatos",
|
"HeaderSelectMetadataPath": "Selecciona la ruta para los metadatos",
|
||||||
"HeaderSelectCertificatePath": "Selecciona la ruta del certificado",
|
"HeaderSelectCertificatePath": "Selecciona la ruta del certificado",
|
||||||
"HeaderSecondsValue": "{0} segundos",
|
"HeaderSecondsValue": "{0} segundos",
|
||||||
|
@ -1052,7 +1052,7 @@
|
||||||
"HeaderRecordingPostProcessing": "Post procesado de las grabaciones",
|
"HeaderRecordingPostProcessing": "Post procesado de las grabaciones",
|
||||||
"HeaderRecordingOptions": "Opciones de grabación",
|
"HeaderRecordingOptions": "Opciones de grabación",
|
||||||
"HeaderRecentlyPlayed": "Reproducido recientemente",
|
"HeaderRecentlyPlayed": "Reproducido recientemente",
|
||||||
"HeaderProfileServerSettingsHelp": "Estos valores controlan como el servidor Jellyfin se presentará al dispositivo.",
|
"HeaderProfileServerSettingsHelp": "Estos valores controlan cómo el servidor se presentará a los clientes.",
|
||||||
"HeaderProfileInformation": "Información del perfil",
|
"HeaderProfileInformation": "Información del perfil",
|
||||||
"HeaderProfile": "Perfil",
|
"HeaderProfile": "Perfil",
|
||||||
"HeaderPreferredMetadataLanguage": "Idioma preferido para los metadatos",
|
"HeaderPreferredMetadataLanguage": "Idioma preferido para los metadatos",
|
||||||
|
@ -1100,7 +1100,7 @@
|
||||||
"HeaderLatestMovies": "Últimas películas",
|
"HeaderLatestMovies": "Últimas películas",
|
||||||
"HeaderLatestMedia": "Últimos medios",
|
"HeaderLatestMedia": "Últimos medios",
|
||||||
"HeaderLatestEpisodes": "Últimos episodios",
|
"HeaderLatestEpisodes": "Últimos episodios",
|
||||||
"HeaderKodiMetadataHelp": "Para habilitar o deshabilitar los metadatos NFO, edite una biblioteca en la configuración de bibliotecas de Jellyfin y ubica la sección grabadores de metadatos.",
|
"HeaderKodiMetadataHelp": "Para habilitar o deshabilitar los metadatos NFO, edita una biblioteca y ubica la sección de grabadores de metadatos.",
|
||||||
"HeaderKeepSeries": "Conservar serie",
|
"HeaderKeepSeries": "Conservar serie",
|
||||||
"HeaderKeepRecording": "Conservar grabación",
|
"HeaderKeepRecording": "Conservar grabación",
|
||||||
"HeaderItems": "Elementos",
|
"HeaderItems": "Elementos",
|
||||||
|
@ -1215,7 +1215,7 @@
|
||||||
"HeaderAppearsOn": "Aparece en",
|
"HeaderAppearsOn": "Aparece en",
|
||||||
"HeaderApp": "Aplicación",
|
"HeaderApp": "Aplicación",
|
||||||
"ApiKeysCaption": "Lista de claves API actualmente habilitadas",
|
"ApiKeysCaption": "Lista de claves API actualmente habilitadas",
|
||||||
"HeaderApiKeysHelp": "Las aplicaciones externas deben tener una clave API para poder comunicarse con el servidor Jellyfin. Las claves se emiten al iniciar sesión con una cuenta Jellyfin, o al otorgar manualmente una clave a la aplicación.",
|
"HeaderApiKeysHelp": "Las aplicaciones externas deben tener una clave API para poder comunicarse con el servidor. Las claves se emiten al iniciar sesión con una cuenta de usuario, o al otorgar manualmente una clave a la aplicación.",
|
||||||
"HeaderApiKeys": "Claves API",
|
"HeaderApiKeys": "Claves API",
|
||||||
"HeaderApiKey": "Clave API",
|
"HeaderApiKey": "Clave API",
|
||||||
"HeaderAllowMediaDeletionFrom": "Permitir eliminación de medios de",
|
"HeaderAllowMediaDeletionFrom": "Permitir eliminación de medios de",
|
||||||
|
@ -1361,7 +1361,7 @@
|
||||||
"HeaderSeriesOptions": "Opciones de serie",
|
"HeaderSeriesOptions": "Opciones de serie",
|
||||||
"HeaderSeries": "Series",
|
"HeaderSeries": "Series",
|
||||||
"HeaderSendMessage": "Enviar mensaje",
|
"HeaderSendMessage": "Enviar mensaje",
|
||||||
"HeaderSelectTranscodingPathHelp": "Explora o introduce la ruta a utilizar para los archivos temporales de transcodificación. Se debe tener permisos de escritura en dicha carpeta.",
|
"HeaderSelectTranscodingPathHelp": "Explora o escribe la ruta para los archivos de transcodificación. Se tienen que tener permisos de escritura en esa carpeta.",
|
||||||
"HeaderSelectTranscodingPath": "Selecciona la ruta para los archivos temporales de transcodificación",
|
"HeaderSelectTranscodingPath": "Selecciona la ruta para los archivos temporales de transcodificación",
|
||||||
"ConfirmDeleteItems": "Eliminar estos elementos los eliminará tanto del sistema como de tu biblioteca de medios. ¿Estás seguro de querer continuar?",
|
"ConfirmDeleteItems": "Eliminar estos elementos los eliminará tanto del sistema como de tu biblioteca de medios. ¿Estás seguro de querer continuar?",
|
||||||
"ConfirmDeleteItem": "Eliminar este elemento lo eliminará tanto del sistema como de tu biblioteca de medios. ¿Estás seguro de querer continuar?",
|
"ConfirmDeleteItem": "Eliminar este elemento lo eliminará tanto del sistema como de tu biblioteca de medios. ¿Estás seguro de querer continuar?",
|
||||||
|
@ -1468,7 +1468,7 @@
|
||||||
"Backdrops": "Imágenes de fondo",
|
"Backdrops": "Imágenes de fondo",
|
||||||
"Backdrop": "Imagen de fondo",
|
"Backdrop": "Imagen de fondo",
|
||||||
"Auto": "Auto",
|
"Auto": "Auto",
|
||||||
"AuthProviderHelp": "Selecciona un proveedor de autenticación que se utilizará para autenticar la contraseña de este usuario.",
|
"AuthProviderHelp": "Selecciona el proveedor de autenticación que se utilizará para autenticar la contraseña de este usuario.",
|
||||||
"Audio": "Audio",
|
"Audio": "Audio",
|
||||||
"AttributeNew": "Nuevo",
|
"AttributeNew": "Nuevo",
|
||||||
"AspectRatio": "Relación de aspecto",
|
"AspectRatio": "Relación de aspecto",
|
||||||
|
@ -1522,5 +1522,13 @@
|
||||||
"ButtonCast": "Emitir",
|
"ButtonCast": "Emitir",
|
||||||
"Writers": "Escritores",
|
"Writers": "Escritores",
|
||||||
"ViewAlbumArtist": "Ver Álbum de Artista",
|
"ViewAlbumArtist": "Ver Álbum de Artista",
|
||||||
"TabRepositories": "Repositorios"
|
"TabRepositories": "Repositorios",
|
||||||
|
"NextTrack": "Saltar al siguiente",
|
||||||
|
"LabelUnstable": "Inestable",
|
||||||
|
"Preview": "Vista previa",
|
||||||
|
"SubtitleVerticalPositionHelp": "Número de línea donde aparece el texto. Números positivos representan de arriba hacia abajo. Números negativos representan de abajo hacia arriba.",
|
||||||
|
"LabelSubtitleVerticalPosition": "Posición Vertical:",
|
||||||
|
"PreviousTrack": "Saltar al anterior",
|
||||||
|
"MessageGetInstalledPluginsError": "Ocurrió un error buscando la lista de plugins instalados.",
|
||||||
|
"MessagePluginInstallError": "Ocurrió un error instalando el plugin."
|
||||||
}
|
}
|
||||||
|
|
|
@ -1528,5 +1528,7 @@
|
||||||
"LabelUnstable": "Instable",
|
"LabelUnstable": "Instable",
|
||||||
"Preview": "Aperçu",
|
"Preview": "Aperçu",
|
||||||
"SubtitleVerticalPositionHelp": "Numéro de ligne où le texte apparaît. Un nombre positif compte les lignes de haut en bas. Un nombre négatif, de bas en haut.",
|
"SubtitleVerticalPositionHelp": "Numéro de ligne où le texte apparaît. Un nombre positif compte les lignes de haut en bas. Un nombre négatif, de bas en haut.",
|
||||||
"LabelSubtitleVerticalPosition": "Position verticale :"
|
"LabelSubtitleVerticalPosition": "Position verticale :",
|
||||||
|
"MessageGetInstalledPluginsError": "Une erreur est survenue lors de la récupération de la liste des extensions installées.",
|
||||||
|
"MessagePluginInstallError": "Une erreur est survenue durant l'installation de l'extension."
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,7 +155,7 @@
|
||||||
"DetectingDevices": "Apparaten detecteren",
|
"DetectingDevices": "Apparaten detecteren",
|
||||||
"DeviceAccessHelp": "Dit geldt alleen voor apparaten die uniek geïdentificeerd kunnen worden en voorkomen niet toegang via een webbrowser. Filteren van apparaat toegang voor gebruikers voorkomt dat zij nieuwe apparaten gebruiken totdat deze hier zijn goedgekeurd.",
|
"DeviceAccessHelp": "Dit geldt alleen voor apparaten die uniek geïdentificeerd kunnen worden en voorkomen niet toegang via een webbrowser. Filteren van apparaat toegang voor gebruikers voorkomt dat zij nieuwe apparaten gebruiken totdat deze hier zijn goedgekeurd.",
|
||||||
"DirectPlaying": "Direct afspelen",
|
"DirectPlaying": "Direct afspelen",
|
||||||
"DirectStreamHelp1": "De resolutie en codec (bijv. H.264, AC3, etc.) wordt ondersteund door het apparaat, maar het medium is in een niet-ondersteunde bestandscontainer (bijv. mkv, avi, wmv). De video zal tijdens het afspelen opnieuw verpakt worden naar een andere bestandscontainer.",
|
"DirectStreamHelp1": "De resolutie en codec (H.264, AC3, etc.) wordt ondersteund door het apparaat, maar het medium is in een niet-ondersteunde bestandscontainer (mkv, avi, wmv, etc.). De video zal tijdens het afspelen opnieuw verpakt worden naar een andere bestandscontainer.",
|
||||||
"DirectStreamHelp2": "Direct streamen van een bestand gebruikt weinig processorkracht zonder verlies van beeldkwaliteit.",
|
"DirectStreamHelp2": "Direct streamen van een bestand gebruikt weinig processorkracht zonder verlies van beeldkwaliteit.",
|
||||||
"DirectStreaming": "Direct streamen",
|
"DirectStreaming": "Direct streamen",
|
||||||
"Director": "Regiseur",
|
"Director": "Regiseur",
|
||||||
|
@ -262,7 +262,7 @@
|
||||||
"HeaderAllowMediaDeletionFrom": "Wissen van media toestaan van",
|
"HeaderAllowMediaDeletionFrom": "Wissen van media toestaan van",
|
||||||
"HeaderApiKey": "API Sleutel",
|
"HeaderApiKey": "API Sleutel",
|
||||||
"HeaderApiKeys": "API Sleutels",
|
"HeaderApiKeys": "API Sleutels",
|
||||||
"HeaderApiKeysHelp": "Externe applicaties zijn verplicht om een API sleutel te hebben om te communiceren met Jellyfin Server. Sleutels worden uitgegeven door in te loggen met een Jellyfin account, of door het handmatig verlenen van een sleutel voor de toepassing.",
|
"HeaderApiKeysHelp": "Externe applicaties zijn verplicht om een API sleutel te hebben om te communiceren met de server. Sleutels kunnen verkregen worden door in te loggen met een Jellyfin account, of door er een handmatig te verlenen.",
|
||||||
"HeaderApp": "Applicatie",
|
"HeaderApp": "Applicatie",
|
||||||
"HeaderAppearsOn": "Verschijnt op",
|
"HeaderAppearsOn": "Verschijnt op",
|
||||||
"HeaderAudioBooks": "Luisterboeken",
|
"HeaderAudioBooks": "Luisterboeken",
|
||||||
|
@ -325,7 +325,7 @@
|
||||||
"HeaderInstall": "Installeer",
|
"HeaderInstall": "Installeer",
|
||||||
"HeaderKeepRecording": "Bewaar opname",
|
"HeaderKeepRecording": "Bewaar opname",
|
||||||
"HeaderKeepSeries": "Series behouden",
|
"HeaderKeepSeries": "Series behouden",
|
||||||
"HeaderKodiMetadataHelp": "Om NFO-metadata in of uit te schakelen, gaat u naar de Jellyfin bibliotheekinstellingen en vervolgens naar de metadata-downloaders sectie.",
|
"HeaderKodiMetadataHelp": "Om NFO-metadata in of uit te schakelen, bewerk een bibliotheek en zoek in de metadata-downloaders sectie.",
|
||||||
"HeaderLatestEpisodes": "Nieuwste Afleveringen",
|
"HeaderLatestEpisodes": "Nieuwste Afleveringen",
|
||||||
"HeaderLatestMedia": "Nieuwste Media",
|
"HeaderLatestMedia": "Nieuwste Media",
|
||||||
"HeaderLatestMovies": "Nieuwste Films",
|
"HeaderLatestMovies": "Nieuwste Films",
|
||||||
|
@ -444,7 +444,7 @@
|
||||||
"HttpsRequiresCert": "Om beveiligde verbindingen in te schakelen, is een vertrouwd SSL-certificaat vereist (zoals Let's Encrypt). Geef een certificaat op of schakel beveiligde verbindingen uit.",
|
"HttpsRequiresCert": "Om beveiligde verbindingen in te schakelen, is een vertrouwd SSL-certificaat vereist (zoals Let's Encrypt). Geef een certificaat op of schakel beveiligde verbindingen uit.",
|
||||||
"Identify": "Identificeer",
|
"Identify": "Identificeer",
|
||||||
"Images": "Afbeeldingen",
|
"Images": "Afbeeldingen",
|
||||||
"ImportFavoriteChannelsHelp": "Bij inschakelen zullen alleen kanalen geïmporteerd worden die op de tuner als favoriet aangemerkt zijn.",
|
"ImportFavoriteChannelsHelp": "Alleen kanalen die als favoriet aangemerkt zijn op de tuner zullen geïmporteerd worden.",
|
||||||
"ImportMissingEpisodesHelp": "Indien ingeschakeld, wordt informatie over ontbrekende afleveringen in uw Jellyfin de database geïmporteerd en weergegeven in de seizoenen en series. Dit kan aanzienlijk langere bibliotheekscans veroorzaken.",
|
"ImportMissingEpisodesHelp": "Indien ingeschakeld, wordt informatie over ontbrekende afleveringen in uw Jellyfin de database geïmporteerd en weergegeven in de seizoenen en series. Dit kan aanzienlijk langere bibliotheekscans veroorzaken.",
|
||||||
"InstallingPackage": "Installeren van {0} (versie {1})",
|
"InstallingPackage": "Installeren van {0} (versie {1})",
|
||||||
"Kids": "Kinderen",
|
"Kids": "Kinderen",
|
||||||
|
@ -471,14 +471,14 @@
|
||||||
"LabelAppName": "Applicatie Naam",
|
"LabelAppName": "Applicatie Naam",
|
||||||
"LabelAppNameExample": "Voorbeeld: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Voorbeeld: Sickbeard, Sonarr",
|
||||||
"LabelArtists": "Artiest:",
|
"LabelArtists": "Artiest:",
|
||||||
"LabelArtistsHelp": "Scheidt meerdere met een ;",
|
"LabelArtistsHelp": "Scheidt artiesten met een ;",
|
||||||
"LabelAudioLanguagePreference": "Voorkeurs audiotaal:",
|
"LabelAudioLanguagePreference": "Voorkeurs audiotaal:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Vernieuw metagegevens automatisch van het internet:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Vernieuw metagegevens automatisch van het internet:",
|
||||||
"LabelBindToLocalNetworkAddress": "Binden aan het lokale netwerk adres:",
|
"LabelBindToLocalNetworkAddress": "Binden aan het lokale netwerk adres:",
|
||||||
"LabelBindToLocalNetworkAddressHelp": "Optioneel. Overrule het lokale IP-adres om aan de http-server te binden. Indien leeg gelaten, zal de server binden aan alle beschikbare adressen. Het veranderen van deze waarde vereist herstarten van Jellyfin Server.",
|
"LabelBindToLocalNetworkAddressHelp": "Optioneel. Overrule het lokale IP-adres om aan de http-server te binden. Indien leeg gelaten, zal de server binden aan alle beschikbare adressen. Het veranderen van deze waarde vereist herstarten van Jellyfin Server.",
|
||||||
"LabelBirthDate": "Geboortedatum:",
|
"LabelBirthDate": "Geboortedatum:",
|
||||||
"LabelBirthYear": "Geboorte jaar:",
|
"LabelBirthYear": "Geboorte jaar:",
|
||||||
"LabelBlastMessageInterval": "Alive bericht interval (seconden)",
|
"LabelBlastMessageInterval": "Alive bericht interval",
|
||||||
"LabelBlastMessageIntervalHelp": "Bepaalt de duur in seconden tussen Blast Alive berichten.",
|
"LabelBlastMessageIntervalHelp": "Bepaalt de duur in seconden tussen Blast Alive berichten.",
|
||||||
"LabelBlockContentWithTags": "Blokkeer items met volgende tags:",
|
"LabelBlockContentWithTags": "Blokkeer items met volgende tags:",
|
||||||
"LabelBurnSubtitles": "Ondertitels inbranden:",
|
"LabelBurnSubtitles": "Ondertitels inbranden:",
|
||||||
|
@ -503,7 +503,7 @@
|
||||||
"LabelCustomRating": "Aangepaste classificatie:",
|
"LabelCustomRating": "Aangepaste classificatie:",
|
||||||
"LabelDateAdded": "Datum toegevoegd:",
|
"LabelDateAdded": "Datum toegevoegd:",
|
||||||
"LabelDateAddedBehavior": "Datum toegevoegd gedrag voor nieuwe content:",
|
"LabelDateAddedBehavior": "Datum toegevoegd gedrag voor nieuwe content:",
|
||||||
"LabelDateAddedBehaviorHelp": "Als metadata gegevens aanwezig zijn hebben deze voorrang op deze opties.",
|
"LabelDateAddedBehaviorHelp": "Als metadata gegevens aanwezig is krijgt deze voorrang op deze opties.",
|
||||||
"LabelDateTimeLocale": "Datum en tijd regio:",
|
"LabelDateTimeLocale": "Datum en tijd regio:",
|
||||||
"LabelDay": "Dag:",
|
"LabelDay": "Dag:",
|
||||||
"LabelDeathDate": "Overlijdens datum:",
|
"LabelDeathDate": "Overlijdens datum:",
|
||||||
|
@ -531,12 +531,12 @@
|
||||||
"LabelEnableAutomaticPortMapHelp": "Publieke poort automatisch doorsturen naar een lokale poort via UPnP. Dit werkt niet op alle routers en netwerk configuraties. De wijzigingen worden pas actief na een herstart van de server.",
|
"LabelEnableAutomaticPortMapHelp": "Publieke poort automatisch doorsturen naar een lokale poort via UPnP. Dit werkt niet op alle routers en netwerk configuraties. De wijzigingen worden pas actief na een herstart van de server.",
|
||||||
"LabelEnableBlastAliveMessages": "Alive berichten zenden",
|
"LabelEnableBlastAliveMessages": "Alive berichten zenden",
|
||||||
"LabelEnableBlastAliveMessagesHelp": "Zet dit aan als de server niet betrouwbaar door andere UPnP-apparaten op uw netwerk wordt gedetecteerd.",
|
"LabelEnableBlastAliveMessagesHelp": "Zet dit aan als de server niet betrouwbaar door andere UPnP-apparaten op uw netwerk wordt gedetecteerd.",
|
||||||
"LabelEnableDlnaClientDiscoveryInterval": "Interval voor het zoeken naar clients (seconden)",
|
"LabelEnableDlnaClientDiscoveryInterval": "Interval voor het zoeken naar clients",
|
||||||
"LabelEnableDlnaClientDiscoveryIntervalHelp": "Bepaalt de duur in seconden tussen SSDP zoekopdrachten uitgevoerd door Jellyfin.",
|
"LabelEnableDlnaClientDiscoveryIntervalHelp": "Bepaalt de duur in seconden tussen SSDP zoekopdrachten uitgevoerd door Jellyfin.",
|
||||||
"LabelEnableDlnaDebugLogging": "DLNA foutopsporings logboek inschakelen",
|
"LabelEnableDlnaDebugLogging": "DLNA foutopsporings logboek inschakelen",
|
||||||
"LabelEnableDlnaDebugLoggingHelp": "Genereer grote logboekbestanden en is alleen bedoeld voor het troubleshooting doeleinden.",
|
"LabelEnableDlnaDebugLoggingHelp": "Genereer grote logboekbestanden en is alleen bedoeld voor het troubleshooting doeleinden.",
|
||||||
"LabelEnableDlnaPlayTo": "DLNA \"Play To\" inschakelen",
|
"LabelEnableDlnaPlayTo": "DLNA \"Play To\" inschakelen",
|
||||||
"LabelEnableDlnaPlayToHelp": "Apparaten detecteren binnen uw netwerk en maak het mogelijk om ze op afstand te controleren.",
|
"LabelEnableDlnaPlayToHelp": "Apparaten detecteren binnen uw netwerk en maak het mogelijk om ze op afstand te gebruiken.",
|
||||||
"LabelEnableDlnaServer": "DLNA server inschakelen",
|
"LabelEnableDlnaServer": "DLNA server inschakelen",
|
||||||
"LabelEnableDlnaServerHelp": "Sta UPnP apparaten op uw netwerk toe om door inhoud te bladeren en deze af te spelen.",
|
"LabelEnableDlnaServerHelp": "Sta UPnP apparaten op uw netwerk toe om door inhoud te bladeren en deze af te spelen.",
|
||||||
"LabelEnableHardwareDecodingFor": "Activeer hardwaredecodering voor:",
|
"LabelEnableHardwareDecodingFor": "Activeer hardwaredecodering voor:",
|
||||||
|
@ -559,14 +559,14 @@
|
||||||
"LabelFriendlyName": "Gebruiksvriendelijke naam:",
|
"LabelFriendlyName": "Gebruiksvriendelijke naam:",
|
||||||
"LabelServerNameHelp": "Deze naam wordt gebruikt om de server te identificeren, standaard is deze de server zijn computer naam.",
|
"LabelServerNameHelp": "Deze naam wordt gebruikt om de server te identificeren, standaard is deze de server zijn computer naam.",
|
||||||
"LabelGroupMoviesIntoCollections": "Groepeer films in collecties",
|
"LabelGroupMoviesIntoCollections": "Groepeer films in collecties",
|
||||||
"LabelGroupMoviesIntoCollectionsHelp": "Bij de weergave van film lijsten, zullen films die tot een collectie behoren worden weergegeven als een gegroepeerd object.",
|
"LabelGroupMoviesIntoCollectionsHelp": "Bij de weergave van film lijsten, zullen films in een collectie worden weergegeven als een gegroepeerd object.",
|
||||||
"LabelEncoderPreset": "H264 codering preset:",
|
"LabelEncoderPreset": "H264 codering preset:",
|
||||||
"LabelHardwareAccelerationType": "Hardware acceleratie:",
|
"LabelHardwareAccelerationType": "Hardware acceleratie:",
|
||||||
"LabelHardwareAccelerationTypeHelp": "Hardwarematige versnelling vereist extra configuratie.",
|
"LabelHardwareAccelerationTypeHelp": "Hardwarematige versnelling vereist extra configuratie.",
|
||||||
"LabelHomeNetworkQuality": "Thuisnetwerk kwaliteit:",
|
"LabelHomeNetworkQuality": "Thuisnetwerk kwaliteit:",
|
||||||
"LabelHomeScreenSectionValue": "Beginscherm sectie {0}:",
|
"LabelHomeScreenSectionValue": "Beginscherm sectie {0}:",
|
||||||
"LabelHttpsPort": "Lokale HTTPS poort nummer:",
|
"LabelHttpsPort": "Lokale HTTPS poort nummer:",
|
||||||
"LabelHttpsPortHelp": "Het TCP poort nummer waar Jellyfin's HTTPS server aan moet verbinden.",
|
"LabelHttpsPortHelp": "Het TCP poort nummer voor de HTTPS server.",
|
||||||
"LabelIconMaxHeight": "Pictogram maximum hoogte:",
|
"LabelIconMaxHeight": "Pictogram maximum hoogte:",
|
||||||
"LabelIconMaxHeightHelp": "Maximum resolutie van pictogrammen weergegeven via upnp:icon.",
|
"LabelIconMaxHeightHelp": "Maximum resolutie van pictogrammen weergegeven via upnp:icon.",
|
||||||
"LabelIconMaxWidth": "Pictogram maximum breedte:",
|
"LabelIconMaxWidth": "Pictogram maximum breedte:",
|
||||||
|
@ -593,7 +593,7 @@
|
||||||
"LabelLanNetworks": "LAN-netwerken:",
|
"LabelLanNetworks": "LAN-netwerken:",
|
||||||
"LabelLanguage": "Taal:",
|
"LabelLanguage": "Taal:",
|
||||||
"LabelLocalHttpServerPortNumber": "Lokale HTTP poort nummer:",
|
"LabelLocalHttpServerPortNumber": "Lokale HTTP poort nummer:",
|
||||||
"LabelLocalHttpServerPortNumberHelp": "Het TCP poort nummer waar Jellyfin's HTTP server aan moet verbinden.",
|
"LabelLocalHttpServerPortNumberHelp": "Het TCP poort nummer voor de HTTP server.",
|
||||||
"LabelLockItemToPreventChanges": "Vergrendel dit item om toekomstige wijzigingen te voorkomen",
|
"LabelLockItemToPreventChanges": "Vergrendel dit item om toekomstige wijzigingen te voorkomen",
|
||||||
"LabelLoginDisclaimer": "Aanmeld vrijwaring:",
|
"LabelLoginDisclaimer": "Aanmeld vrijwaring:",
|
||||||
"LabelLoginDisclaimerHelp": "Een bericht dat weergeven zal worden onderaan op de login pagina.",
|
"LabelLoginDisclaimerHelp": "Een bericht dat weergeven zal worden onderaan op de login pagina.",
|
||||||
|
@ -633,7 +633,7 @@
|
||||||
"LabelMovieCategories": "Film categoriën:",
|
"LabelMovieCategories": "Film categoriën:",
|
||||||
"LabelMoviePrefix": "Film voorvoegsel:",
|
"LabelMoviePrefix": "Film voorvoegsel:",
|
||||||
"LabelMoviePrefixHelp": "Als een voorvoegsel wordt toegepast op filmtitels, typ deze dan eventueel hier zodat de server het goed kan verwerken.",
|
"LabelMoviePrefixHelp": "Als een voorvoegsel wordt toegepast op filmtitels, typ deze dan eventueel hier zodat de server het goed kan verwerken.",
|
||||||
"LabelMovieRecordingPath": "Filmopname pad (optioneel):",
|
"LabelMovieRecordingPath": "Filmopname pad:",
|
||||||
"LabelMusicStreamingTranscodingBitrate": "Muziek transcodering bitrate:",
|
"LabelMusicStreamingTranscodingBitrate": "Muziek transcodering bitrate:",
|
||||||
"LabelMusicStreamingTranscodingBitrateHelp": "Geef een maximum bitrate op voor het streamen van muziek.",
|
"LabelMusicStreamingTranscodingBitrateHelp": "Geef een maximum bitrate op voor het streamen van muziek.",
|
||||||
"LabelName": "Naam:",
|
"LabelName": "Naam:",
|
||||||
|
@ -646,7 +646,7 @@
|
||||||
"LabelNumber": "Nummer:",
|
"LabelNumber": "Nummer:",
|
||||||
"LabelNumberOfGuideDays": "Aantal dagen van de gids om te downloaden:",
|
"LabelNumberOfGuideDays": "Aantal dagen van de gids om te downloaden:",
|
||||||
"LabelNumberOfGuideDaysHelp": "Het downloaden van meer dagen van de gids gegevens biedt de mogelijkheid verder vooruit te plannen en een beter overzicht geven, maar het zal ook langer duren om te downloaden. Auto kiest op basis van het aantal kanalen.",
|
"LabelNumberOfGuideDaysHelp": "Het downloaden van meer dagen van de gids gegevens biedt de mogelijkheid verder vooruit te plannen en een beter overzicht geven, maar het zal ook langer duren om te downloaden. Auto kiest op basis van het aantal kanalen.",
|
||||||
"LabelOptionalNetworkPath": "(Optioneel) Gedeelde netwerkmap:",
|
"LabelOptionalNetworkPath": "Gedeelde netwerkmap:",
|
||||||
"LabelOptionalNetworkPathHelp": "Als deze map wordt gedeeld op uw netwerk, kunnen middels het netwerkpad Jellyfin apps op andere apparaten rechtstreeks toegang tot mediabestanden krijgen. Bijvoorbeeld {0} or {1}.",
|
"LabelOptionalNetworkPathHelp": "Als deze map wordt gedeeld op uw netwerk, kunnen middels het netwerkpad Jellyfin apps op andere apparaten rechtstreeks toegang tot mediabestanden krijgen. Bijvoorbeeld {0} or {1}.",
|
||||||
"LabelOriginalAspectRatio": "Originele aspect ratio:",
|
"LabelOriginalAspectRatio": "Originele aspect ratio:",
|
||||||
"LabelOriginalTitle": "Orginele titel:",
|
"LabelOriginalTitle": "Orginele titel:",
|
||||||
|
@ -687,7 +687,7 @@
|
||||||
"LabelReleaseDate": "Uitgave datum:",
|
"LabelReleaseDate": "Uitgave datum:",
|
||||||
"LabelRemoteClientBitrateLimit": "Internet streaming bitrate limiet (Mbps):",
|
"LabelRemoteClientBitrateLimit": "Internet streaming bitrate limiet (Mbps):",
|
||||||
"LabelRemoteClientBitrateLimitHelp": "Een optionele bitrate per stream limiet voor alle apparaten buiten het netwerk. Dit is handig om te voorkomen dat apparaten een hogere bitrate vragen dan je internetverbinding aan kan. Dit kan een verhoogde belasting van de CPU in je server veroorzaken om videos direct te transcoderen naar een lagere bitrate.",
|
"LabelRemoteClientBitrateLimitHelp": "Een optionele bitrate per stream limiet voor alle apparaten buiten het netwerk. Dit is handig om te voorkomen dat apparaten een hogere bitrate vragen dan je internetverbinding aan kan. Dit kan een verhoogde belasting van de CPU in je server veroorzaken om videos direct te transcoderen naar een lagere bitrate.",
|
||||||
"LabelRuntimeMinutes": "Speelduur (minuten):",
|
"LabelRuntimeMinutes": "Speelduur:",
|
||||||
"LabelSaveLocalMetadata": "Afbeeldingen opslaan in mediamappen",
|
"LabelSaveLocalMetadata": "Afbeeldingen opslaan in mediamappen",
|
||||||
"LabelSaveLocalMetadataHelp": "Door afbeeldingen op te slaan in de mediamappen kunnen ze makkelijker worden aangepast.",
|
"LabelSaveLocalMetadataHelp": "Door afbeeldingen op te slaan in de mediamappen kunnen ze makkelijker worden aangepast.",
|
||||||
"LabelScheduledTaskLastRan": "Laatste keer {0}, duur {1}.",
|
"LabelScheduledTaskLastRan": "Laatste keer {0}, duur {1}.",
|
||||||
|
@ -699,7 +699,7 @@
|
||||||
"LabelSelectVersionToInstall": "Selecteer de versie om te installeren:",
|
"LabelSelectVersionToInstall": "Selecteer de versie om te installeren:",
|
||||||
"LabelSendNotificationToUsers": "Stuur de melding naar:",
|
"LabelSendNotificationToUsers": "Stuur de melding naar:",
|
||||||
"LabelSerialNumber": "Serienummer",
|
"LabelSerialNumber": "Serienummer",
|
||||||
"LabelSeriesRecordingPath": "Serieopname pad (optioneel):",
|
"LabelSeriesRecordingPath": "Serieopname pad:",
|
||||||
"LabelServerHost": "Server:",
|
"LabelServerHost": "Server:",
|
||||||
"LabelServerHostHelp": "192.168.1.100:8096 of https://mijnserver.nl",
|
"LabelServerHostHelp": "192.168.1.100:8096 of https://mijnserver.nl",
|
||||||
"LabelSimultaneousConnectionLimit": "Gelijktijdige stream limiet:",
|
"LabelSimultaneousConnectionLimit": "Gelijktijdige stream limiet:",
|
||||||
|
@ -882,7 +882,7 @@
|
||||||
"OptionAllowLinkSharingHelp": "Alleen webpagina's met media-informatie worden gedeeld. Media-bestanden worden nooit publiekelijk gedeeld. Gedeelde items zijn beperkt in tijd en verlopen na {0} dagen.",
|
"OptionAllowLinkSharingHelp": "Alleen webpagina's met media-informatie worden gedeeld. Media-bestanden worden nooit publiekelijk gedeeld. Gedeelde items zijn beperkt in tijd en verlopen na {0} dagen.",
|
||||||
"OptionAllowManageLiveTv": "Live TV opname beheer toestaan",
|
"OptionAllowManageLiveTv": "Live TV opname beheer toestaan",
|
||||||
"OptionAllowMediaPlayback": "Media afspelen toestaan",
|
"OptionAllowMediaPlayback": "Media afspelen toestaan",
|
||||||
"OptionAllowMediaPlaybackTranscodingHelp": "Toegang tot transcodering beperken kan afspeelfouten in Jellyfin apps door niet ondersteunde madiaformaten veroorzaken.",
|
"OptionAllowMediaPlaybackTranscodingHelp": "Het beperken van toegang tot transcodering kan afspeelfouten in clients veroorzaken door niet ondersteunde madiaformaten.",
|
||||||
"OptionAllowRemoteControlOthers": "Op afstand besturen van andere gebruikers toestaan",
|
"OptionAllowRemoteControlOthers": "Op afstand besturen van andere gebruikers toestaan",
|
||||||
"OptionAllowRemoteSharedDevices": "Op afstand besturen van gedeelde apparaten toestaan",
|
"OptionAllowRemoteSharedDevices": "Op afstand besturen van gedeelde apparaten toestaan",
|
||||||
"OptionAllowRemoteSharedDevicesHelp": "DLNA apparaten worden als gedeeld apparaat gezien totdat een gebruiker deze gaat gebruiken.",
|
"OptionAllowRemoteSharedDevicesHelp": "DLNA apparaten worden als gedeeld apparaat gezien totdat een gebruiker deze gaat gebruiken.",
|
||||||
|
@ -894,7 +894,7 @@
|
||||||
"OptionAscending": "Oplopend",
|
"OptionAscending": "Oplopend",
|
||||||
"OptionAutomatic": "Automatisch",
|
"OptionAutomatic": "Automatisch",
|
||||||
"OptionAutomaticallyGroupSeries": "Automatisch samenvoegen serie die zijn verspreid over meerdere mappen",
|
"OptionAutomaticallyGroupSeries": "Automatisch samenvoegen serie die zijn verspreid over meerdere mappen",
|
||||||
"OptionAutomaticallyGroupSeriesHelp": "Indien ingeschakeld, zal serie die zijn verspreid over meerdere mappen binnen deze bibliotheek automatisch samengevoegd tot één serie.",
|
"OptionAutomaticallyGroupSeriesHelp": "Serie die verspreid zijn over meerdere mappen binnen deze bibliotheek worden automatisch samengevoegd tot één serie.",
|
||||||
"OptionBlockBooks": "Boeken",
|
"OptionBlockBooks": "Boeken",
|
||||||
"OptionBlockChannelContent": "Internet kanaal Inhoud",
|
"OptionBlockChannelContent": "Internet kanaal Inhoud",
|
||||||
"OptionBlockLiveTvChannels": "Live TV Kanalen",
|
"OptionBlockLiveTvChannels": "Live TV Kanalen",
|
||||||
|
@ -913,7 +913,7 @@
|
||||||
"OptionDatePlayed": "Datum afgespeeld",
|
"OptionDatePlayed": "Datum afgespeeld",
|
||||||
"OptionDescending": "Aflopend",
|
"OptionDescending": "Aflopend",
|
||||||
"OptionDisableUser": "Deze gebruiker uitschakelen",
|
"OptionDisableUser": "Deze gebruiker uitschakelen",
|
||||||
"OptionDisableUserHelp": "Indien uitgeschakeld zal de server geen verbindingen van deze gebruiker toestaan. Bestaande verbindingen zullen abrupt worden beëindigd.",
|
"OptionDisableUserHelp": "De server staat geen verbindingen van deze gebruiker toe. Bestaande verbindingen zullen abrupt worden beëindigd.",
|
||||||
"OptionDislikes": "Niet leuk",
|
"OptionDislikes": "Niet leuk",
|
||||||
"OptionDisplayFolderView": "Toon een mappenweergave als u gewoon Mediamappen wilt weergeven",
|
"OptionDisplayFolderView": "Toon een mappenweergave als u gewoon Mediamappen wilt weergeven",
|
||||||
"OptionDisplayFolderViewHelp": "Geef folders weer naast uw andere media bibliotheken. Dit kan handig zijn als u een oppervlakkig folder aanzicht wilt hebben.",
|
"OptionDisplayFolderViewHelp": "Geef folders weer naast uw andere media bibliotheken. Dit kan handig zijn als u een oppervlakkig folder aanzicht wilt hebben.",
|
||||||
|
@ -1490,7 +1490,7 @@
|
||||||
"LabelRequireHttps": "HTTPS verplichten",
|
"LabelRequireHttps": "HTTPS verplichten",
|
||||||
"LabelStable": "Stabiel",
|
"LabelStable": "Stabiel",
|
||||||
"LabelChromecastVersion": "Chromecast versie",
|
"LabelChromecastVersion": "Chromecast versie",
|
||||||
"LabelEnableHttpsHelp": "Hiermee kan de server luisteren op de geconfigureerde HTTPS-poort. Om dit te laten werken moet ook een geldig certificaat worden geconfigureerd.",
|
"LabelEnableHttpsHelp": "Luisteren op de geconfigureerde HTTPS-poort. Om dit te laten werken moet ook een geldig certificaat worden ingesteld.",
|
||||||
"LabelEnableHttps": "HTTPS inschakelen",
|
"LabelEnableHttps": "HTTPS inschakelen",
|
||||||
"HeaderSyncPlayEnabled": "SyncPlay ingeschakeld",
|
"HeaderSyncPlayEnabled": "SyncPlay ingeschakeld",
|
||||||
"HeaderSyncPlaySelectGroup": "Word lid van een groep",
|
"HeaderSyncPlaySelectGroup": "Word lid van een groep",
|
||||||
|
@ -1520,5 +1520,11 @@
|
||||||
"LabelRepositoryUrlHelp": "De locatie van het repository manifest dat je wilt gebruiken.",
|
"LabelRepositoryUrlHelp": "De locatie van het repository manifest dat je wilt gebruiken.",
|
||||||
"LabelRepositoryUrl": "Repository URL",
|
"LabelRepositoryUrl": "Repository URL",
|
||||||
"HeaderNewRepository": "Nieuwe repository",
|
"HeaderNewRepository": "Nieuwe repository",
|
||||||
"MessageNoRepositories": "Geen repositories."
|
"MessageNoRepositories": "Geen repositories.",
|
||||||
|
"LabelSubtitleVerticalPosition": "Verticale positie:",
|
||||||
|
"TabRepositories": "Repositories",
|
||||||
|
"MessageGetInstalledPluginsError": "Er is een fout opgetreden bij het ophalen van de lijst met geïnstalleerde plugins.",
|
||||||
|
"MessagePluginInstallError": "Er is een fout opgetreden tijdens het installeren van de plugin.",
|
||||||
|
"LabelUnstable": "Niet stabiel",
|
||||||
|
"NextTrack": "Ga naar volgende"
|
||||||
}
|
}
|
||||||
|
|
|
@ -294,7 +294,7 @@
|
||||||
"Horizontal": "Horizontálne",
|
"Horizontal": "Horizontálne",
|
||||||
"Identify": "Identifikovať",
|
"Identify": "Identifikovať",
|
||||||
"Images": "Obrázky",
|
"Images": "Obrázky",
|
||||||
"ImportMissingEpisodesHelp": "Ak je možnosť povolená, informácie o chýbajúcich epizódach budú importované do Vašej Jellyfin databázy a budú zobrazené v sériách a seriáloch. Toto môže spôsobiť podstatne dlhšie skenovania knižníc.",
|
"ImportMissingEpisodesHelp": "Informácie o chýbajúcich epizódach budú importované do Vašej databázy a budú zobrazené v sériách a seriáloch. Toto môže spôsobiť podstatne dlhšie skenovania knižníc.",
|
||||||
"InstallingPackage": "Inštalujem {0} (verzia{1})",
|
"InstallingPackage": "Inštalujem {0} (verzia{1})",
|
||||||
"ItemCount": "{0} položiek",
|
"ItemCount": "{0} položiek",
|
||||||
"Items": "Položky",
|
"Items": "Položky",
|
||||||
|
@ -307,7 +307,7 @@
|
||||||
"LabelAppName": "Názov aplikácie",
|
"LabelAppName": "Názov aplikácie",
|
||||||
"LabelAppNameExample": "Príklad: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Príklad: Sickbeard, Sonarr",
|
||||||
"LabelArtists": "Umelci:",
|
"LabelArtists": "Umelci:",
|
||||||
"LabelArtistsHelp": "Oddeľte pomocou ;",
|
"LabelArtistsHelp": "Viacej umelcov oddeľte pomocou bodkočiarky.",
|
||||||
"LabelAudioLanguagePreference": "Uprednostňovaný jazyk zvuku:",
|
"LabelAudioLanguagePreference": "Uprednostňovaný jazyk zvuku:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Automaticky obnoviť metadáta z internetu:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Automaticky obnoviť metadáta z internetu:",
|
||||||
"LabelBirthDate": "Dátum narodenia:",
|
"LabelBirthDate": "Dátum narodenia:",
|
||||||
|
@ -360,9 +360,9 @@
|
||||||
"LabelFont": "Písmo:",
|
"LabelFont": "Písmo:",
|
||||||
"LabelForgotPasswordUsernameHelp": "Zadajte svoje používateľské meno, ak si ho pamätáte.",
|
"LabelForgotPasswordUsernameHelp": "Zadajte svoje používateľské meno, ak si ho pamätáte.",
|
||||||
"LabelFormat": "Formát:",
|
"LabelFormat": "Formát:",
|
||||||
"LabelServerNameHelp": "Tento názov bude použitý na identifikáciu servera. Ak ostane prázdny, bude použitý názov počítača.",
|
"LabelServerNameHelp": "Tento názov bude použitý na identifikáciu servera. Ak ostane prázdny, bude použitý názov hostiteľa serveru.",
|
||||||
"LabelGroupMoviesIntoCollections": "Zoskupiť filmy do kolekcií",
|
"LabelGroupMoviesIntoCollections": "Zoskupiť filmy do kolekcií",
|
||||||
"LabelGroupMoviesIntoCollectionsHelp": "Pri zobrazení zoznamu filmov budú filmy patriace do kolekcie zobrazené ako jedna zoskupená položka.",
|
"LabelGroupMoviesIntoCollectionsHelp": "Pri zobrazení zoznamu filmov budú filmy v kolekcií zobrazené ako jedna položka.",
|
||||||
"LabelHardwareAccelerationType": "Hardvérová akcelerácia:",
|
"LabelHardwareAccelerationType": "Hardvérová akcelerácia:",
|
||||||
"LabelHardwareAccelerationTypeHelp": "Hardvérová akcelerácia vyžaduje dodatočnú konfiguráciu.",
|
"LabelHardwareAccelerationTypeHelp": "Hardvérová akcelerácia vyžaduje dodatočnú konfiguráciu.",
|
||||||
"LabelHomeScreenSectionValue": "Sekcia domácej obrazovky {0}:",
|
"LabelHomeScreenSectionValue": "Sekcia domácej obrazovky {0}:",
|
||||||
|
@ -394,7 +394,7 @@
|
||||||
"LabelMetadata": "Metadáta:",
|
"LabelMetadata": "Metadáta:",
|
||||||
"LabelMetadataDownloadLanguage": "Preferovaný jazyk:",
|
"LabelMetadataDownloadLanguage": "Preferovaný jazyk:",
|
||||||
"LabelMetadataPath": "Umiestnenie metadát:",
|
"LabelMetadataPath": "Umiestnenie metadát:",
|
||||||
"LabelMetadataSaversHelp": "Vyberte formát súboru, do ktorého chcete ukladať vaše metadáta.",
|
"LabelMetadataSaversHelp": "Vyberte formát súboru, ktorý chcete použiť pre ukladanie metadát.",
|
||||||
"LabelMinResumeDurationHelp": "Najkratšia dĺžka videa v sekundách, ktorá uloží rozpozeranú polohu a dovolí sa k nej vrátiť.",
|
"LabelMinResumeDurationHelp": "Najkratšia dĺžka videa v sekundách, ktorá uloží rozpozeranú polohu a dovolí sa k nej vrátiť.",
|
||||||
"LabelMinResumePercentageHelp": "Tituly budú považované za neprehrané ak budú zastavené pred týmto časom.",
|
"LabelMinResumePercentageHelp": "Tituly budú považované za neprehrané ak budú zastavené pred týmto časom.",
|
||||||
"LabelModelDescription": "Popis modelu",
|
"LabelModelDescription": "Popis modelu",
|
||||||
|
@ -402,7 +402,7 @@
|
||||||
"LabelModelNumber": "Číslo modelu",
|
"LabelModelNumber": "Číslo modelu",
|
||||||
"LabelModelUrl": "Model URL",
|
"LabelModelUrl": "Model URL",
|
||||||
"LabelMovieCategories": "Kategórie filmov:",
|
"LabelMovieCategories": "Kategórie filmov:",
|
||||||
"LabelMovieRecordingPath": "Umiestnenie filmových nahrávok (voliteľné):",
|
"LabelMovieRecordingPath": "Umiestnenie pre nahrávanie filmov:",
|
||||||
"LabelName": "Meno:",
|
"LabelName": "Meno:",
|
||||||
"LabelNewName": "Nové meno:",
|
"LabelNewName": "Nové meno:",
|
||||||
"LabelNewPassword": "Nové heslo:",
|
"LabelNewPassword": "Nové heslo:",
|
||||||
|
@ -411,7 +411,7 @@
|
||||||
"LabelNext": "Ďalej",
|
"LabelNext": "Ďalej",
|
||||||
"LabelNotificationEnabled": "Povoliť toto hlásenie",
|
"LabelNotificationEnabled": "Povoliť toto hlásenie",
|
||||||
"LabelNumber": "Číslo:",
|
"LabelNumber": "Číslo:",
|
||||||
"LabelOptionalNetworkPath": "(Voliteľné) Zdieľaný sieťový priečinok:",
|
"LabelOptionalNetworkPath": "Zdieľaný sieťový priečinok:",
|
||||||
"LabelOriginalAspectRatio": "Pôvodný pomer strán:",
|
"LabelOriginalAspectRatio": "Pôvodný pomer strán:",
|
||||||
"LabelOriginalTitle": "Pôvodný názov:",
|
"LabelOriginalTitle": "Pôvodný názov:",
|
||||||
"LabelOverview": "Prehľad:",
|
"LabelOverview": "Prehľad:",
|
||||||
|
@ -438,14 +438,14 @@
|
||||||
"LabelRecordingPath": "Predvolené umiestnenie nahrávok:",
|
"LabelRecordingPath": "Predvolené umiestnenie nahrávok:",
|
||||||
"LabelRecordingPathHelp": "Uveďte predvolené umiestnenie pre ukladanie nahrávok. Ak je ponechané prázdne, použije sa priečinok s programovými dátami servera.",
|
"LabelRecordingPathHelp": "Uveďte predvolené umiestnenie pre ukladanie nahrávok. Ak je ponechané prázdne, použije sa priečinok s programovými dátami servera.",
|
||||||
"LabelReleaseDate": "Dátum vydania:",
|
"LabelReleaseDate": "Dátum vydania:",
|
||||||
"LabelRuntimeMinutes": "Dĺžka (minúty):",
|
"LabelRuntimeMinutes": "Dĺžka:",
|
||||||
"LabelSaveLocalMetadata": "Uložiť obaly a metadáta do priečinka s médiami",
|
"LabelSaveLocalMetadata": "Uložiť obaly a metadáta do priečinka s médiami",
|
||||||
"LabelScreensaver": "Šetrič obrazokvy:",
|
"LabelScreensaver": "Šetrič obrazokvy:",
|
||||||
"LabelSeasonNumber": "Číslo série:",
|
"LabelSeasonNumber": "Číslo série:",
|
||||||
"LabelSelectUsers": "Zvoľte užívateľov:",
|
"LabelSelectUsers": "Zvoľte užívateľov:",
|
||||||
"LabelSelectVersionToInstall": "Vyberte verziu, ktorú chcete nainštalovať:",
|
"LabelSelectVersionToInstall": "Vyberte verziu, ktorú chcete nainštalovať:",
|
||||||
"LabelSerialNumber": "Sériové číslo",
|
"LabelSerialNumber": "Sériové číslo",
|
||||||
"LabelSeriesRecordingPath": "Umiestnenie seriálových nahrávok (voliteľné):",
|
"LabelSeriesRecordingPath": "Umiestnenie pre nahrávanie seriálov:",
|
||||||
"LabelServerHostHelp": "192.168.1.100:8096 alebo https://mojserver.sk",
|
"LabelServerHostHelp": "192.168.1.100:8096 alebo https://mojserver.sk",
|
||||||
"LabelSkipBackLength": "Dĺžka skoku dozadu:",
|
"LabelSkipBackLength": "Dĺžka skoku dozadu:",
|
||||||
"LabelSkipForwardLength": "Dĺžka skoku dopredu:",
|
"LabelSkipForwardLength": "Dĺžka skoku dopredu:",
|
||||||
|
@ -602,7 +602,7 @@
|
||||||
"OptionDatePlayed": "Dátum prehrania",
|
"OptionDatePlayed": "Dátum prehrania",
|
||||||
"OptionDescending": "Zostupne",
|
"OptionDescending": "Zostupne",
|
||||||
"OptionDisableUser": "Zakázať tohto používateľa",
|
"OptionDisableUser": "Zakázať tohto používateľa",
|
||||||
"OptionDisableUserHelp": "Ak možnosť nie je povolená, server nepovolí žiadne pripojenia od tohto používateľa. Aktívne pripojenia budú ihneď ukončené.",
|
"OptionDisableUserHelp": "Server nepovolí žiadne pripojenia od tohto používateľa. Aktívne pripojenia budú ihneď ukončené.",
|
||||||
"OptionDislikes": "Nepáči sa",
|
"OptionDislikes": "Nepáči sa",
|
||||||
"OptionDownloadArtImage": "Obal",
|
"OptionDownloadArtImage": "Obal",
|
||||||
"OptionDownloadBackImage": "Späť",
|
"OptionDownloadBackImage": "Späť",
|
||||||
|
@ -905,7 +905,7 @@
|
||||||
"ConfirmDeleteItems": "Zmazaním týchto položiek odstránite súbory zo súborového systému aj z knižnice médií. Ste si istý/á, že chcete pokračovať?",
|
"ConfirmDeleteItems": "Zmazaním týchto položiek odstránite súbory zo súborového systému aj z knižnice médií. Ste si istý/á, že chcete pokračovať?",
|
||||||
"Continuing": "Pokračujúci",
|
"Continuing": "Pokračujúci",
|
||||||
"Default": "Predvolené",
|
"Default": "Predvolené",
|
||||||
"DirectStreamHelp2": "Priame streamovanie súboru používa veľmi málo procesorového výkonu bez straty kvality videa.",
|
"DirectStreamHelp2": "Priame streamovanie vyžaduje veľmi málo výkonu takmer bez straty kvality videa.",
|
||||||
"DirectStreaming": "Priame streamovanie",
|
"DirectStreaming": "Priame streamovanie",
|
||||||
"DisplayMissingEpisodesWithinSeasonsHelp": "Toto musí byť povolené pre TV knižnice v nastavení servera.",
|
"DisplayMissingEpisodesWithinSeasonsHelp": "Toto musí byť povolené pre TV knižnice v nastavení servera.",
|
||||||
"DisplayModeHelp": "Vyberte štýl layoutu, ktorý chcete pre rozhranie.",
|
"DisplayModeHelp": "Vyberte štýl layoutu, ktorý chcete pre rozhranie.",
|
||||||
|
@ -984,7 +984,7 @@
|
||||||
"Absolute": "Absolútne",
|
"Absolute": "Absolútne",
|
||||||
"LabelDidlMode": "DIDL režim:",
|
"LabelDidlMode": "DIDL režim:",
|
||||||
"LabelDateTimeLocale": "Lokálne nastavenia dátumu:",
|
"LabelDateTimeLocale": "Lokálne nastavenia dátumu:",
|
||||||
"LabelBlastMessageInterval": "Doba zobrazenie správy (sekundy)",
|
"LabelBlastMessageInterval": "Doba zobrazenia správy",
|
||||||
"LabelAlbumArtMaxWidth": "Maximálna šírka obrázku albumu:",
|
"LabelAlbumArtMaxWidth": "Maximálna šírka obrázku albumu:",
|
||||||
"LabelAlbumArtMaxHeight": "Maximálna výška obrázku albumu:",
|
"LabelAlbumArtMaxHeight": "Maximálna výška obrázku albumu:",
|
||||||
"LabelAirDays": "Vysielané:",
|
"LabelAirDays": "Vysielané:",
|
||||||
|
@ -1053,7 +1053,7 @@
|
||||||
"LabelAllowedRemoteAddressesMode": "Režim filtrácie vzdialenej IP adresy:",
|
"LabelAllowedRemoteAddressesMode": "Režim filtrácie vzdialenej IP adresy:",
|
||||||
"LabelAlbumArtists": "Album umelca:",
|
"LabelAlbumArtists": "Album umelca:",
|
||||||
"InstantMix": "Okamžitý mix",
|
"InstantMix": "Okamžitý mix",
|
||||||
"ImportFavoriteChannelsHelp": "Pokiaľ je možnosť povolená, tak len kanály označené ako obľúbené budú importované na zariadenie tuneru.",
|
"ImportFavoriteChannelsHelp": "Len kanály označené ako obľúbené budú importované na zariadenie tuneru.",
|
||||||
"HttpsRequiresCert": "Pre povolenie zabezpečeného pripojenia budete musieť dodať dôveryhodný SSL certifikát, ako napríklad Let's Encrypt. Prosím, buď dodajte certifikát alebo zakážte zabezpečené pripojenie.",
|
"HttpsRequiresCert": "Pre povolenie zabezpečeného pripojenia budete musieť dodať dôveryhodný SSL certifikát, ako napríklad Let's Encrypt. Prosím, buď dodajte certifikát alebo zakážte zabezpečené pripojenie.",
|
||||||
"HeaderXmlDocumentAttributes": "Atribúty XML dokumentu",
|
"HeaderXmlDocumentAttributes": "Atribúty XML dokumentu",
|
||||||
"HeaderXmlDocumentAttribute": "Atribúty XML dokumentu",
|
"HeaderXmlDocumentAttribute": "Atribúty XML dokumentu",
|
||||||
|
@ -1062,7 +1062,7 @@
|
||||||
"HeaderTranscodingProfileHelp": "Pridať transkódovacie profily pre určenie, ktoré formáty by mali byť použité, keď je transkódovanie vyžadované.",
|
"HeaderTranscodingProfileHelp": "Pridať transkódovacie profily pre určenie, ktoré formáty by mali byť použité, keď je transkódovanie vyžadované.",
|
||||||
"HeaderSubtitleProfilesHelp": "Profily titulkov popisujú formáty titulkov, ktoré dané zariadenie podporuje.",
|
"HeaderSubtitleProfilesHelp": "Profily titulkov popisujú formáty titulkov, ktoré dané zariadenie podporuje.",
|
||||||
"HeaderSeriesStatus": "Stav seriálu",
|
"HeaderSeriesStatus": "Stav seriálu",
|
||||||
"HeaderSelectTranscodingPathHelp": "Prechádzať alebo zadať cestu, kde by ste chceli uložiť dočasné transkódované súbory. Priečinok musí mať oprávnenie na zapisovanie.",
|
"HeaderSelectTranscodingPathHelp": "Prechádzať alebo zadať cestu pre súbory transkódovania. Priečinok musí mať oprávnenie na zapisovanie.",
|
||||||
"HeaderSelectTranscodingPath": "Vyberte cestu pre dočasné transkódované súbory",
|
"HeaderSelectTranscodingPath": "Vyberte cestu pre dočasné transkódované súbory",
|
||||||
"HeaderSelectServerCachePathHelp": "Prechádzať alebo zadať cestu, kde by ste chceli uložiť cache súbory. Priečinok musí mať oprávnenie na zapisovanie.",
|
"HeaderSelectServerCachePathHelp": "Prechádzať alebo zadať cestu, kde by ste chceli uložiť cache súbory. Priečinok musí mať oprávnenie na zapisovanie.",
|
||||||
"HeaderSelectServerCachePath": "Vyberte cestu pre Server Cache",
|
"HeaderSelectServerCachePath": "Vyberte cestu pre Server Cache",
|
||||||
|
@ -1072,13 +1072,13 @@
|
||||||
"HeaderResponseProfile": "Profil odozvy",
|
"HeaderResponseProfile": "Profil odozvy",
|
||||||
"HeaderRemoveMediaLocation": "Odobrať cestu medií",
|
"HeaderRemoveMediaLocation": "Odobrať cestu medií",
|
||||||
"HeaderRecordingPostProcessing": "Spracovanie nahratých nahrávok",
|
"HeaderRecordingPostProcessing": "Spracovanie nahratých nahrávok",
|
||||||
"HeaderProfileServerSettingsHelp": "Tieto hodnoty určujú, ako sa bude Jellyfin Server prezentovať v zariadeniach.",
|
"HeaderProfileServerSettingsHelp": "Tieto hodnoty určujú, ako sa bude server prezentovať klientom.",
|
||||||
"HeaderPluginInstallation": "Inštalácia zásuvných modulov",
|
"HeaderPluginInstallation": "Inštalácia zásuvných modulov",
|
||||||
"HeaderPlayback": "Prehrávanie medií",
|
"HeaderPlayback": "Prehrávanie medií",
|
||||||
"HeaderPlayOn": "Prehrať na",
|
"HeaderPlayOn": "Prehrať na",
|
||||||
"HeaderOnNow": "Práve teraz",
|
"HeaderOnNow": "Práve teraz",
|
||||||
"HeaderLiveTvTunerSetup": "Nastavenie TV tuneru pre živé vysielanie",
|
"HeaderLiveTvTunerSetup": "Nastavenie TV tuneru pre živé vysielanie",
|
||||||
"HeaderKodiMetadataHelp": "Pokiaľ chcete povoliť alebo zakázať NFO metadáta, upravte knižnicu v nastavení Jellyfin knižníc v sekcii ukladania metadát.",
|
"HeaderKodiMetadataHelp": "Pokiaľ chcete povoliť alebo zakázať NFO metadáta, upravte knižnicu v sekcii ukladania metadát.",
|
||||||
"HeaderKeepSeries": "Zachovať seriál",
|
"HeaderKeepSeries": "Zachovať seriál",
|
||||||
"HeaderKeepRecording": "Zachovať nahrávanie",
|
"HeaderKeepRecording": "Zachovať nahrávanie",
|
||||||
"HeaderImageOptions": "Možnosti obrázkov",
|
"HeaderImageOptions": "Možnosti obrázkov",
|
||||||
|
@ -1103,7 +1103,7 @@
|
||||||
"HeaderBlockItemsWithNoRating": "Blokované položky so žiadnymi alebo nerozpoznanými informáciami o hodnotení:",
|
"HeaderBlockItemsWithNoRating": "Blokované položky so žiadnymi alebo nerozpoznanými informáciami o hodnotení:",
|
||||||
"HeaderAppearsOn": "Objaví sa",
|
"HeaderAppearsOn": "Objaví sa",
|
||||||
"HeaderApp": "Appka",
|
"HeaderApp": "Appka",
|
||||||
"HeaderApiKeysHelp": "Externé aplikácie musia mať vlastný API kľúč, aby mohli komunikovať s Jellyfin Serverom. Kľúče sú vydávané pomocou prihlásenia sa cez Jellyfin účet alebo manuálnym priradením kľúča aplikácií.",
|
"HeaderApiKeysHelp": "Externé aplikácie musia mať vlastný API kľúč, aby mohli komunikovať so serverom. Kľúče sú vydávané pomocou prihlásenia cez bežný účet alebo manuálnym priradením kľúča aplikácií.",
|
||||||
"HeaderAdditionalParts": "Dodatočné časti",
|
"HeaderAdditionalParts": "Dodatočné časti",
|
||||||
"HardwareAccelerationWarning": "Povolenie hardvérovej akcelerácie môže spôsobiť nestabilitu v niektorých podmienkach. Uistite sa, že váš operačný systém a grafické ovládače sú plne aktualizované. Pokiaľ máte po zapnutí problémy s prehrávaním videa, budete musieť zmeniť nastavenie späť na Žiadne.",
|
"HardwareAccelerationWarning": "Povolenie hardvérovej akcelerácie môže spôsobiť nestabilitu v niektorých podmienkach. Uistite sa, že váš operačný systém a grafické ovládače sú plne aktualizované. Pokiaľ máte po zapnutí problémy s prehrávaním videa, budete musieť zmeniť nastavenie späť na Žiadne.",
|
||||||
"EncoderPresetHelp": "Vyberte hodnotu faster pre zlepšenie výkonu alebo hodnotu slower pre zlepšenie kvality.",
|
"EncoderPresetHelp": "Vyberte hodnotu faster pre zlepšenie výkonu alebo hodnotu slower pre zlepšenie kvality.",
|
||||||
|
@ -1127,7 +1127,7 @@
|
||||||
"EnableExternalVideoPlayersHelp": "Ponuka externého prehrávača sa zobrazí pri spustení prehrávania videa.",
|
"EnableExternalVideoPlayersHelp": "Ponuka externého prehrávača sa zobrazí pri spustení prehrávania videa.",
|
||||||
"EnableBackdropsHelp": "Zobraziť pozadia na pozadí pre niektoré stránky pri prechádzaní knižnice.",
|
"EnableBackdropsHelp": "Zobraziť pozadia na pozadí pre niektoré stránky pri prechádzaní knižnice.",
|
||||||
"DisplayInOtherHomeScreenSections": "Zobrazenie v sekciách domovskej obrazovky, ako sú najnovšie médiá a pokračovať v pozeraní",
|
"DisplayInOtherHomeScreenSections": "Zobrazenie v sekciách domovskej obrazovky, ako sú najnovšie médiá a pokračovať v pozeraní",
|
||||||
"DirectStreamHelp1": "Médium je kompatibilné zo zariadením nezávisle na rozlíšení alebo type média (H.264, AC3, atď.), je však v nekompatibilnom kontajneri (mkv, avi, wmv, atď.). Video bude za behu prebalené do kompatibilného kontajnera ešte pred streamovaním do zariadenia.",
|
"DirectStreamHelp1": "Médium je kompatibilné zo zariadením nezávisle na rozlíšení alebo type média (H.264, AC3, atď.), je však v nekompatibilnom kontajneri (mkv, avi, wmv, atď.). Video bude za behu prebalené do kompatibilného kontajnera ešte pred odoslaním do zariadenia.",
|
||||||
"Depressed": "Stlačený",
|
"Depressed": "Stlačený",
|
||||||
"DefaultSubtitlesHelp": "Titulky sú načítané v závislosti od predvolených a vynútených nastavení v zabudovaných metadátach. Jazykové predvoľby sú zobrané do úvahy až vtedy, keď je k dispozícií viacero možností.",
|
"DefaultSubtitlesHelp": "Titulky sú načítané v závislosti od predvolených a vynútených nastavení v zabudovaných metadátach. Jazykové predvoľby sú zobrané do úvahy až vtedy, keď je k dispozícií viacero možností.",
|
||||||
"DefaultMetadataLangaugeDescription": "Toto sú vaše predvolené hodnoty ktoré môžu byť prispôsobené na základe jednotlivých knižníc.",
|
"DefaultMetadataLangaugeDescription": "Toto sú vaše predvolené hodnoty ktoré môžu byť prispôsobené na základe jednotlivých knižníc.",
|
||||||
|
@ -1183,7 +1183,7 @@
|
||||||
"SeriesCancelled": "Seriál zrušený.",
|
"SeriesCancelled": "Seriál zrušený.",
|
||||||
"SelectAdminUsername": "Prosím, vyberte si používateľské meno pre účet administrátora.",
|
"SelectAdminUsername": "Prosím, vyberte si používateľské meno pre účet administrátora.",
|
||||||
"RefreshQueued": "Obnovenie zaradené do fronty.",
|
"RefreshQueued": "Obnovenie zaradené do fronty.",
|
||||||
"RefreshDialogHelp": "Metadáta sa obnovujú na základe nastavení a internetových služieb, ktoré sú povolené v dashboarde Jellyfin Serveru.",
|
"RefreshDialogHelp": "Metadáta sa obnovujú na základe nastavení a internetových služieb, ktoré sú povolené v dashboarde.",
|
||||||
"MessageChangeRecordingPath": "Zmenou priečinku pre nahrávanie sa existujúce nahrávky automaticky nepresunú zo starej lokácie na na novú. Budete ich musieť presunúť ručne, pokiaľ budete chcieť.",
|
"MessageChangeRecordingPath": "Zmenou priečinku pre nahrávanie sa existujúce nahrávky automaticky nepresunú zo starej lokácie na na novú. Budete ich musieť presunúť ručne, pokiaľ budete chcieť.",
|
||||||
"RecordSeries": "Nahrať sériu",
|
"RecordSeries": "Nahrať sériu",
|
||||||
"Raised": "Vystupujúce",
|
"Raised": "Vystupujúce",
|
||||||
|
@ -1205,18 +1205,18 @@
|
||||||
"OptionRandom": "Náhodne",
|
"OptionRandom": "Náhodne",
|
||||||
"OptionProfileVideoAudio": "Video Zvuk",
|
"OptionProfileVideoAudio": "Video Zvuk",
|
||||||
"OptionPosterCard": "Plagátová karta",
|
"OptionPosterCard": "Plagátová karta",
|
||||||
"OptionPlainVideoItemsHelp": "Pokiaľ je povolené, všetky videá sú reprezentované v DIDL ako \"object.item.videoItem\" namiesto viac špecifického typu, ako napríklad \"object.item.videoItem.movie\".",
|
"OptionPlainVideoItemsHelp": "Všetky videá sú reprezentované v DIDL ako \"object.item.videoItem\" namiesto viac špecifického typu, ako napríklad \"object.item.videoItem.movie\".",
|
||||||
"OptionPlainStorageFoldersHelp": "Pokiaľ je povolené, všetky priečinky sú reprezentované v DIDL ako \"object.container.storageFolder\" namiesto viac špecifického typu, ako napríklad \"object.container.person.musicArtist\".",
|
"OptionPlainStorageFoldersHelp": "Všetky priečinky sú reprezentované v DIDL ako \"object.container.storageFolder\" namiesto viac špecifického typu, ako napríklad \"object.container.person.musicArtist\".",
|
||||||
"OptionPlainStorageFolders": "Zobraziť všetky priečinky ako jednoduché priečinky pre ukladanie",
|
"OptionPlainStorageFolders": "Zobraziť všetky priečinky ako jednoduché priečinky pre ukladanie",
|
||||||
"OptionOnInterval": "V intervale",
|
"OptionOnInterval": "V intervale",
|
||||||
"OptionLoginAttemptsBeforeLockoutHelp": "Hodnota 0 znamená zdedenie východzej hodnoty troch pokusov pre bežného používateľa a päť pre administrátora. Nastavením na -1 sa táto funkcia zakáže.",
|
"OptionLoginAttemptsBeforeLockoutHelp": "Hodnota 0 znamená zdedenie východzej hodnoty troch pokusov pre bežného používateľa a päť pre administrátora. Nastavením na -1 sa táto funkcia zakáže.",
|
||||||
"OptionLoginAttemptsBeforeLockout": "Určuje, koľko chybných prihlásení môže byť urobených pred uzamknutím.",
|
"OptionLoginAttemptsBeforeLockout": "Určuje, koľko chybných prihlásení môže byť urobených pred uzamknutím.",
|
||||||
"OptionIgnoreTranscodeByteRangeRequestsHelp": "Pokiaľ je povolené, budú tieto požiadavky aj naďalej plnené, avšak hlavičky bajtových rozsahov budú ignorované.",
|
"OptionIgnoreTranscodeByteRangeRequestsHelp": "Tieto požiadavky budú aj naďalej plnené, avšak hlavičky bajtových rozsahov budú ignorované.",
|
||||||
"OptionIgnoreTranscodeByteRangeRequests": "Ignorovať požiadavky na transkódovanie bajtového rozsahu",
|
"OptionIgnoreTranscodeByteRangeRequests": "Ignorovať požiadavky na transkódovanie bajtového rozsahu",
|
||||||
"OptionHlsSegmentedSubtitles": "HLS segmentované titulky",
|
"OptionHlsSegmentedSubtitles": "HLS segmentované titulky",
|
||||||
"OptionExternallyDownloaded": "Externé sťahovanie",
|
"OptionExternallyDownloaded": "Externé sťahovanie",
|
||||||
"OptionEnableExternalContentInSuggestionsHelp": "Povoliť zahrnutie internetových trailerov a živých TV programov do navrhovaného obsahu.",
|
"OptionEnableExternalContentInSuggestionsHelp": "Povoliť zahrnutie internetových trailerov a živých TV programov do navrhovaného obsahu.",
|
||||||
"OptionDownloadImagesInAdvanceHelp": "Vo východzom stave sa väčšina obrázkov sťahuje až po vyžiadaní Jellyfin aplikáciou. Povolením tejto možnosti sa budú všetky obrázky sťahovať popredu, keď sa budú importovať nové médiá. Toto môže spôsobiť výrazne dlhšie skenovanie knižnice.",
|
"OptionDownloadImagesInAdvanceHelp": "Vo východzom stave sa väčšina obrázkov sťahuje až po vyžiadaní klientom. Povolením tejto možnosti sa budú všetky obrázky sťahovať popredu, keď sa budú importovať nové médiá. Toto môže spôsobiť výrazne dlhšie skenovanie knižnice.",
|
||||||
"OptionDownloadBoxImage": "Krabica",
|
"OptionDownloadBoxImage": "Krabica",
|
||||||
"OptionDownloadBannerImage": "Banner",
|
"OptionDownloadBannerImage": "Banner",
|
||||||
"OptionDisplayFolderViewHelp": "Zobraziť priečinky popri ostatných médiách v knižnici. Toto môže byť užitočné, pokiaľ chcete vidieť jednoduché zobrazenie priečinku.",
|
"OptionDisplayFolderViewHelp": "Zobraziť priečinky popri ostatných médiách v knižnici. Toto môže byť užitočné, pokiaľ chcete vidieť jednoduché zobrazenie priečinku.",
|
||||||
|
@ -1224,10 +1224,10 @@
|
||||||
"OptionBlockTvShows": "Seriál",
|
"OptionBlockTvShows": "Seriál",
|
||||||
"OptionBlockLiveTvChannels": "Živé TV kanály",
|
"OptionBlockLiveTvChannels": "Živé TV kanály",
|
||||||
"OptionBanner": "Banner",
|
"OptionBanner": "Banner",
|
||||||
"OptionAutomaticallyGroupSeriesHelp": "Pokiaľ je povolené, tak sa série, ktoré sú rozhádzané skrz rôzne priečinky, budú automaticky v tejto knižnici zlučovať do jedného seriálu.",
|
"OptionAutomaticallyGroupSeriesHelp": "Seriály uložené vo viacerých priečinkoch v tejto knižnici, budú automaticky zlúčené do jedného seriálu.",
|
||||||
"OptionAllowVideoPlaybackRemuxing": "Povoliť prehrávanie videa, ktoré vyžaduje konverziu bez opätovného enkódovania",
|
"OptionAllowVideoPlaybackRemuxing": "Povoliť prehrávanie videa, ktoré vyžaduje konverziu bez opätovného enkódovania",
|
||||||
"OptionAllowSyncTranscoding": "Povoliť sťahovanie a synchronizáciu medií, ktoré vyžadujú transkódovanie",
|
"OptionAllowSyncTranscoding": "Povoliť sťahovanie a synchronizáciu medií, ktoré vyžadujú transkódovanie",
|
||||||
"OptionAllowMediaPlaybackTranscodingHelp": "Obmedzenie prístupu ku transkódovaniu môže spôsobiť zlyhania prehrávania v Jellyfin aplikáciách kvôli nepodporovaným formátom medií.",
|
"OptionAllowMediaPlaybackTranscodingHelp": "Obmedzenie prístupu ku transkódovaniu môže spôsobiť zlyhania prehrávania v klientoch kvôli nepodporovaným formátom medií.",
|
||||||
"MessageNoTrailersFound": "Nainštalujte Trailer kanál pre rozšírenie vášho filmového zážitku pridaním knižnice trailerov z internetu.",
|
"MessageNoTrailersFound": "Nainštalujte Trailer kanál pre rozšírenie vášho filmového zážitku pridaním knižnice trailerov z internetu.",
|
||||||
"LanNetworksHelp": "Zoznam IP adries alebo IP/netmask záznamov pre všetky siete oddelené čiarkami ktoré budú považované za lokálnu sieť pri vynucovaní obmedzenia šírky pásma. Pokiaľ je toto nastavené, všetky ostatné IP adresy budú považované za vonkajšiu sieť a budú podliehať obmedzeniam šírky pásma vonkajšej siete. Pokiaľ pole ostane prázdne, podsieť serveru bude považovaná za lokálnu sieť.",
|
"LanNetworksHelp": "Zoznam IP adries alebo IP/netmask záznamov pre všetky siete oddelené čiarkami ktoré budú považované za lokálnu sieť pri vynucovaní obmedzenia šírky pásma. Pokiaľ je toto nastavené, všetky ostatné IP adresy budú považované za vonkajšiu sieť a budú podliehať obmedzeniam šírky pásma vonkajšej siete. Pokiaľ pole ostane prázdne, podsieť serveru bude považovaná za lokálnu sieť.",
|
||||||
"LabelUserAgent": "User agent:",
|
"LabelUserAgent": "User agent:",
|
||||||
|
@ -1242,7 +1242,7 @@
|
||||||
"MusicLibraryHelp": "Pozrite si {0}príručku pomenovania hudby{1}.",
|
"MusicLibraryHelp": "Pozrite si {0}príručku pomenovania hudby{1}.",
|
||||||
"MusicAlbum": "Hudobný album",
|
"MusicAlbum": "Hudobný album",
|
||||||
"MoreMediaInfo": "Informácie o médiu",
|
"MoreMediaInfo": "Informácie o médiu",
|
||||||
"MetadataSettingChangeHelp": "Zmena nastavení metadát ovplyvní nový obsah, ktorý bude pridávaný v budúcnosti. Pre obnovenie existujúceho obsahu, otvorte obrazovku s detailom a kliknite na tlačítko obnoviť alebo vykonajte hromadnú obnovu cez metadata manažér.",
|
"MetadataSettingChangeHelp": "Zmena nastavení metadát ovplyvní nový obsah pridávaný v budúcnosti. Pre obnovenie existujúceho obsahu, otvorte obrazovku s detailom a kliknite na tlačítko obnoviť alebo vykonajte hromadnú obnovu cez metadata manažér.",
|
||||||
"MessageUnsetContentHelp": "Obsah bude zobrazený ako jednoduché priečinky. Pre lepšie výsledky použite manažér metadát na nastavenie typu obsahu podpriečinkov.",
|
"MessageUnsetContentHelp": "Obsah bude zobrazený ako jednoduché priečinky. Pre lepšie výsledky použite manažér metadát na nastavenie typu obsahu podpriečinkov.",
|
||||||
"MessageUnableToConnectToServer": "Nie sme schopný sa aktuálne pripojiť k vybranému serveru. Prosím, uistite sa že je spustený a skúste to znovu.",
|
"MessageUnableToConnectToServer": "Nie sme schopný sa aktuálne pripojiť k vybranému serveru. Prosím, uistite sa že je spustený a skúste to znovu.",
|
||||||
"MessageReenableUser": "Pozrite nižšie pre znovu-povolenie",
|
"MessageReenableUser": "Pozrite nižšie pre znovu-povolenie",
|
||||||
|
@ -1275,7 +1275,7 @@
|
||||||
"MediaInfoBitrate": "Dátový tok",
|
"MediaInfoBitrate": "Dátový tok",
|
||||||
"MediaInfoAnamorphic": "Anamorfné",
|
"MediaInfoAnamorphic": "Anamorfné",
|
||||||
"MapChannels": "Nájdi kanály",
|
"MapChannels": "Nájdi kanály",
|
||||||
"LabelffmpegPathHelp": "Cesta k aplikačnému súboru ffmpeg alebo k priečinku obsahujúcemu ffmpeg.",
|
"LabelffmpegPathHelp": "Cesta k súboru aplikácie ffmpeg alebo k priečinku obsahujúcemu ffmpeg.",
|
||||||
"LabelXDlnaDocHelp": "Určuje obsah prvku X_DLNADOC v namespace urn:schemas-dlna-org:device-1-0.",
|
"LabelXDlnaDocHelp": "Určuje obsah prvku X_DLNADOC v namespace urn:schemas-dlna-org:device-1-0.",
|
||||||
"LabelXDlnaDoc": "X-DLNA dokumentácia:",
|
"LabelXDlnaDoc": "X-DLNA dokumentácia:",
|
||||||
"LabelXDlnaCapHelp": "Určuje obsah prvku X_DLNACAP v namespace urn:schemas-dlna-org:device-1-0.",
|
"LabelXDlnaCapHelp": "Určuje obsah prvku X_DLNACAP v namespace urn:schemas-dlna-org:device-1-0.",
|
||||||
|
@ -1366,7 +1366,7 @@
|
||||||
"LabelLogs": "Logy:",
|
"LabelLogs": "Logy:",
|
||||||
"LabelLoginDisclaimer": "Vyrozumenie prihlásenia:",
|
"LabelLoginDisclaimer": "Vyrozumenie prihlásenia:",
|
||||||
"LabelLockItemToPreventChanges": "Uzamknúť túto položku pre zabránenie zmien v budúcnosti",
|
"LabelLockItemToPreventChanges": "Uzamknúť túto položku pre zabránenie zmien v budúcnosti",
|
||||||
"LabelLocalHttpServerPortNumberHelp": "Číslo TCP portu, na ktoré by sa mal naviazať Jellyfin HTTP server.",
|
"LabelLocalHttpServerPortNumberHelp": "Číslo portu TCP serveru HTTP.",
|
||||||
"LabelKodiMetadataUserHelp": "Uložiť dáta o pozeraní do NFO súboru pre využitie ostatnými aplikáciami.",
|
"LabelKodiMetadataUserHelp": "Uložiť dáta o pozeraní do NFO súboru pre využitie ostatnými aplikáciami.",
|
||||||
"LabelKodiMetadataUser": "Ukladá dáta používateľa o pozeraní do NFO súboru pre:",
|
"LabelKodiMetadataUser": "Ukladá dáta používateľa o pozeraní do NFO súboru pre:",
|
||||||
"LabelKodiMetadataEnablePathSubstitutionHelp": "Povoľuje nahradenie ciest k obrázkom pomocou nastavenej cesty serveru pre nahradené cesty.",
|
"LabelKodiMetadataEnablePathSubstitutionHelp": "Povoľuje nahradenie ciest k obrázkom pomocou nastavenej cesty serveru pre nahradené cesty.",
|
||||||
|
@ -1379,14 +1379,14 @@
|
||||||
"LabelIdentificationFieldHelp": "Podreťazec citlivý na veľkosť písmen alebo na regulárne výrazy.",
|
"LabelIdentificationFieldHelp": "Podreťazec citlivý na veľkosť písmen alebo na regulárne výrazy.",
|
||||||
"LabelIconMaxWidthHelp": "Maximálne rozlíšenie ikon pomocou prostredníctvom upnp:icon.",
|
"LabelIconMaxWidthHelp": "Maximálne rozlíšenie ikon pomocou prostredníctvom upnp:icon.",
|
||||||
"LabelIconMaxHeightHelp": "Maximálne rozlíšenie ikon pomocou prostredníctvom upnp:icon.",
|
"LabelIconMaxHeightHelp": "Maximálne rozlíšenie ikon pomocou prostredníctvom upnp:icon.",
|
||||||
"LabelHttpsPortHelp": "Číslo TCP portu, na ktoré by sa mal naviazať Jellyfin HTTPS server.",
|
"LabelHttpsPortHelp": "Číslo portu TCP serveru HTTPS.",
|
||||||
"LabelHomeNetworkQuality": "Kvalita na domácej sieti:",
|
"LabelHomeNetworkQuality": "Kvalita na domácej sieti:",
|
||||||
"LabelEncoderPreset": "Prednastavené H264 enkódovanie:",
|
"LabelEncoderPreset": "Prednastavené H264 enkódovanie:",
|
||||||
"LabelH264Crf": "H264 enkódovanie CRF:",
|
"LabelH264Crf": "H264 enkódovanie CRF:",
|
||||||
"LabelFriendlyName": "Priateľský názov:",
|
"LabelFriendlyName": "Priateľský názov:",
|
||||||
"LabelFolder": "Priečinok:",
|
"LabelFolder": "Priečinok:",
|
||||||
"LabelExtractChaptersDuringLibraryScanHelp": "Generovať obrázky kapitol počas toho, ako sú videá importované v prvotnom prehľadávaní knižnice. Inak sa budú extrahovať počas naplánovanej úlohy generovania obrázkov kapitol, čo dovoľuje rýchlejšie dokončenie bežného prehľadávania knižnice.",
|
"LabelExtractChaptersDuringLibraryScanHelp": "Generovať obrázky kapitol počas toho, ako sú videá importované v prvotnom prehľadávaní knižnice. Inak sa budú extrahovať počas naplánovanej úlohy generovania obrázkov kapitol, čo dovoľuje rýchlejšie dokončenie bežného prehľadávania knižnice.",
|
||||||
"LabelBaseUrlHelp": "Pridá vlastný reťazec na URL adresu serveru, napr: <code>http://priklad.sk/<b><vlastnyretazec></b></code>",
|
"LabelBaseUrlHelp": "Pridá vlastný reťazec na URL adresu serveru, napr: <code>http://priklad.sk/<b><vlastny-retazec></b></code>",
|
||||||
"LabelBaseUrl": "Východzia URL:",
|
"LabelBaseUrl": "Východzia URL:",
|
||||||
"LabelEveryXMinutes": "Každý:",
|
"LabelEveryXMinutes": "Každý:",
|
||||||
"LabelEnableSingleImageInDidlLimitHelp": "Niektoré zariadenia nebudú zobrazovať správne pokiaľ je viacero obrázkov uložených v Didl.",
|
"LabelEnableSingleImageInDidlLimitHelp": "Niektoré zariadenia nebudú zobrazovať správne pokiaľ je viacero obrázkov uložených v Didl.",
|
||||||
|
@ -1394,11 +1394,11 @@
|
||||||
"LabelEnableDlnaDebugLoggingHelp": "Vytvára veľké súbory s logami a mal by sa použiť len v prípade potreby odstraňovania problémov.",
|
"LabelEnableDlnaDebugLoggingHelp": "Vytvára veľké súbory s logami a mal by sa použiť len v prípade potreby odstraňovania problémov.",
|
||||||
"LabelEnableDlnaDebugLogging": "Povoliť loggovanie DLNA debugu",
|
"LabelEnableDlnaDebugLogging": "Povoliť loggovanie DLNA debugu",
|
||||||
"LabelEnableDlnaClientDiscoveryIntervalHelp": "Určuje dobu trvania v sekundách medzi SSDP vyhľadávaniami vykonanými Jellyfinom.",
|
"LabelEnableDlnaClientDiscoveryIntervalHelp": "Určuje dobu trvania v sekundách medzi SSDP vyhľadávaniami vykonanými Jellyfinom.",
|
||||||
"LabelEnableDlnaClientDiscoveryInterval": "Interval pre objavenie klienta (sekundy)",
|
"LabelEnableDlnaClientDiscoveryInterval": "Interval pre objavenie klienta",
|
||||||
"LabelEnableAutomaticPortMapHelp": "Automatické namapovanie vejerného portu na lokálny port serveru cez UPnP. Toto nemusí fungovať so všetkými modelmi routerov alebo sieťových konfigurácií. Zmeny sa vykonajú až po reštarte servera.",
|
"LabelEnableAutomaticPortMapHelp": "Automatické namapovanie vejerného portu na lokálny port serveru cez UPnP. Toto nemusí fungovať so všetkými modelmi routerov alebo sieťových konfigurácií. Zmeny sa vykonajú až po reštarte servera.",
|
||||||
"LabelEmbedAlbumArtDidlHelp": "Niektoré zariadenia preferujú túto metódu pre získavanie obrázku albumu. Ostatným môže zlyhať prehrávanie pokiaľ je táto možnosť povolená.",
|
"LabelEmbedAlbumArtDidlHelp": "Niektoré zariadenia preferujú túto metódu pre získavanie obrázku albumu. Ostatným môže zlyhať prehrávanie pokiaľ je táto možnosť povolená.",
|
||||||
"LabelBlastMessageIntervalHelp": "Určuje dobu v sekundách medzi vysielaniami správ o serveri.",
|
"LabelBlastMessageIntervalHelp": "Určuje dobu v sekundách medzi vysielaniami správ o serveri.",
|
||||||
"LabelBindToLocalNetworkAddressHelp": "Voliteľné. Prepísať lokálnu IP adresu viazanú na http server. Pokiaľ zostane prázdna, server sa naviaže na všetky dostupné adresy. Pri zmene tejto hodnoty sa vyžaduje reštart Jellyfin Servera.",
|
"LabelBindToLocalNetworkAddressHelp": "Prepísať lokálnu IP adresu http serveru. Pokiaľ zostane prázdna, server sa naviaže na všetky dostupné adresy. Pri zmene tejto hodnoty sa vyžaduje reštart Jellyfin Servera.",
|
||||||
"LabelAlbumArtPN": "Obrázok albumu PN:",
|
"LabelAlbumArtPN": "Obrázok albumu PN:",
|
||||||
"LabelAlbumArtMaxWidthHelp": "Maximálne rozlíšenie obrázku albumu prostredníctvom upnp:albumArtURI.",
|
"LabelAlbumArtMaxWidthHelp": "Maximálne rozlíšenie obrázku albumu prostredníctvom upnp:albumArtURI.",
|
||||||
"LabelAlbumArtMaxHeightHelp": "Maximálne rozlíšenie obrázku albumu prostredníctvom upnp:albumArtURI.",
|
"LabelAlbumArtMaxHeightHelp": "Maximálne rozlíšenie obrázku albumu prostredníctvom upnp:albumArtURI.",
|
||||||
|
@ -1460,7 +1460,7 @@
|
||||||
"TabDVR": "DVR",
|
"TabDVR": "DVR",
|
||||||
"LabelRequireHttpsHelp": "Pokiaľ je zaškrtnutý, server bude automaticky presmerovávať všetky HTTP požiadavky cez HTTPS. Toto nastavenie nemá žiadny efekt, pokiaľ server nepočúva na HTTPS.",
|
"LabelRequireHttpsHelp": "Pokiaľ je zaškrtnutý, server bude automaticky presmerovávať všetky HTTP požiadavky cez HTTPS. Toto nastavenie nemá žiadny efekt, pokiaľ server nepočúva na HTTPS.",
|
||||||
"LabelRequireHttps": "Vyžadovať HTTPS",
|
"LabelRequireHttps": "Vyžadovať HTTPS",
|
||||||
"LabelEnableHttpsHelp": "Umožní serveru počúvať na nastavenom HTTPS porte. K správnemu fungovaniu je nutné nakonfigurovať aj platný certifikát.",
|
"LabelEnableHttpsHelp": "Počúvanie na nastavenom HTTPS porte. K správnemu fungovaniu je nutné nakonfigurovať aj platný certifikát.",
|
||||||
"LabelEnableHttps": "Povoliť HTTPS",
|
"LabelEnableHttps": "Povoliť HTTPS",
|
||||||
"HeaderServerAddressSettings": "Nastavenie adresy servera",
|
"HeaderServerAddressSettings": "Nastavenie adresy servera",
|
||||||
"HeaderRemoteAccessSettings": "Nastavenie vzdialeného prístupu",
|
"HeaderRemoteAccessSettings": "Nastavenie vzdialeného prístupu",
|
||||||
|
@ -1522,5 +1522,13 @@
|
||||||
"Writers": "Scenáristi",
|
"Writers": "Scenáristi",
|
||||||
"ClearQueue": "Vymazať frontu",
|
"ClearQueue": "Vymazať frontu",
|
||||||
"StopPlayback": "Zastaviť prehrávanie",
|
"StopPlayback": "Zastaviť prehrávanie",
|
||||||
"ViewAlbumArtist": "Zobraziť interpreta albumu"
|
"ViewAlbumArtist": "Zobraziť interpreta albumu",
|
||||||
|
"Preview": "Náhľad",
|
||||||
|
"SubtitleVerticalPositionHelp": "Číslo riadku, na ktorom sa zobrazí text. Kladné čísla znamenajú smer zhora dole. Záporné čísla zdola hore.",
|
||||||
|
"LabelSubtitleVerticalPosition": "Vertikálne umiestnenie:",
|
||||||
|
"PreviousTrack": "Predchádzajúca",
|
||||||
|
"MessageGetInstalledPluginsError": "Pri načítaní zoznamu nainštalovaných zásuvných modulov došlo k chybe.",
|
||||||
|
"MessagePluginInstallError": "Pri inštalácií zásuvného modulu došlo k chybe.",
|
||||||
|
"NextTrack": "Ďalšia",
|
||||||
|
"LabelUnstable": "Nestabilný"
|
||||||
}
|
}
|
||||||
|
|
16
yarn.lock
16
yarn.lock
|
@ -40,19 +40,19 @@
|
||||||
semver "^5.4.1"
|
semver "^5.4.1"
|
||||||
source-map "^0.5.0"
|
source-map "^0.5.0"
|
||||||
|
|
||||||
"@babel/eslint-parser@^7.11.0":
|
"@babel/eslint-parser@^7.11.3":
|
||||||
version "7.11.0"
|
version "7.11.3"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.11.0.tgz#b123924edd44508782c030066c926f1b807151cd"
|
resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.11.3.tgz#ceb94cb6e2457c4a4d2d87db29925e6b48d20786"
|
||||||
integrity sha512-dJDM2Pc01D9TwKL3Mmz2xgVF9X953RBHq9H4gywbN1q8MrfvXmNHfsCt06vvByBVQqm+9WxMs+doEH/R09TwWQ==
|
integrity sha512-OdCt/CVXdR/eTNTYDEobf4e55m/AAc04ki+/Oe2/GE8ivh2FxX4yDab48lA6t7ysP4M7luap6Fxx3hUVNTwzFQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint-scope "5.1.0"
|
eslint-scope "5.1.0"
|
||||||
eslint-visitor-keys "^1.3.0"
|
eslint-visitor-keys "^1.3.0"
|
||||||
semver "^6.3.0"
|
semver "^6.3.0"
|
||||||
|
|
||||||
"@babel/eslint-plugin@^7.11.0":
|
"@babel/eslint-plugin@^7.11.3":
|
||||||
version "7.11.0"
|
version "7.11.3"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.11.0.tgz#55d5b6bd29859cabce152f16d01b3a8150d5b295"
|
resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.11.3.tgz#66b531f90592f8f0621d072b59ea2c37c91e8d0d"
|
||||||
integrity sha512-+gfPM0/T6d25jKBgmxWp38W0jqRs16Vt7DPBxGOcnN/7nS2A/6QoaXOYEaccvWS5a9UpWlMIAylivp6UtH8/sQ==
|
integrity sha512-gmi3lgaWlYpNb+h7qPfv5GVz2ZVwzCDyV+kAGj+3il+Mv5uan5Yccvdw7m14UAAY2tdTbB0VgRF6ZLjUbrUm0g==
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint-rule-composer "^0.3.0"
|
eslint-rule-composer "^0.3.0"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue