mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Merge remote-tracking branch 'upstream/master' into global-globalize
This commit is contained in:
commit
2d64cd0052
86 changed files with 2094 additions and 1817 deletions
|
@ -3,6 +3,12 @@ env:
|
||||||
browser: true
|
browser: true
|
||||||
amd: true
|
amd: true
|
||||||
|
|
||||||
|
parserOptions:
|
||||||
|
ecmaVersion: 6
|
||||||
|
sourceType: module
|
||||||
|
ecmaFeatures:
|
||||||
|
impliedStrict: true
|
||||||
|
|
||||||
globals:
|
globals:
|
||||||
# New browser globals
|
# New browser globals
|
||||||
DataView: readonly
|
DataView: readonly
|
||||||
|
|
152
gulpfile.js
152
gulpfile.js
|
@ -18,16 +18,42 @@ const stream = require('webpack-stream');
|
||||||
const inject = require('gulp-inject');
|
const inject = require('gulp-inject');
|
||||||
const postcss = require('gulp-postcss');
|
const postcss = require('gulp-postcss');
|
||||||
const sass = require('gulp-sass');
|
const sass = require('gulp-sass');
|
||||||
|
const gulpif = require('gulp-if');
|
||||||
|
const lazypipe = require('lazypipe');
|
||||||
|
|
||||||
sass.compiler = require('node-sass')
|
sass.compiler = require('node-sass');
|
||||||
|
|
||||||
|
|
||||||
|
let config;
|
||||||
if (mode.production()) {
|
if (mode.production()) {
|
||||||
var config = require('./webpack.prod.js');
|
config = require('./webpack.prod.js');
|
||||||
} else {
|
} else {
|
||||||
var config = require('./webpack.dev.js');
|
config = require('./webpack.dev.js');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const options = {
|
||||||
|
javascript: {
|
||||||
|
query: ['src/**/*.js', '!src/bundle.js', '!src/standalone.js', '!src/scripts/apploader.js']
|
||||||
|
},
|
||||||
|
apploader: {
|
||||||
|
query: ['src/standalone.js', 'src/scripts/apploader.js']
|
||||||
|
},
|
||||||
|
css: {
|
||||||
|
query: ['src/**/*.css', 'src/**/*.scss']
|
||||||
|
},
|
||||||
|
html: {
|
||||||
|
query: ['src/**/*.html', '!src/index.html']
|
||||||
|
},
|
||||||
|
images: {
|
||||||
|
query: ['src/**/*.png', 'src/**/*.jpg', 'src/**/*.gif', 'src/**/*.svg']
|
||||||
|
},
|
||||||
|
copy: {
|
||||||
|
query: ['src/**/*.json', 'src/**/*.ico']
|
||||||
|
},
|
||||||
|
injectBundle: {
|
||||||
|
query: 'src/index.html'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
function serve() {
|
function serve() {
|
||||||
browserSync.init({
|
browserSync.init({
|
||||||
server: {
|
server: {
|
||||||
|
@ -36,51 +62,99 @@ function serve() {
|
||||||
port: 8080
|
port: 8080
|
||||||
});
|
});
|
||||||
|
|
||||||
watch(['src/**/*.js', '!src/bundle.js'], javascript);
|
let events = ['add', 'change'];
|
||||||
watch('src/bundle.js', webpack);
|
|
||||||
watch('src/**/*.css', css);
|
|
||||||
watch(['src/**/*.html', '!src/index.html'], html);
|
|
||||||
watch(['src/**/*.png', 'src/**/*.jpg', 'src/**/*.gif', 'src/**/*.svg'], images);
|
|
||||||
watch(['src/**/*.json', 'src/**/*.ico'], copy);
|
|
||||||
watch('src/index.html', injectBundle);
|
|
||||||
watch(['src/standalone.js', 'src/scripts/apploader.js'], standalone);
|
|
||||||
}
|
|
||||||
|
|
||||||
function standalone() {
|
watch(options.javascript.query).on('all', function (event, path) {
|
||||||
return src(['src/standalone.js', 'src/scripts/apploader.js'], { base: './src/' })
|
if (events.includes(event)) {
|
||||||
.pipe(concat('scripts/apploader.js'))
|
javascript(path);
|
||||||
.pipe(dest('dist/'));
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
watch(options.apploader.query, apploader(true));
|
||||||
|
|
||||||
|
watch('src/bundle.js', webpack);
|
||||||
|
|
||||||
|
watch(options.css.query).on('all', function (event, path) {
|
||||||
|
if (events.includes(event)) {
|
||||||
|
css(path);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
watch(options.html.query).on('all', function (event, path) {
|
||||||
|
if (events.includes(event)) {
|
||||||
|
html(path);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
watch(options.images.query).on('all', function (event, path) {
|
||||||
|
if (events.includes(event)) {
|
||||||
|
images(path);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
watch(options.copy.query).on('all', function (event, path) {
|
||||||
|
if (events.includes(event)) {
|
||||||
|
copy(path);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
watch(options.injectBundle.query, injectBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
function clean() {
|
function clean() {
|
||||||
return del(['dist/']);
|
return del(['dist/']);
|
||||||
}
|
}
|
||||||
|
|
||||||
function javascript() {
|
let pipelineJavascript = lazypipe()
|
||||||
return src(['src/**/*.js', '!src/bundle.js'], { base: './src/' })
|
.pipe(function () {
|
||||||
.pipe(mode.development(sourcemaps.init({ loadMaps: true })))
|
return mode.development(sourcemaps.init({ loadMaps: true }));
|
||||||
.pipe(babel({
|
})
|
||||||
|
.pipe(function () {
|
||||||
|
return babel({
|
||||||
presets: [
|
presets: [
|
||||||
['@babel/preset-env']
|
['@babel/preset-env']
|
||||||
]
|
]
|
||||||
}))
|
});
|
||||||
.pipe(terser({
|
})
|
||||||
|
.pipe(function () {
|
||||||
|
return terser({
|
||||||
keep_fnames: true,
|
keep_fnames: true,
|
||||||
mangle: false
|
mangle: false
|
||||||
}))
|
});
|
||||||
.pipe(mode.development(sourcemaps.write('.')))
|
})
|
||||||
|
.pipe(function () {
|
||||||
|
return mode.development(sourcemaps.write('.'));
|
||||||
|
});
|
||||||
|
|
||||||
|
function javascript(query) {
|
||||||
|
return src(typeof query !== 'function' ? query : options.javascript.query, { base: './src/' })
|
||||||
|
.pipe(pipelineJavascript())
|
||||||
.pipe(dest('dist/'))
|
.pipe(dest('dist/'))
|
||||||
.pipe(browserSync.stream());
|
.pipe(browserSync.stream());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function apploader(standalone) {
|
||||||
|
function task() {
|
||||||
|
return src(options.apploader.query, { base: './src/' })
|
||||||
|
.pipe(gulpif(standalone, concat('scripts/apploader.js')))
|
||||||
|
.pipe(pipelineJavascript())
|
||||||
|
.pipe(dest('dist/'))
|
||||||
|
.pipe(browserSync.stream());
|
||||||
|
};
|
||||||
|
|
||||||
|
task.displayName = 'apploader';
|
||||||
|
|
||||||
|
return task;
|
||||||
|
}
|
||||||
|
|
||||||
function webpack() {
|
function webpack() {
|
||||||
return stream(config)
|
return stream(config)
|
||||||
.pipe(dest('dist/'))
|
.pipe(dest('dist/'))
|
||||||
.pipe(browserSync.stream());
|
.pipe(browserSync.stream());
|
||||||
}
|
}
|
||||||
|
|
||||||
function css() {
|
function css(query) {
|
||||||
return src(['src/**/*.css', 'src/**/*.scss'], { base: './src/' })
|
return src(typeof query !== 'function' ? query : options.css.query, { base: './src/' })
|
||||||
.pipe(mode.development(sourcemaps.init({ loadMaps: true })))
|
.pipe(mode.development(sourcemaps.init({ loadMaps: true })))
|
||||||
.pipe(sass().on('error', sass.logError))
|
.pipe(sass().on('error', sass.logError))
|
||||||
.pipe(postcss())
|
.pipe(postcss())
|
||||||
|
@ -89,28 +163,28 @@ function css() {
|
||||||
.pipe(browserSync.stream());
|
.pipe(browserSync.stream());
|
||||||
}
|
}
|
||||||
|
|
||||||
function html() {
|
function html(query) {
|
||||||
return src(['src/**/*.html', '!src/index.html'], { base: './src/' })
|
return src(typeof query !== 'function' ? query : options.html.query, { base: './src/' })
|
||||||
.pipe(mode.production(htmlmin({ collapseWhitespace: true })))
|
.pipe(mode.production(htmlmin({ collapseWhitespace: true })))
|
||||||
.pipe(dest('dist/'))
|
.pipe(dest('dist/'))
|
||||||
.pipe(browserSync.stream());
|
.pipe(browserSync.stream());
|
||||||
}
|
}
|
||||||
|
|
||||||
function images() {
|
function images(query) {
|
||||||
return src(['src/**/*.png', 'src/**/*.jpg', 'src/**/*.gif', 'src/**/*.svg'], { base: './src/' })
|
return src(typeof query !== 'function' ? query : options.images.query, { base: './src/' })
|
||||||
.pipe(mode.production(imagemin()))
|
.pipe(mode.production(imagemin()))
|
||||||
.pipe(dest('dist/'))
|
.pipe(dest('dist/'))
|
||||||
.pipe(browserSync.stream());
|
.pipe(browserSync.stream());
|
||||||
}
|
}
|
||||||
|
|
||||||
function copy() {
|
function copy(query) {
|
||||||
return src(['src/**/*.json', 'src/**/*.ico'], { base: './src/' })
|
return src(typeof query !== 'function' ? query : options.copy.query, { base: './src/' })
|
||||||
.pipe(dest('dist/'))
|
.pipe(dest('dist/'))
|
||||||
.pipe(browserSync.stream());
|
.pipe(browserSync.stream());
|
||||||
}
|
}
|
||||||
|
|
||||||
function injectBundle() {
|
function injectBundle() {
|
||||||
return src('src/index.html', { base: './src/' })
|
return src(options.injectBundle.query, { base: './src/' })
|
||||||
.pipe(inject(
|
.pipe(inject(
|
||||||
src(['src/scripts/apploader.js'], { read: false }, { base: './src/' }), { relative: true }
|
src(['src/scripts/apploader.js'], { read: false }, { base: './src/' }), { relative: true }
|
||||||
))
|
))
|
||||||
|
@ -118,6 +192,10 @@ function injectBundle() {
|
||||||
.pipe(browserSync.stream());
|
.pipe(browserSync.stream());
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.default = series(clean, parallel(javascript, webpack, css, html, images, copy), injectBundle)
|
function build(standalone) {
|
||||||
exports.standalone = series(exports.default, standalone)
|
return series(clean, parallel(javascript, apploader(standalone), webpack, css, html, images, copy), injectBundle);
|
||||||
exports.serve = series(exports.standalone, serve)
|
}
|
||||||
|
|
||||||
|
exports.default = build(false);
|
||||||
|
exports.standalone = build(true);
|
||||||
|
exports.serve = series(exports.standalone, serve);
|
||||||
|
|
19
package.json
19
package.json
|
@ -7,6 +7,7 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.8.6",
|
"@babel/core": "^7.8.6",
|
||||||
"@babel/polyfill": "^7.8.7",
|
"@babel/polyfill": "^7.8.7",
|
||||||
|
"@babel/plugin-transform-modules-amd": "^7.8.3",
|
||||||
"@babel/preset-env": "^7.8.6",
|
"@babel/preset-env": "^7.8.6",
|
||||||
"autoprefixer": "^9.7.4",
|
"autoprefixer": "^9.7.4",
|
||||||
"babel-loader": "^8.0.6",
|
"babel-loader": "^8.0.6",
|
||||||
|
@ -23,6 +24,7 @@
|
||||||
"gulp-cli": "^2.2.0",
|
"gulp-cli": "^2.2.0",
|
||||||
"gulp-concat": "^2.6.1",
|
"gulp-concat": "^2.6.1",
|
||||||
"gulp-htmlmin": "^5.0.1",
|
"gulp-htmlmin": "^5.0.1",
|
||||||
|
"gulp-if": "^3.0.0",
|
||||||
"gulp-imagemin": "^7.1.0",
|
"gulp-imagemin": "^7.1.0",
|
||||||
"gulp-inject": "^5.0.5",
|
"gulp-inject": "^5.0.5",
|
||||||
"gulp-mode": "^1.0.2",
|
"gulp-mode": "^1.0.2",
|
||||||
|
@ -31,6 +33,7 @@
|
||||||
"gulp-sourcemaps": "^2.6.5",
|
"gulp-sourcemaps": "^2.6.5",
|
||||||
"gulp-terser": "^1.2.0",
|
"gulp-terser": "^1.2.0",
|
||||||
"html-webpack-plugin": "^3.2.0",
|
"html-webpack-plugin": "^3.2.0",
|
||||||
|
"lazypipe": "^1.0.2",
|
||||||
"node-sass": "^4.13.1",
|
"node-sass": "^4.13.1",
|
||||||
"postcss-loader": "^3.0.0",
|
"postcss-loader": "^3.0.0",
|
||||||
"postcss-preset-env": "^6.7.0",
|
"postcss-preset-env": "^6.7.0",
|
||||||
|
@ -57,10 +60,10 @@
|
||||||
"jquery": "^3.4.1",
|
"jquery": "^3.4.1",
|
||||||
"jstree": "^3.3.7",
|
"jstree": "^3.3.7",
|
||||||
"libass-wasm": "https://github.com/jellyfin/JavascriptSubtitlesOctopus",
|
"libass-wasm": "https://github.com/jellyfin/JavascriptSubtitlesOctopus",
|
||||||
"libjass": "^0.11.0",
|
|
||||||
"material-design-icons-iconfont": "^5.0.1",
|
"material-design-icons-iconfont": "^5.0.1",
|
||||||
"native-promise-only": "^0.8.0-a",
|
"native-promise-only": "^0.8.0-a",
|
||||||
"page": "^1.11.5",
|
"page": "^1.11.5",
|
||||||
|
"query-string": "^6.11.1",
|
||||||
"resize-observer-polyfill": "^1.5.1",
|
"resize-observer-polyfill": "^1.5.1",
|
||||||
"shaka-player": "^2.5.9",
|
"shaka-player": "^2.5.9",
|
||||||
"sortablejs": "^1.10.2",
|
"sortablejs": "^1.10.2",
|
||||||
|
@ -69,9 +72,17 @@
|
||||||
"whatwg-fetch": "^3.0.0"
|
"whatwg-fetch": "^3.0.0"
|
||||||
},
|
},
|
||||||
"babel": {
|
"babel": {
|
||||||
"presets": [
|
"presets": ["@babel/preset-env"],
|
||||||
"@babel/preset-env"
|
"overrides": [{
|
||||||
]
|
"test": [
|
||||||
|
"src/components/cardbuilder/cardBuilder.js",
|
||||||
|
"src/components/filedownloader.js",
|
||||||
|
"src/components/filesystem.js",
|
||||||
|
"src/components/input/keyboardnavigation.js",
|
||||||
|
"src/components/sanatizefilename.js"
|
||||||
|
],
|
||||||
|
"plugins": ["@babel/plugin-transform-modules-amd"]
|
||||||
|
}]
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"last 2 Firefox versions",
|
"last 2 Firefox versions",
|
||||||
|
|
|
@ -63,6 +63,10 @@ progress[aria-valuenow]::before {
|
||||||
}
|
}
|
||||||
|
|
||||||
.adminDrawerLogo {
|
.adminDrawerLogo {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout-mobile .adminDrawerLogo {
|
||||||
padding: 1.5em 1em 1.2em;
|
padding: 1.5em 1em 1.2em;
|
||||||
border-bottom: 1px solid #e0e0e0;
|
border-bottom: 1px solid #e0e0e0;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
|
@ -161,7 +165,7 @@ div[data-role=controlgroup] a.ui-btn-active {
|
||||||
|
|
||||||
@media all and (min-width: 40em) {
|
@media all and (min-width: 40em) {
|
||||||
.content-primary {
|
.content-primary {
|
||||||
padding-top: 7em;
|
padding-top: 4.6em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.withTabs .content-primary {
|
.withTabs .content-primary {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.libraryPage {
|
.libraryPage {
|
||||||
padding-top: 7em !important;
|
padding-top: 7em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.itemDetailPage {
|
.itemDetailPage {
|
||||||
|
@ -115,7 +115,7 @@
|
||||||
display: -webkit-inline-box;
|
display: -webkit-inline-box;
|
||||||
display: -webkit-inline-flex;
|
display: -webkit-inline-flex;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
margin: 0.3em 0 0 0.5em;
|
margin: 0 0 0 0.5em;
|
||||||
height: 1.7em;
|
height: 1.7em;
|
||||||
-webkit-box-align: center;
|
-webkit-box-align: center;
|
||||||
-webkit-align-items: center;
|
-webkit-align-items: center;
|
||||||
|
@ -128,6 +128,10 @@
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.layout-mobile .pageTitleWithDefaultLogo {
|
||||||
|
background-image: url(../img/icon-transparent.png);
|
||||||
|
}
|
||||||
|
|
||||||
.headerLeft,
|
.headerLeft,
|
||||||
.skinHeader {
|
.skinHeader {
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
|
@ -242,7 +246,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (min-width: 40em) {
|
@media all and (min-width: 40em) {
|
||||||
.dashboardDocument .adminDrawerLogo,
|
|
||||||
.dashboardDocument .mainDrawerButton {
|
.dashboardDocument .mainDrawerButton {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
@ -268,12 +271,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (max-width: 60em) {
|
|
||||||
.libraryDocument .mainDrawerButton {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media all and (max-width: 84em) {
|
@media all and (max-width: 84em) {
|
||||||
.withSectionTabs .headerTop {
|
.withSectionTabs .headerTop {
|
||||||
padding-bottom: 0.55em;
|
padding-bottom: 0.55em;
|
||||||
|
@ -316,7 +313,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.dashboardDocument .mainDrawer-scrollContainer {
|
.dashboardDocument .mainDrawer-scrollContainer {
|
||||||
margin-top: 6em !important;
|
margin-top: 4.6em !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1122,3 +1119,50 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards {
|
||||||
.itemsViewSettingsContainer > .button-flat {
|
.itemsViewSettingsContainer > .button-flat {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.layout-mobile #myPreferencesMenuPage {
|
||||||
|
padding-top: 3.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.itemDetailsGroup {
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trackSelections {
|
||||||
|
max-width: 44em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailsGroupItem,
|
||||||
|
.trackSelections .selectContainer {
|
||||||
|
display: flex;
|
||||||
|
max-width: 44em;
|
||||||
|
margin: 0 0 0.5em !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trackSelections .selectContainer {
|
||||||
|
margin: 0 0 0.3em !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailsGroupItem .label,
|
||||||
|
.trackSelections .selectContainer .selectLabel {
|
||||||
|
cursor: default;
|
||||||
|
flex-grow: 0;
|
||||||
|
flex-shrink: 0;
|
||||||
|
flex-basis: 6.25em;
|
||||||
|
margin: 0 0.6em 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trackSelections .selectContainer .selectLabel {
|
||||||
|
margin: 0 0.2em 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trackSelections .selectContainer .detailTrackSelect {
|
||||||
|
font-size: inherit;
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trackSelections .selectContainer .selectArrowContainer .selectArrow {
|
||||||
|
margin-top: 0;
|
||||||
|
font-size: 1.4em;
|
||||||
|
}
|
||||||
|
|
|
@ -16,6 +16,12 @@ _define("fetch", function() {
|
||||||
return fetch
|
return fetch
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// query-string
|
||||||
|
var query = require("query-string");
|
||||||
|
_define("queryString", function() {
|
||||||
|
return query;
|
||||||
|
});
|
||||||
|
|
||||||
// flvjs
|
// flvjs
|
||||||
var flvjs = require("flv.js/dist/flv").default;
|
var flvjs = require("flv.js/dist/flv").default;
|
||||||
_define("flvjs", function() {
|
_define("flvjs", function() {
|
||||||
|
@ -75,14 +81,7 @@ _define("sortable", function() {
|
||||||
// webcomponents
|
// webcomponents
|
||||||
var webcomponents = require("webcomponents.js/webcomponents-lite");
|
var webcomponents = require("webcomponents.js/webcomponents-lite");
|
||||||
_define("webcomponents", function() {
|
_define("webcomponents", function() {
|
||||||
return webcomponents
|
return webcomponents;
|
||||||
});
|
|
||||||
|
|
||||||
// libjass
|
|
||||||
var libjass = require("libjass");
|
|
||||||
require("libjass/libjass.css");
|
|
||||||
_define("libjass", function() {
|
|
||||||
return libjass;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// libass-wasm
|
// libass-wasm
|
||||||
|
@ -97,11 +96,10 @@ _define("material-icons", function() {
|
||||||
return material_icons;
|
return material_icons;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Noto Sans
|
// noto font
|
||||||
|
var noto = require("jellyfin-noto");
|
||||||
var jellyfin_noto = require("jellyfin-noto");
|
|
||||||
_define("jellyfin-noto", function () {
|
_define("jellyfin-noto", function () {
|
||||||
return jellyfin_noto;
|
return noto;
|
||||||
});
|
});
|
||||||
|
|
||||||
// page.js
|
// page.js
|
||||||
|
|
|
@ -511,9 +511,16 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
return baseRoute;
|
return baseRoute;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var popstateOccurred = false;
|
||||||
|
window.addEventListener('popstate', function () {
|
||||||
|
popstateOccurred = true;
|
||||||
|
});
|
||||||
|
|
||||||
function getHandler(route) {
|
function getHandler(route) {
|
||||||
return function (ctx, next) {
|
return function (ctx, next) {
|
||||||
|
ctx.isBack = popstateOccurred;
|
||||||
handleRoute(ctx, next, route);
|
handleRoute(ctx, next, route);
|
||||||
|
popstateOccurred = false;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -280,11 +280,11 @@ define(["appSettings", "browser", "events", "htmlMediaHelper", "globalize"], fun
|
||||||
//features.push("multiserver");
|
//features.push("multiserver");
|
||||||
features.push("screensaver");
|
features.push("screensaver");
|
||||||
|
|
||||||
if (!browser.orsay && !browser.tizen && !browser.msie && (browser.firefox || browser.ps4 || browser.edge || supportsCue())) {
|
if (!browser.orsay && !browser.msie && (browser.firefox || browser.ps4 || browser.edge || supportsCue())) {
|
||||||
features.push("subtitleappearancesettings");
|
features.push("subtitleappearancesettings");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!browser.orsay && !browser.tizen) {
|
if (!browser.orsay) {
|
||||||
features.push("subtitleburnsettings");
|
features.push("subtitleburnsettings");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
34
src/components/castSenderApi.js
Normal file
34
src/components/castSenderApi.js
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
define([], function() {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
if (window.appMode === "cordova" || window.appMode === "android") {
|
||||||
|
return {
|
||||||
|
load: function () {
|
||||||
|
window.chrome = window.chrome || {};
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
var ccLoaded = false;
|
||||||
|
return {
|
||||||
|
load: function () {
|
||||||
|
if (ccLoaded) {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
var fileref = document.createElement("script");
|
||||||
|
fileref.setAttribute("type", "text/javascript");
|
||||||
|
|
||||||
|
fileref.onload = function () {
|
||||||
|
ccLoaded = true;
|
||||||
|
resolve();
|
||||||
|
};
|
||||||
|
|
||||||
|
fileref.setAttribute("src", "https://www.gstatic.com/cv/js/sender/v1/cast_sender.js");
|
||||||
|
document.querySelector("head").appendChild(fileref);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
|
@ -1,8 +1,32 @@
|
||||||
define(['dialog', 'globalize'], function (dialog, globalize) {
|
define(["browser", "dialog", "globalize"], function(browser, dialog, globalize) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
return function (text, title) {
|
function replaceAll(str, find, replace) {
|
||||||
|
return str.split(find).join(replace);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (browser.tv && window.confirm) {
|
||||||
|
// Use the native confirm dialog
|
||||||
|
return function (options) {
|
||||||
|
if (typeof options === 'string') {
|
||||||
|
options = {
|
||||||
|
title: '',
|
||||||
|
text: options
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
var text = replaceAll(options.text || '', '<br/>', '\n');
|
||||||
|
var result = confirm(text);
|
||||||
|
|
||||||
|
if (result) {
|
||||||
|
return Promise.resolve();
|
||||||
|
} else {
|
||||||
|
return Promise.reject();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// Use our own dialog
|
||||||
|
return function (text, title) {
|
||||||
var options;
|
var options;
|
||||||
if (typeof text === 'string') {
|
if (typeof text === 'string') {
|
||||||
options = {
|
options = {
|
||||||
|
@ -37,4 +61,5 @@ define(['dialog', 'globalize'], function (dialog, globalize) {
|
||||||
return Promise.reject();
|
return Promise.reject();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
define([], function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
function replaceAll(str, find, replace) {
|
|
||||||
|
|
||||||
return str.split(find).join(replace);
|
|
||||||
}
|
|
||||||
|
|
||||||
return function (options) {
|
|
||||||
|
|
||||||
if (typeof options === 'string') {
|
|
||||||
options = {
|
|
||||||
title: '',
|
|
||||||
text: options
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
var text = replaceAll(options.text || '', '<br/>', '\n');
|
|
||||||
var result = confirm(text);
|
|
||||||
|
|
||||||
if (result) {
|
|
||||||
return Promise.resolve();
|
|
||||||
} else {
|
|
||||||
return Promise.reject();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
});
|
|
|
@ -169,6 +169,15 @@ define(['appRouter', 'focusManager', 'browser', 'layoutManager', 'inputManager',
|
||||||
}, {
|
}, {
|
||||||
passive: true
|
passive: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
dom.addEventListener((dlg.dialogContainer || backdrop), 'contextmenu', function (e) {
|
||||||
|
if (e.target === dlg.dialogContainer) {
|
||||||
|
// Close the application dialog menu
|
||||||
|
close(dlg);
|
||||||
|
// Prevent the default browser context menu from appearing
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function isHistoryEnabled(dlg) {
|
function isHistoryEnabled(dlg) {
|
||||||
|
|
|
@ -74,17 +74,17 @@ define([], function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
function addEventListenerWithOptions(target, type, handler, options) {
|
function addEventListenerWithOptions(target, type, handler, options) {
|
||||||
var optionsOrCapture = options;
|
var optionsOrCapture = options || {};
|
||||||
if (!supportsCaptureOption) {
|
if (!supportsCaptureOption) {
|
||||||
optionsOrCapture = options.capture;
|
optionsOrCapture = optionsOrCapture.capture;
|
||||||
}
|
}
|
||||||
target.addEventListener(type, handler, optionsOrCapture);
|
target.addEventListener(type, handler, optionsOrCapture);
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeEventListenerWithOptions(target, type, handler, options) {
|
function removeEventListenerWithOptions(target, type, handler, options) {
|
||||||
var optionsOrCapture = options;
|
var optionsOrCapture = options || {};
|
||||||
if (!supportsCaptureOption) {
|
if (!supportsCaptureOption) {
|
||||||
optionsOrCapture = options.capture;
|
optionsOrCapture = optionsOrCapture.capture;
|
||||||
}
|
}
|
||||||
target.removeEventListener(type, handler, optionsOrCapture);
|
target.removeEventListener(type, handler, optionsOrCapture);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
define(['multi-download'], function (multiDownload) {
|
import multiDownload from "multi-download"
|
||||||
'use strict';
|
|
||||||
|
|
||||||
return {
|
export function download(items) {
|
||||||
download: function (items) {
|
|
||||||
|
|
||||||
if (window.NativeShell) {
|
if (window.NativeShell) {
|
||||||
items.map(function (item) {
|
items.map(function (item) {
|
||||||
|
@ -14,5 +12,3 @@ define(['multi-download'], function (multiDownload) {
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,18 +1,13 @@
|
||||||
define([], function () {
|
export function fileExists(path) {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
return {
|
|
||||||
fileExists: function (path) {
|
|
||||||
if (window.NativeShell && window.NativeShell.FileSystem) {
|
if (window.NativeShell && window.NativeShell.FileSystem) {
|
||||||
return window.NativeShell.FileSystem.fileExists(path);
|
return window.NativeShell.FileSystem.fileExists(path);
|
||||||
}
|
}
|
||||||
return Promise.reject();
|
return Promise.reject();
|
||||||
},
|
}
|
||||||
directoryExists: function (path) {
|
|
||||||
|
export function directoryExists(path) {
|
||||||
if (window.NativeShell && window.NativeShell.FileSystem) {
|
if (window.NativeShell && window.NativeShell.FileSystem) {
|
||||||
return window.NativeShell.FileSystem.directoryExists(path);
|
return window.NativeShell.FileSystem.directoryExists(path);
|
||||||
}
|
}
|
||||||
return Promise.reject();
|
return Promise.reject();
|
||||||
}
|
}
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
|
@ -80,7 +80,6 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
|
||||||
if (track) {
|
if (track) {
|
||||||
var format = (track.Codec || '').toLowerCase();
|
var format = (track.Codec || '').toLowerCase();
|
||||||
if (format === 'ssa' || format === 'ass') {
|
if (format === 'ssa' || format === 'ass') {
|
||||||
// libjass is needed here
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1047,7 +1046,7 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
|
||||||
lastCustomTrackMs = 0;
|
lastCustomTrackMs = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderWithSubtitlesOctopus(videoElement, track, item) {
|
function renderSsaAss(videoElement, track, item) {
|
||||||
var attachments = self._currentPlayOptions.mediaSource.MediaAttachments || [];
|
var attachments = self._currentPlayOptions.mediaSource.MediaAttachments || [];
|
||||||
var options = {
|
var options = {
|
||||||
video: videoElement,
|
video: videoElement,
|
||||||
|
@ -1066,82 +1065,6 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderWithLibjass(videoElement, track, item) {
|
|
||||||
|
|
||||||
var rendererSettings = {};
|
|
||||||
|
|
||||||
if (browser.ps4) {
|
|
||||||
// Text outlines are not rendering very well
|
|
||||||
rendererSettings.enableSvg = false;
|
|
||||||
} else if (browser.edge || browser.msie) {
|
|
||||||
// svg not rendering at all
|
|
||||||
rendererSettings.enableSvg = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// probably safer to just disable everywhere
|
|
||||||
rendererSettings.enableSvg = false;
|
|
||||||
|
|
||||||
require(['libjass', 'ResizeObserver'], function (libjass, ResizeObserver) {
|
|
||||||
|
|
||||||
libjass.ASS.fromUrl(getTextTrackUrl(track, item)).then(function (ass) {
|
|
||||||
|
|
||||||
var clock = new libjass.renderers.ManualClock();
|
|
||||||
currentClock = clock;
|
|
||||||
|
|
||||||
// Create a DefaultRenderer using the video element and the ASS object
|
|
||||||
var renderer = new libjass.renderers.WebRenderer(ass, clock, videoElement.parentNode, rendererSettings);
|
|
||||||
|
|
||||||
currentAssRenderer = renderer;
|
|
||||||
|
|
||||||
renderer.addEventListener("ready", function () {
|
|
||||||
try {
|
|
||||||
renderer.resize(videoElement.offsetWidth, videoElement.offsetHeight, 0, 0);
|
|
||||||
|
|
||||||
if (!self._resizeObserver) {
|
|
||||||
self._resizeObserver = new ResizeObserver(onVideoResize, {});
|
|
||||||
self._resizeObserver.observe(videoElement);
|
|
||||||
}
|
|
||||||
//clock.pause();
|
|
||||||
} catch (ex) {
|
|
||||||
//alert(ex);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, function () {
|
|
||||||
htmlMediaHelper.onErrorInternal(self, 'mediadecodeerror');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function renderSsaAss(videoElement, track, item) {
|
|
||||||
if (supportsCanvas() && supportsWebWorkers()) {
|
|
||||||
console.debug('rendering subtitles with SubtitlesOctopus');
|
|
||||||
renderWithSubtitlesOctopus(videoElement, track, item);
|
|
||||||
} else {
|
|
||||||
console.debug('rendering subtitles with libjass');
|
|
||||||
renderWithLibjass(videoElement, track, item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function onVideoResize() {
|
|
||||||
if (browser.iOS) {
|
|
||||||
// the new sizes will be delayed for about 500ms with wkwebview
|
|
||||||
setTimeout(resetVideoRendererSize, 500);
|
|
||||||
} else {
|
|
||||||
resetVideoRendererSize();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function resetVideoRendererSize() {
|
|
||||||
var renderer = currentAssRenderer;
|
|
||||||
if (renderer) {
|
|
||||||
var videoElement = self._mediaElement;
|
|
||||||
var width = videoElement.offsetWidth;
|
|
||||||
var height = videoElement.offsetHeight;
|
|
||||||
console.debug('videoElement resized: ' + width + 'x' + height);
|
|
||||||
renderer.resize(width, height, 0, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function requiresCustomSubtitlesElement() {
|
function requiresCustomSubtitlesElement() {
|
||||||
|
|
||||||
// after a system update, ps4 isn't showing anything when creating a track element dynamically
|
// after a system update, ps4 isn't showing anything when creating a track element dynamically
|
||||||
|
@ -1231,7 +1154,6 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
|
||||||
if (!itemHelper.isLocalItem(item) || track.IsExternal) {
|
if (!itemHelper.isLocalItem(item) || track.IsExternal) {
|
||||||
var format = (track.Codec || '').toLowerCase();
|
var format = (track.Codec || '').toLowerCase();
|
||||||
if (format === 'ssa' || format === 'ass') {
|
if (format === 'ssa' || format === 'ass') {
|
||||||
// libjass is needed here
|
|
||||||
renderSsaAss(videoElement, track, item);
|
renderSsaAss(videoElement, track, item);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
define(["inputManager", "layoutManager"], function (inputManager, layoutManager) {
|
import inputManager from "inputManager";
|
||||||
"use strict";
|
import layoutManager from "layoutManager";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Key name mapping.
|
* Key name mapping.
|
||||||
*/
|
*/
|
||||||
// Add more to support old browsers
|
const KeyNames = {
|
||||||
var KeyNames = {
|
|
||||||
13: "Enter",
|
13: "Enter",
|
||||||
19: "Pause",
|
19: "Pause",
|
||||||
27: "Escape",
|
27: "Escape",
|
||||||
|
@ -37,9 +36,9 @@ define(["inputManager", "layoutManager"], function (inputManager, layoutManager)
|
||||||
/**
|
/**
|
||||||
* Keys used for keyboard navigation.
|
* Keys used for keyboard navigation.
|
||||||
*/
|
*/
|
||||||
var NavigationKeys = ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"];
|
const NavigationKeys = ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"];
|
||||||
|
|
||||||
var hasFieldKey = false;
|
let hasFieldKey = false;
|
||||||
try {
|
try {
|
||||||
hasFieldKey = "key" in new KeyboardEvent("keydown");
|
hasFieldKey = "key" in new KeyboardEvent("keydown");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -48,7 +47,7 @@ define(["inputManager", "layoutManager"], function (inputManager, layoutManager)
|
||||||
|
|
||||||
if (!hasFieldKey) {
|
if (!hasFieldKey) {
|
||||||
// Add [a..z]
|
// Add [a..z]
|
||||||
for (var i = 65; i <= 90; i++) {
|
for (let i = 65; i <= 90; i++) {
|
||||||
KeyNames[i] = String.fromCharCode(i).toLowerCase();
|
KeyNames[i] = String.fromCharCode(i).toLowerCase();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,10 +55,10 @@ define(["inputManager", "layoutManager"], function (inputManager, layoutManager)
|
||||||
/**
|
/**
|
||||||
* Returns key name from event.
|
* Returns key name from event.
|
||||||
*
|
*
|
||||||
* @param {KeyboardEvent} keyboard event
|
* @param {KeyboardEvent} event keyboard event
|
||||||
* @return {string} key name
|
* @return {string} key name
|
||||||
*/
|
*/
|
||||||
function getKeyName(event) {
|
export function getKeyName(event) {
|
||||||
return KeyNames[event.keyCode] || event.key;
|
return KeyNames[event.keyCode] || event.key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,20 +68,20 @@ define(["inputManager", "layoutManager"], function (inputManager, layoutManager)
|
||||||
* @param {string} key name
|
* @param {string} key name
|
||||||
* @return {boolean} _true_ if key is used for navigation
|
* @return {boolean} _true_ if key is used for navigation
|
||||||
*/
|
*/
|
||||||
function isNavigationKey(key) {
|
export function isNavigationKey(key) {
|
||||||
return NavigationKeys.indexOf(key) != -1;
|
return NavigationKeys.indexOf(key) != -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
function enable() {
|
export function enable() {
|
||||||
document.addEventListener("keydown", function (e) {
|
document.addEventListener("keydown", function (e) {
|
||||||
var key = getKeyName(e);
|
const key = getKeyName(e);
|
||||||
|
|
||||||
// Ignore navigation keys for non-TV
|
// Ignore navigation keys for non-TV
|
||||||
if (!layoutManager.tv && isNavigationKey(key)) {
|
if (!layoutManager.tv && isNavigationKey(key)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var capture = true;
|
let capture = true;
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case "ArrowLeft":
|
case "ArrowLeft":
|
||||||
|
@ -156,10 +155,3 @@ define(["inputManager", "layoutManager"], function (inputManager, layoutManager)
|
||||||
|
|
||||||
// No need to check for gamepads manually at load time, the eventhandler will be fired for that
|
// No need to check for gamepads manually at load time, the eventhandler will be fired for that
|
||||||
window.addEventListener("gamepadconnected", attachGamepadScript);
|
window.addEventListener("gamepadconnected", attachGamepadScript);
|
||||||
|
|
||||||
return {
|
|
||||||
enable: enable,
|
|
||||||
getKeyName: getKeyName,
|
|
||||||
isNavigationKey: isNavigationKey
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
|
@ -396,6 +396,12 @@ define(["globalize", "dom", "emby-checkbox", "emby-select", "emby-input"], funct
|
||||||
parent.querySelector(".chkEnableEmbeddedTitlesContainer").classList.remove("hide");
|
parent.querySelector(".chkEnableEmbeddedTitlesContainer").classList.remove("hide");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (contentType === "tvshows") {
|
||||||
|
parent.querySelector(".chkEnableEmbeddedEpisodeInfosContainer").classList.remove("hide");
|
||||||
|
} else {
|
||||||
|
parent.querySelector(".chkEnableEmbeddedEpisodeInfosContainer").classList.add("hide");
|
||||||
|
}
|
||||||
|
|
||||||
return populateMetadataSettings(parent, contentType);
|
return populateMetadataSettings(parent, contentType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -493,6 +499,7 @@ define(["globalize", "dom", "emby-checkbox", "emby-select", "emby-input"], funct
|
||||||
SeasonZeroDisplayName: parent.querySelector("#txtSeasonZeroName").value,
|
SeasonZeroDisplayName: parent.querySelector("#txtSeasonZeroName").value,
|
||||||
AutomaticRefreshIntervalDays: parseInt(parent.querySelector("#selectAutoRefreshInterval").value),
|
AutomaticRefreshIntervalDays: parseInt(parent.querySelector("#selectAutoRefreshInterval").value),
|
||||||
EnableEmbeddedTitles: parent.querySelector("#chkEnableEmbeddedTitles").checked,
|
EnableEmbeddedTitles: parent.querySelector("#chkEnableEmbeddedTitles").checked,
|
||||||
|
EnableEmbeddedEpisodeInfos: parent.querySelector("#chkEnableEmbeddedEpisodeInfos").checked,
|
||||||
SkipSubtitlesIfEmbeddedSubtitlesPresent: parent.querySelector("#chkSkipIfGraphicalSubsPresent").checked,
|
SkipSubtitlesIfEmbeddedSubtitlesPresent: parent.querySelector("#chkSkipIfGraphicalSubsPresent").checked,
|
||||||
SkipSubtitlesIfAudioTrackMatches: parent.querySelector("#chkSkipIfAudioTrackPresent").checked,
|
SkipSubtitlesIfAudioTrackMatches: parent.querySelector("#chkSkipIfAudioTrackPresent").checked,
|
||||||
SaveSubtitlesWithMedia: parent.querySelector("#chkSaveSubtitlesLocally").checked,
|
SaveSubtitlesWithMedia: parent.querySelector("#chkSaveSubtitlesLocally").checked,
|
||||||
|
@ -545,6 +552,7 @@ define(["globalize", "dom", "emby-checkbox", "emby-select", "emby-input"], funct
|
||||||
parent.querySelector("#chkImportMissingEpisodes").checked = options.ImportMissingEpisodes;
|
parent.querySelector("#chkImportMissingEpisodes").checked = options.ImportMissingEpisodes;
|
||||||
parent.querySelector(".chkAutomaticallyGroupSeries").checked = options.EnableAutomaticSeriesGrouping;
|
parent.querySelector(".chkAutomaticallyGroupSeries").checked = options.EnableAutomaticSeriesGrouping;
|
||||||
parent.querySelector("#chkEnableEmbeddedTitles").checked = options.EnableEmbeddedTitles;
|
parent.querySelector("#chkEnableEmbeddedTitles").checked = options.EnableEmbeddedTitles;
|
||||||
|
parent.querySelector("#chkEnableEmbeddedEpisodeInfos").checked = options.EnableEmbeddedEpisodeInfos;
|
||||||
parent.querySelector("#chkSkipIfGraphicalSubsPresent").checked = options.SkipSubtitlesIfEmbeddedSubtitlesPresent;
|
parent.querySelector("#chkSkipIfGraphicalSubsPresent").checked = options.SkipSubtitlesIfEmbeddedSubtitlesPresent;
|
||||||
parent.querySelector("#chkSaveSubtitlesLocally").checked = options.SaveSubtitlesWithMedia;
|
parent.querySelector("#chkSaveSubtitlesLocally").checked = options.SaveSubtitlesWithMedia;
|
||||||
parent.querySelector("#chkSkipIfAudioTrackPresent").checked = options.SkipSubtitlesIfAudioTrackMatches;
|
parent.querySelector("#chkSkipIfAudioTrackPresent").checked = options.SkipSubtitlesIfAudioTrackMatches;
|
||||||
|
|
|
@ -28,6 +28,13 @@
|
||||||
</label>
|
</label>
|
||||||
<div class="fieldDescription checkboxFieldDescription">${PreferEmbeddedTitlesOverFileNamesHelp}</div>
|
<div class="fieldDescription checkboxFieldDescription">${PreferEmbeddedTitlesOverFileNamesHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="checkboxContainer checkboxContainer-withDescription chkEnableEmbeddedEpisodeInfosContainer hide advanced">
|
||||||
|
<label>
|
||||||
|
<input is="emby-checkbox" type="checkbox" id="chkEnableEmbeddedEpisodeInfos" />
|
||||||
|
<span>${PreferEmbeddedEpisodeInfosOverFileNames}</span>
|
||||||
|
</label>
|
||||||
|
<div class="fieldDescription checkboxFieldDescription">${PreferEmbeddedEpisodeInfosOverFileNamesHelp}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="checkboxContainer checkboxContainer-withDescription advanced">
|
<div class="checkboxContainer checkboxContainer-withDescription advanced">
|
||||||
<label>
|
<label>
|
||||||
|
|
|
@ -238,13 +238,6 @@
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.listItemMediaInfo {
|
|
||||||
/* Don't display if flex not supported */
|
|
||||||
display: none;
|
|
||||||
align-items: center;
|
|
||||||
margin-right: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.listGroupHeader-first {
|
.listGroupHeader-first {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3162,7 +3162,8 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
||||||
|
|
||||||
// User clicked stop or content ended
|
// User clicked stop or content ended
|
||||||
var state = self.getPlayerState(player);
|
var state = self.getPlayerState(player);
|
||||||
var streamInfo = getPlayerData(player).streamInfo;
|
var data = getPlayerData(player);
|
||||||
|
var streamInfo = data.streamInfo;
|
||||||
|
|
||||||
var nextItem = self._playNextAfterEnded ? self._playQueueManager.getNextItemInfo() : null;
|
var nextItem = self._playNextAfterEnded ? self._playQueueManager.getNextItemInfo() : null;
|
||||||
|
|
||||||
|
@ -3210,6 +3211,9 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
||||||
showPlaybackInfoErrorMessage(self, displayErrorCode, nextItem);
|
showPlaybackInfoErrorMessage(self, displayErrorCode, nextItem);
|
||||||
} else if (nextItem) {
|
} else if (nextItem) {
|
||||||
self.nextTrack();
|
self.nextTrack();
|
||||||
|
} else {
|
||||||
|
// Nothing more to play - clear data
|
||||||
|
data.streamInfo = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
define([], function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
function replaceAll(str, find, replace) {
|
|
||||||
|
|
||||||
return str.split(find).join(replace);
|
|
||||||
}
|
|
||||||
|
|
||||||
return function (options) {
|
|
||||||
|
|
||||||
if (typeof options === 'string') {
|
|
||||||
options = {
|
|
||||||
label: '',
|
|
||||||
text: options
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
var label = replaceAll(options.label || '', '<br/>', '\n');
|
|
||||||
|
|
||||||
var result = prompt(label, options.text || '');
|
|
||||||
|
|
||||||
if (result) {
|
|
||||||
return Promise.resolve(result);
|
|
||||||
} else {
|
|
||||||
return Promise.reject(result);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
});
|
|
|
@ -1,6 +1,10 @@
|
||||||
define(['dialogHelper', 'layoutManager', 'scrollHelper', 'globalize', 'dom', 'require', 'material-icons', 'emby-button', 'paper-icon-button-light', 'emby-input', 'formDialogStyle'], function (dialogHelper, layoutManager, scrollHelper, globalize, dom, require) {
|
define(["browser", 'dialogHelper', 'layoutManager', 'scrollHelper', 'globalize', 'dom', 'require', 'material-icons', 'emby-button', 'paper-icon-button-light', 'emby-input', 'formDialogStyle'], function(browser, dialogHelper, layoutManager, scrollHelper, globalize, dom, require) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
function replaceAll(str, find, replace) {
|
||||||
|
return str.split(find).join(replace);
|
||||||
|
}
|
||||||
|
|
||||||
function setInputProperties(dlg, options) {
|
function setInputProperties(dlg, options) {
|
||||||
var txtInput = dlg.querySelector('#txtInput');
|
var txtInput = dlg.querySelector('#txtInput');
|
||||||
|
|
||||||
|
@ -13,7 +17,6 @@ define(['dialogHelper', 'layoutManager', 'scrollHelper', 'globalize', 'dom', 're
|
||||||
}
|
}
|
||||||
|
|
||||||
function showDialog(options, template) {
|
function showDialog(options, template) {
|
||||||
|
|
||||||
var dialogOptions = {
|
var dialogOptions = {
|
||||||
removeOnClose: true,
|
removeOnClose: true,
|
||||||
scrollY: false
|
scrollY: false
|
||||||
|
@ -71,26 +74,40 @@ define(['dialogHelper', 'layoutManager', 'scrollHelper', 'globalize', 'dom', 're
|
||||||
dlg.style.minWidth = (Math.min(400, dom.getWindowSize().innerWidth - 50)) + 'px';
|
dlg.style.minWidth = (Math.min(400, dom.getWindowSize().innerWidth - 50)) + 'px';
|
||||||
|
|
||||||
return dialogHelper.open(dlg).then(function () {
|
return dialogHelper.open(dlg).then(function () {
|
||||||
|
|
||||||
if (layoutManager.tv) {
|
if (layoutManager.tv) {
|
||||||
scrollHelper.centerFocus.off(dlg.querySelector('.formDialogContent'), false);
|
scrollHelper.centerFocus.off(dlg.querySelector('.formDialogContent'), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
var value = submitValue;
|
if (submitValue) {
|
||||||
|
return submitValue;
|
||||||
if (value) {
|
|
||||||
return value;
|
|
||||||
} else {
|
} else {
|
||||||
return Promise.reject();
|
return Promise.reject();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((browser.tv || browser.xboxOne) && window.confirm) {
|
||||||
return function (options) {
|
return function (options) {
|
||||||
|
if (typeof options === 'string') {
|
||||||
|
options = {
|
||||||
|
label: '',
|
||||||
|
text: options
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
var label = replaceAll(options.label || '', '<br/>', '\n');
|
||||||
|
var result = prompt(label, options.text || '');
|
||||||
|
|
||||||
|
if (result) {
|
||||||
|
return Promise.resolve(result);
|
||||||
|
} else {
|
||||||
|
return Promise.reject(result);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return function (options) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
require(['text!./prompt.template.html'], function (template) {
|
require(['text!./prompt.template.html'], function (template) {
|
||||||
|
|
||||||
if (typeof options === 'string') {
|
if (typeof options === 'string') {
|
||||||
options = {
|
options = {
|
||||||
title: '',
|
title: '',
|
||||||
|
@ -101,4 +118,5 @@ define(['dialogHelper', 'layoutManager', 'scrollHelper', 'globalize', 'dom', 're
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,14 +1,11 @@
|
||||||
// From https://github.com/parshap/node-sanitize-filename
|
// From https://github.com/parshap/node-sanitize-filename
|
||||||
|
|
||||||
define([], function () {
|
const illegalRe = /[\/\?<>\\:\*\|":]/g;
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var illegalRe = /[\/\?<>\\:\*\|":]/g;
|
|
||||||
// eslint-disable-next-line no-control-regex
|
// eslint-disable-next-line no-control-regex
|
||||||
var controlRe = /[\x00-\x1f\x80-\x9f]/g;
|
const controlRe = /[\x00-\x1f\x80-\x9f]/g;
|
||||||
var reservedRe = /^\.+$/;
|
const reservedRe = /^\.+$/;
|
||||||
var windowsReservedRe = /^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i;
|
const windowsReservedRe = /^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i;
|
||||||
var windowsTrailingRe = /[\. ]+$/;
|
const windowsTrailingRe = /[\. ]+$/;
|
||||||
|
|
||||||
function isHighSurrogate(codePoint) {
|
function isHighSurrogate(codePoint) {
|
||||||
return codePoint >= 0xd800 && codePoint <= 0xdbff;
|
return codePoint >= 0xd800 && codePoint <= 0xdbff;
|
||||||
|
@ -23,11 +20,11 @@ define([], function () {
|
||||||
throw new Error("Input must be string");
|
throw new Error("Input must be string");
|
||||||
}
|
}
|
||||||
|
|
||||||
var charLength = string.length;
|
const charLength = string.length;
|
||||||
var byteLength = 0;
|
let byteLength = 0;
|
||||||
var codePoint = null;
|
let codePoint = null;
|
||||||
var prevCodePoint = null;
|
let prevCodePoint = null;
|
||||||
for (var i = 0; i < charLength; i++) {
|
for (let i = 0; i < charLength; i++) {
|
||||||
codePoint = string.charCodeAt(i);
|
codePoint = string.charCodeAt(i);
|
||||||
// handle 4-byte non-BMP chars
|
// handle 4-byte non-BMP chars
|
||||||
// low surrogate
|
// low surrogate
|
||||||
|
@ -56,12 +53,12 @@ define([], function () {
|
||||||
throw new Error("Input must be string");
|
throw new Error("Input must be string");
|
||||||
}
|
}
|
||||||
|
|
||||||
var charLength = string.length;
|
const charLength = string.length;
|
||||||
var curByteLength = 0;
|
let curByteLength = 0;
|
||||||
var codePoint;
|
let codePoint;
|
||||||
var segment;
|
let segment;
|
||||||
|
|
||||||
for (var i = 0; i < charLength; i += 1) {
|
for (let i = 0; i < charLength; i += 1) {
|
||||||
codePoint = string.charCodeAt(i);
|
codePoint = string.charCodeAt(i);
|
||||||
segment = string[i];
|
segment = string[i];
|
||||||
|
|
||||||
|
@ -82,9 +79,8 @@ define([], function () {
|
||||||
return string;
|
return string;
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
export function sanitize(input, replacement) {
|
||||||
sanitize: function (input, replacement) {
|
const sanitized = input
|
||||||
var sanitized = input
|
|
||||||
.replace(illegalRe, replacement)
|
.replace(illegalRe, replacement)
|
||||||
.replace(controlRe, replacement)
|
.replace(controlRe, replacement)
|
||||||
.replace(reservedRe, replacement)
|
.replace(reservedRe, replacement)
|
||||||
|
@ -92,5 +88,3 @@ define([], function () {
|
||||||
.replace(windowsTrailingRe, replacement);
|
.replace(windowsTrailingRe, replacement);
|
||||||
return truncate(sanitized, 255);
|
return truncate(sanitized, 255);
|
||||||
}
|
}
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
|
@ -10,12 +10,6 @@ define([], function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
canExec: false,
|
|
||||||
exec: function (options) {
|
|
||||||
// options.path
|
|
||||||
// options.arguments
|
|
||||||
return Promise.reject();
|
|
||||||
},
|
|
||||||
enableFullscreen: function () {
|
enableFullscreen: function () {
|
||||||
if (window.NativeShell) {
|
if (window.NativeShell) {
|
||||||
window.NativeShell.enableFullscreen();
|
window.NativeShell.enableFullscreen();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['playbackManager', 'text!./subtitlesync.template.html', 'css!./subtitlesync'], function (playbackManager, template, css) {
|
define(['playbackManager', 'layoutManager', 'text!./subtitlesync.template.html', 'css!./subtitlesync'], function (playbackManager, layoutManager, template, css) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var player;
|
var player;
|
||||||
|
@ -10,6 +10,7 @@ define(['playbackManager', 'text!./subtitlesync.template.html', 'css!./subtitles
|
||||||
function init(instance) {
|
function init(instance) {
|
||||||
|
|
||||||
var parent = document.createElement('div');
|
var parent = document.createElement('div');
|
||||||
|
document.body.appendChild(parent);
|
||||||
parent.innerHTML = template;
|
parent.innerHTML = template;
|
||||||
|
|
||||||
subtitleSyncSlider = parent.querySelector(".subtitleSyncSlider");
|
subtitleSyncSlider = parent.querySelector(".subtitleSyncSlider");
|
||||||
|
@ -17,6 +18,14 @@ define(['playbackManager', 'text!./subtitlesync.template.html', 'css!./subtitles
|
||||||
subtitleSyncCloseButton = parent.querySelector(".subtitleSync-closeButton");
|
subtitleSyncCloseButton = parent.querySelector(".subtitleSync-closeButton");
|
||||||
subtitleSyncContainer = parent.querySelector(".subtitleSyncContainer");
|
subtitleSyncContainer = parent.querySelector(".subtitleSyncContainer");
|
||||||
|
|
||||||
|
if (layoutManager.tv) {
|
||||||
|
subtitleSyncSlider.classList.add("focusable");
|
||||||
|
// HACK: Delay to give time for registered element attach (Firefox)
|
||||||
|
setTimeout(function () {
|
||||||
|
subtitleSyncSlider.enableKeyboardDragging();
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
|
||||||
subtitleSyncContainer.classList.add("hide");
|
subtitleSyncContainer.classList.add("hide");
|
||||||
|
|
||||||
subtitleSyncTextField.updateOffset = function(offset) {
|
subtitleSyncTextField.updateOffset = function(offset) {
|
||||||
|
@ -87,8 +96,6 @@ define(['playbackManager', 'text!./subtitlesync.template.html', 'css!./subtitles
|
||||||
SubtitleSync.prototype.toggle("forceToHide");
|
SubtitleSync.prototype.toggle("forceToHide");
|
||||||
});
|
});
|
||||||
|
|
||||||
document.body.appendChild(parent);
|
|
||||||
|
|
||||||
instance.element = parent;
|
instance.element = parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -264,17 +264,13 @@ define(["jQuery", "loading", "emby-checkbox", "listViewStyle", "emby-input", "em
|
||||||
self.init = function () {
|
self.init = function () {
|
||||||
options = options || {};
|
options = options || {};
|
||||||
|
|
||||||
if (options.showCancelButton) {
|
// Only hide the buttons if explicitly set to false; default to showing if undefined or null
|
||||||
page.querySelector(".btnCancel").classList.remove("hide");
|
// FIXME: rename this option to clarify logic
|
||||||
} else {
|
var hideCancelButton = options.showCancelButton === false;
|
||||||
page.querySelector(".btnCancel").classList.add("hide");
|
page.querySelector(".btnCancel").classList.toggle("hide", hideCancelButton);
|
||||||
}
|
|
||||||
|
|
||||||
if (options.showSubmitButton) {
|
var hideSubmitButton = options.showSubmitButton === false;
|
||||||
page.querySelector(".btnSubmitListings").classList.remove("hide");
|
page.querySelector(".btnSubmitListings").classList.toggle("hide", hideSubmitButton);
|
||||||
} else {
|
|
||||||
page.querySelector(".btnSubmitListings").classList.add("hide");
|
|
||||||
}
|
|
||||||
|
|
||||||
$(".formLogin", page).on("submit", function () {
|
$(".formLogin", page).on("submit", function () {
|
||||||
submitLoginForm();
|
submitLoginForm();
|
||||||
|
|
|
@ -163,17 +163,13 @@ define(["jQuery", "loading", "emby-checkbox", "emby-input", "listViewStyle", "pa
|
||||||
self.init = function () {
|
self.init = function () {
|
||||||
options = options || {};
|
options = options || {};
|
||||||
|
|
||||||
if (false !== options.showCancelButton) {
|
// Only hide the buttons if explicitly set to false; default to showing if undefined or null
|
||||||
page.querySelector(".btnCancel").classList.remove("hide");
|
// FIXME: rename this option to clarify logic
|
||||||
} else {
|
var hideCancelButton = options.showCancelButton === false;
|
||||||
page.querySelector(".btnCancel").classList.add("hide");
|
page.querySelector(".btnCancel").classList.toggle("hide", hideCancelButton);
|
||||||
}
|
|
||||||
|
|
||||||
if (false !== options.showSubmitButton) {
|
var hideSubmitButton = options.showSubmitButton === false;
|
||||||
page.querySelector(".btnSubmitListings").classList.remove("hide");
|
page.querySelector(".btnSubmitListings").classList.toggle("hide", hideSubmitButton);
|
||||||
} else {
|
|
||||||
page.querySelector(".btnSubmitListings").classList.add("hide");
|
|
||||||
}
|
|
||||||
|
|
||||||
$("form", page).on("submit", function () {
|
$("form", page).on("submit", function () {
|
||||||
submitListingsForm();
|
submitListingsForm();
|
||||||
|
|
|
@ -703,26 +703,9 @@ define(["loading", "appRouter", "layoutManager", "connectionManager", "userSetti
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderUserInfo(page, item) {
|
|
||||||
var lastPlayedElement = page.querySelector(".itemLastPlayed");
|
|
||||||
|
|
||||||
if (item.UserData && item.UserData.LastPlayedDate) {
|
|
||||||
lastPlayedElement.classList.remove("hide");
|
|
||||||
var datePlayed = datetime.parseISO8601Date(item.UserData.LastPlayedDate);
|
|
||||||
lastPlayedElement.innerHTML = globalize.translate("DatePlayed") + ": " + datetime.toLocaleDateString(datePlayed) + " " + datetime.getDisplayTime(datePlayed);
|
|
||||||
} else {
|
|
||||||
lastPlayedElement.classList.add("hide");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function renderLinks(linksElem, item) {
|
function renderLinks(linksElem, item) {
|
||||||
var html = [];
|
var html = [];
|
||||||
|
|
||||||
if (item.DateCreated && itemHelper.enableDateAddedDisplay(item)) {
|
|
||||||
var dateCreated = datetime.parseISO8601Date(item.DateCreated);
|
|
||||||
html.push(globalize.translate("AddedOnValue", datetime.toLocaleDateString(dateCreated) + " " + datetime.getDisplayTime(dateCreated)));
|
|
||||||
}
|
|
||||||
|
|
||||||
var links = [];
|
var links = [];
|
||||||
|
|
||||||
if (!layoutManager.tv && item.HomePageUrl) {
|
if (!layoutManager.tv && item.HomePageUrl) {
|
||||||
|
@ -736,7 +719,7 @@ define(["loading", "appRouter", "layoutManager", "connectionManager", "userSetti
|
||||||
}
|
}
|
||||||
|
|
||||||
if (links.length) {
|
if (links.length) {
|
||||||
html.push(globalize.translate("LinksValue", links.join(", ")));
|
html.push(links.join(", "));
|
||||||
}
|
}
|
||||||
|
|
||||||
linksElem.innerHTML = html.join(", ");
|
linksElem.innerHTML = html.join(", ");
|
||||||
|
@ -1032,13 +1015,17 @@ define(["loading", "appRouter", "layoutManager", "connectionManager", "userSetti
|
||||||
context: context
|
context: context
|
||||||
}) + '">' + p.Name + "</a>";
|
}) + '">' + p.Name + "</a>";
|
||||||
}).join(", ");
|
}).join(", ");
|
||||||
var elem = page.querySelector(".genres");
|
|
||||||
elem.innerHTML = globalize.translate(genres.length > 1 ? "GenresValue" : "GenreValue", html);
|
|
||||||
|
|
||||||
|
var genresLabel = page.querySelector(".genresLabel");
|
||||||
|
genresLabel.innerHTML = globalize.translate(genres.length > 1 ? "Genres" : "Genre");
|
||||||
|
var genresValue = page.querySelector(".genres");
|
||||||
|
genresValue.innerHTML = html;
|
||||||
|
|
||||||
|
var genresGroup = page.querySelector(".genresGroup");
|
||||||
if (genres.length) {
|
if (genres.length) {
|
||||||
elem.classList.remove("hide");
|
genresGroup.classList.remove("hide");
|
||||||
} else {
|
} else {
|
||||||
elem.classList.add("hide");
|
genresGroup.classList.add("hide");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1056,13 +1043,17 @@ define(["loading", "appRouter", "layoutManager", "connectionManager", "userSetti
|
||||||
context: context
|
context: context
|
||||||
}) + '">' + p.Name + "</a>";
|
}) + '">' + p.Name + "</a>";
|
||||||
}).join(", ");
|
}).join(", ");
|
||||||
var elem = page.querySelector(".directors");
|
|
||||||
elem.innerHTML = globalize.translate(directors.length > 1 ? "DirectorsValue" : "DirectorValue", html);
|
|
||||||
|
|
||||||
|
var directorsLabel = page.querySelector(".directorsLabel");
|
||||||
|
directorsLabel.innerHTML = globalize.translate(directors.length > 1 ? "Directors" : "Director");
|
||||||
|
var directorsValue = page.querySelector(".directors");
|
||||||
|
directorsValue.innerHTML = html;
|
||||||
|
|
||||||
|
var directorsGroup = page.querySelector(".directorsGroup");
|
||||||
if (directors.length) {
|
if (directors.length) {
|
||||||
elem.classList.remove("hide");
|
directorsGroup.classList.remove("hide");
|
||||||
} else {
|
} else {
|
||||||
elem.classList.add("hide");
|
directorsGroup.classList.add("hide");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1120,7 +1111,6 @@ define(["loading", "appRouter", "layoutManager", "connectionManager", "userSetti
|
||||||
|
|
||||||
reloadUserDataButtons(page, item);
|
reloadUserDataButtons(page, item);
|
||||||
renderLinks(externalLinksElem, item);
|
renderLinks(externalLinksElem, item);
|
||||||
renderUserInfo(page, item);
|
|
||||||
renderTags(page, item);
|
renderTags(page, item);
|
||||||
renderSeriesAirTime(page, item, isStatic);
|
renderSeriesAirTime(page, item, isStatic);
|
||||||
}
|
}
|
||||||
|
|
|
@ -671,7 +671,8 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTimeUpdate(e) {
|
function onTimeUpdate(e) {
|
||||||
if (isEnabled) {
|
// Test for 'currentItem' is required for Firefox since its player spams 'timeupdate' events even being at breakpoint
|
||||||
|
if (isEnabled && currentItem) {
|
||||||
var now = new Date().getTime();
|
var now = new Date().getTime();
|
||||||
|
|
||||||
if (!(now - lastUpdateTime < 700)) {
|
if (!(now - lastUpdateTime < 700)) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(["apphost", "connectionManager", "listViewStyle", "emby-button"], function(appHost, connectionManager) {
|
define(["apphost", "connectionManager", "layoutManager", "listViewStyle", "emby-button"], function(appHost, connectionManager, layoutManager) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
return function(view, params) {
|
return function(view, params) {
|
||||||
|
@ -10,6 +10,10 @@ define(["apphost", "connectionManager", "listViewStyle", "emby-button"], functio
|
||||||
Dashboard.selectServer();
|
Dashboard.selectServer();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
view.querySelector(".clientSettings").addEventListener("click", function () {
|
||||||
|
window.NativeShell.openClientSettings();
|
||||||
|
});
|
||||||
|
|
||||||
view.addEventListener("viewshow", function() {
|
view.addEventListener("viewshow", function() {
|
||||||
// this page can also be used by admins to change user preferences from the user edit page
|
// this page can also be used by admins to change user preferences from the user edit page
|
||||||
var userId = params.userId || Dashboard.getCurrentUserId();
|
var userId = params.userId || Dashboard.getCurrentUserId();
|
||||||
|
@ -21,6 +25,12 @@ define(["apphost", "connectionManager", "listViewStyle", "emby-button"], functio
|
||||||
page.querySelector(".lnkPlaybackPreferences").setAttribute("href", "mypreferencesplayback.html?userId=" + userId);
|
page.querySelector(".lnkPlaybackPreferences").setAttribute("href", "mypreferencesplayback.html?userId=" + userId);
|
||||||
page.querySelector(".lnkSubtitlePreferences").setAttribute("href", "mypreferencessubtitles.html?userId=" + userId);
|
page.querySelector(".lnkSubtitlePreferences").setAttribute("href", "mypreferencessubtitles.html?userId=" + userId);
|
||||||
|
|
||||||
|
if (window.NativeShell && window.NativeShell.AppHost.supports("clientsettings")) {
|
||||||
|
page.querySelector(".clientSettings").classList.remove("hide");
|
||||||
|
} else {
|
||||||
|
page.querySelector(".clientSettings").classList.add("hide");
|
||||||
|
}
|
||||||
|
|
||||||
if (appHost.supports("multiserver")) {
|
if (appHost.supports("multiserver")) {
|
||||||
page.querySelector(".selectServer").classList.remove("hide");
|
page.querySelector(".selectServer").classList.remove("hide");
|
||||||
} else {
|
} else {
|
||||||
|
@ -33,6 +43,12 @@ define(["apphost", "connectionManager", "listViewStyle", "emby-button"], functio
|
||||||
page.querySelector(".adminSection").classList.add("hide");
|
page.querySelector(".adminSection").classList.add("hide");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (layoutManager.mobile) {
|
||||||
|
page.querySelector(".headerUsername").classList.add("hide");
|
||||||
|
page.querySelector(".adminSection").classList.add("hide");
|
||||||
|
page.querySelector(".userSection").classList.add("hide");
|
||||||
|
}
|
||||||
|
|
||||||
ApiClient.getUser(userId).then(function(user) {
|
ApiClient.getUser(userId).then(function(user) {
|
||||||
page.querySelector(".headerUsername").innerHTML = user.Name;
|
page.querySelector(".headerUsername").innerHTML = user.Name;
|
||||||
if (!user.Policy.IsAdministrator) {
|
if (!user.Policy.IsAdministrator) {
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
height: 1.83em;
|
height: 1.83em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 2px solid currentcolor;
|
border: 0.14em solid currentcolor;
|
||||||
border-radius: 0.14em;
|
border-radius: 0.14em;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -5,7 +5,8 @@ define(['browser', 'dom', 'css!./emby-checkbox', 'registerElement'], function (b
|
||||||
|
|
||||||
function onKeyDown(e) {
|
function onKeyDown(e) {
|
||||||
// Don't submit form on enter
|
// Don't submit form on enter
|
||||||
if (e.keyCode === 13) {
|
// Real (non-emulator) Tizen does nothing on Space
|
||||||
|
if (e.keyCode === 13 || e.keyCode === 32) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
this.checked = !this.checked;
|
this.checked = !this.checked;
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding-left: 24px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio-label-block {
|
.radio-label-block {
|
||||||
|
@ -31,67 +30,82 @@
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mdl-radio__outer-circle {
|
.mdl-radio__circles {
|
||||||
position: absolute;
|
position: relative;
|
||||||
top: 4px;
|
margin-right: 0.54em;
|
||||||
left: 0;
|
width: 1.08em;
|
||||||
display: inline-block;
|
height: 1.08em;
|
||||||
box-sizing: border-box;
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
margin: 0;
|
|
||||||
cursor: pointer;
|
|
||||||
border: 2px solid currentcolor;
|
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
z-index: 2;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mdl-radio__button:checked + .mdl-radio__label + .mdl-radio__outer-circle {
|
.mdl-radio__circles svg {
|
||||||
border: 2px solid #00a4dc;
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 1;
|
||||||
|
overflow: visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mdl-radio__button:disabled + .mdl-radio__label + .mdl-radio__outer-circle {
|
.mdl-radio__button:disabled + .mdl-radio__circles {
|
||||||
border: 2px solid rgba(0, 0, 0, 0.26);
|
|
||||||
cursor: auto;
|
cursor: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mdl-radio__button:disabled + .mdl-radio__circles .mdl-radio__outer-circle {
|
||||||
|
color: rgba(0, 0, 0, 0.26);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mdl-radio.show-focus .mdl-radio__button:focus + .mdl-radio__circles .mdl-radio__outer-circle {
|
||||||
|
color: #00a4dc;
|
||||||
|
}
|
||||||
|
|
||||||
.mdl-radio__inner-circle {
|
.mdl-radio__inner-circle {
|
||||||
position: absolute;
|
transition-duration: 0.2s;
|
||||||
z-index: 1;
|
|
||||||
margin: 0;
|
|
||||||
top: 8px;
|
|
||||||
left: 4px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
width: 8px;
|
|
||||||
height: 8px;
|
|
||||||
cursor: pointer;
|
|
||||||
transition-duration: 0.28s;
|
|
||||||
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
||||||
transition-property: -webkit-transform;
|
transition-property: -webkit-transform;
|
||||||
transition-property: transform;
|
transition-property: transform;
|
||||||
transition-property: transform, -webkit-transform;
|
transition-property: transform, -webkit-transform;
|
||||||
-webkit-transform: scale3d(0, 0, 0);
|
-webkit-transform: scale(0);
|
||||||
transform: scale3d(0, 0, 0);
|
transform: scale(0);
|
||||||
|
transform-origin: 50% 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mdl-radio__button:checked + .mdl-radio__circles .mdl-radio__inner-circle {
|
||||||
|
-webkit-transform: scale(1);
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mdl-radio__button:disabled + .mdl-radio__circles .mdl-radio__inner-circle {
|
||||||
|
color: rgba(0, 0, 0, 0.26);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mdl-radio.show-focus .mdl-radio__button:focus + .mdl-radio__circles .mdl-radio__inner-circle {
|
||||||
|
color: #00a4dc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mdl-radio__focus-circle {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background: #00a4dc;
|
background: #00a4dc;
|
||||||
|
opacity: 0.26;
|
||||||
|
transition-duration: 0.2s;
|
||||||
|
transition-property: -webkit-transform;
|
||||||
|
transition-property: transform;
|
||||||
|
transition-property: transform, -webkit-transform;
|
||||||
|
-webkit-transform: scale(0);
|
||||||
|
transform: scale(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
.mdl-radio__button:checked + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle {
|
.mdl-radio.show-focus .mdl-radio__button:focus + .mdl-radio__circles .mdl-radio__focus-circle {
|
||||||
-webkit-transform: scale3d(1, 1, 1);
|
-webkit-transform: scale(1.75);
|
||||||
transform: scale3d(1, 1, 1);
|
transform: scale(1.75);
|
||||||
}
|
|
||||||
|
|
||||||
.mdl-radio__button:disabled + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle {
|
|
||||||
background: rgba(0, 0, 0, 0.26);
|
|
||||||
cursor: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mdl-radio__button:focus + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle {
|
|
||||||
box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.76);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mdl-radio__button:checked:focus + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle {
|
|
||||||
box-shadow: 0 0 0 10px rgba(0, 164, 220, 0.26);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mdl-radio__label {
|
.mdl-radio__label {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['css!./emby-radio', 'registerElement'], function () {
|
define(['layoutManager', 'css!./emby-radio', 'registerElement'], function (layoutManager) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var EmbyRadioPrototype = Object.create(HTMLInputElement.prototype);
|
var EmbyRadioPrototype = Object.create(HTMLInputElement.prototype);
|
||||||
|
@ -6,16 +6,24 @@ define(['css!./emby-radio', 'registerElement'], function () {
|
||||||
function onKeyDown(e) {
|
function onKeyDown(e) {
|
||||||
|
|
||||||
// Don't submit form on enter
|
// Don't submit form on enter
|
||||||
if (e.keyCode === 13) {
|
// Real (non-emulator) Tizen does nothing on Space
|
||||||
|
if (e.keyCode === 13 || e.keyCode === 32) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
if (!this.checked) {
|
||||||
this.checked = true;
|
this.checked = true;
|
||||||
|
|
||||||
|
this.dispatchEvent(new CustomEvent('change', {
|
||||||
|
bubbles: true
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EmbyRadioPrototype.attachedCallback = function () {
|
EmbyRadioPrototype.attachedCallback = function () {
|
||||||
|
var showFocus = !layoutManager.mobile;
|
||||||
|
|
||||||
if (this.getAttribute('data-radio') === 'true') {
|
if (this.getAttribute('data-radio') === 'true') {
|
||||||
return;
|
return;
|
||||||
|
@ -30,13 +38,36 @@ define(['css!./emby-radio', 'registerElement'], function () {
|
||||||
labelElement.classList.add('mdl-radio');
|
labelElement.classList.add('mdl-radio');
|
||||||
labelElement.classList.add('mdl-js-radio');
|
labelElement.classList.add('mdl-js-radio');
|
||||||
labelElement.classList.add('mdl-js-ripple-effect');
|
labelElement.classList.add('mdl-js-ripple-effect');
|
||||||
|
if (showFocus) {
|
||||||
|
labelElement.classList.add('show-focus');
|
||||||
|
}
|
||||||
|
|
||||||
var labelTextElement = labelElement.querySelector('span');
|
var labelTextElement = labelElement.querySelector('span');
|
||||||
|
|
||||||
labelTextElement.classList.add('radioButtonLabel');
|
labelTextElement.classList.add('radioButtonLabel');
|
||||||
labelTextElement.classList.add('mdl-radio__label');
|
labelTextElement.classList.add('mdl-radio__label');
|
||||||
|
|
||||||
labelElement.insertAdjacentHTML('beforeend', '<span class="mdl-radio__outer-circle"></span><span class="mdl-radio__inner-circle"></span>');
|
var html = '';
|
||||||
|
|
||||||
|
html += '<div class="mdl-radio__circles">';
|
||||||
|
|
||||||
|
html += '<svg>';
|
||||||
|
html += '<defs>';
|
||||||
|
html += '<clipPath id="cutoff">';
|
||||||
|
html += '<circle cx="50%" cy="50%" r="50%" />';
|
||||||
|
html += '</clipPath>';
|
||||||
|
html += '</defs>';
|
||||||
|
html += '<circle class="mdl-radio__outer-circle" cx="50%" cy="50%" r="50%" fill="none" stroke="currentcolor" stroke-width="0.26em" clip-path="url(#cutoff)" />';
|
||||||
|
html += '<circle class="mdl-radio__inner-circle" cx="50%" cy="50%" r="25%" fill="currentcolor" />';
|
||||||
|
html += '</svg>';
|
||||||
|
|
||||||
|
if (showFocus) {
|
||||||
|
html += '<div class="mdl-radio__focus-circle"></div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
html += '</div>';
|
||||||
|
|
||||||
|
this.insertAdjacentHTML('afterend', html);
|
||||||
|
|
||||||
this.addEventListener('keydown', onKeyDown);
|
this.addEventListener('keydown', onKeyDown);
|
||||||
};
|
};
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.selectArrow {
|
.selectArrow {
|
||||||
margin-top: 0.35em;
|
margin-top: 1.2em;
|
||||||
font-size: 1.7em;
|
font-size: 1.7em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,7 @@ define(['layoutManager', 'browser', 'actionsheet', 'css!./emby-select', 'registe
|
||||||
this.parentNode.insertBefore(label, this);
|
this.parentNode.insertBefore(label, this);
|
||||||
|
|
||||||
if (this.classList.contains('emby-select-withcolor')) {
|
if (this.classList.contains('emby-select-withcolor')) {
|
||||||
this.parentNode.insertAdjacentHTML('beforeend', '<div class="selectArrowContainer"><div style="visibility:hidden;">0</div><i class="selectArrow material-icons keyboard_arrow_down"></i></div>');
|
this.parentNode.insertAdjacentHTML('beforeend', '<div class="selectArrowContainer"><div style="visibility:hidden;display:none;">0</div><i class="selectArrow material-icons keyboard_arrow_down"></i></div>');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -111,22 +111,32 @@
|
||||||
<div class="detailImageContainer padded-left"></div>
|
<div class="detailImageContainer padded-left"></div>
|
||||||
<div class="detailPageContent">
|
<div class="detailPageContent">
|
||||||
<div class="detailPagePrimaryContent padded-left padded-right">
|
<div class="detailPagePrimaryContent padded-left padded-right">
|
||||||
<div class="detailSection" style="margin-bottom: 0;">
|
<div class="detailSection">
|
||||||
<div class="itemMiscInfo nativeName hide"></div>
|
<div class="itemMiscInfo nativeName hide"></div>
|
||||||
<div class="genres hide" style="margin: .7em 0;font-size:92%;"></div>
|
|
||||||
<div class="directors hide" style="margin: .7em 0;font-size:92%;"></div>
|
|
||||||
|
|
||||||
<form class="trackSelections flex align-items-center flex-wrap-wrap hide focuscontainer-x">
|
<div class="itemDetailsGroup">
|
||||||
<div class="selectContainer selectContainer-inline selectSourceContainer hide trackSelectionFieldContainer flex-shrink-zero">
|
<div class="detailsGroupItem genresGroup hide">
|
||||||
|
<div class="genresLabel label"></div>
|
||||||
|
<div class="genres content"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="detailsGroupItem directorsGroup hide">
|
||||||
|
<div class="directorsLabel label"></div>
|
||||||
|
<div class="directors content"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form class="trackSelections hide focuscontainer-x">
|
||||||
|
<div class="selectContainer selectSourceContainer hide trackSelectionFieldContainer flex-shrink-zero">
|
||||||
<select is="emby-select" class="selectSource detailTrackSelect" label=""></select>
|
<select is="emby-select" class="selectSource detailTrackSelect" label=""></select>
|
||||||
</div>
|
</div>
|
||||||
<div class="selectContainer selectContainer-inline selectVideoContainer hide trackSelectionFieldContainer flex-shrink-zero">
|
<div class="selectContainer selectVideoContainer hide trackSelectionFieldContainer flex-shrink-zero">
|
||||||
<select is="emby-select" class="selectVideo detailTrackSelect" label=""></select>
|
<select is="emby-select" class="selectVideo detailTrackSelect" label=""></select>
|
||||||
</div>
|
</div>
|
||||||
<div class="selectContainer selectContainer-inline selectAudioContainer hide trackSelectionFieldContainer flex-shrink-zero">
|
<div class="selectContainer selectAudioContainer hide trackSelectionFieldContainer flex-shrink-zero">
|
||||||
<select is="emby-select" class="selectAudio detailTrackSelect" label=""></select>
|
<select is="emby-select" class="selectAudio detailTrackSelect" label=""></select>
|
||||||
</div>
|
</div>
|
||||||
<div class="selectContainer selectContainer-inline selectSubtitlesContainer hide trackSelectionFieldContainer">
|
<div class="selectContainer selectSubtitlesContainer hide trackSelectionFieldContainer">
|
||||||
<select is="emby-select" class="selectSubtitles detailTrackSelect" label=""></select>
|
<select is="emby-select" class="selectSubtitles detailTrackSelect" label=""></select>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
"use strict";
|
|
||||||
window.queryString = {}, window.queryString.extract = function(maybeUrl) {
|
|
||||||
return maybeUrl.split("?")[1] || ""
|
|
||||||
}, window.queryString.parse = function(str) {
|
|
||||||
return "string" != typeof str ? {} : (str = str.trim().replace(/^(\?|#|&)/, ""), str ? str.split("&").reduce(function(ret, param) {
|
|
||||||
var parts = param.replace(/\+/g, " ").split("="),
|
|
||||||
key = parts[0],
|
|
||||||
val = parts[1];
|
|
||||||
return key = decodeURIComponent(key), val = void 0 === val ? null : decodeURIComponent(val), ret.hasOwnProperty(key) ? Array.isArray(ret[key]) ? ret[key].push(val) : ret[key] = [ret[key], val] : ret[key] = val, ret
|
|
||||||
}, {}) : {})
|
|
||||||
}, window.queryString.stringify = function(obj) {
|
|
||||||
return obj ? Object.keys(obj).sort().map(function(key) {
|
|
||||||
var val = obj[key];
|
|
||||||
return Array.isArray(val) ? val.sort().map(function(val2) {
|
|
||||||
return encodeURIComponent(key) + "=" + encodeURIComponent(val2)
|
|
||||||
}).join("&") : encodeURIComponent(key) + "=" + encodeURIComponent(val)
|
|
||||||
}).join("&") : ""
|
|
||||||
};
|
|
|
@ -1,83 +0,0 @@
|
||||||
"use strict";
|
|
||||||
var assert = require("assert"),
|
|
||||||
qs = require("./");
|
|
||||||
describe(".parse()", function() {
|
|
||||||
it("query strings starting with a `?`", function() {
|
|
||||||
assert.deepEqual(qs.parse("?foo=bar"), {
|
|
||||||
foo: "bar"
|
|
||||||
})
|
|
||||||
}), it("query strings starting with a `#`", function() {
|
|
||||||
assert.deepEqual(qs.parse("#foo=bar"), {
|
|
||||||
foo: "bar"
|
|
||||||
})
|
|
||||||
}), it("query strings starting with a `&", function() {
|
|
||||||
assert.deepEqual(qs.parse("&foo=bar&foo=baz"), {
|
|
||||||
foo: ["bar", "baz"]
|
|
||||||
})
|
|
||||||
}), it("parse a query string", function() {
|
|
||||||
assert.deepEqual(qs.parse("foo=bar"), {
|
|
||||||
foo: "bar"
|
|
||||||
})
|
|
||||||
}), it("parse multiple query string", function() {
|
|
||||||
assert.deepEqual(qs.parse("foo=bar&key=val"), {
|
|
||||||
foo: "bar",
|
|
||||||
key: "val"
|
|
||||||
})
|
|
||||||
}), it("parse query string without a value", function() {
|
|
||||||
assert.deepEqual(qs.parse("foo"), {
|
|
||||||
foo: null
|
|
||||||
}), assert.deepEqual(qs.parse("foo&key"), {
|
|
||||||
foo: null,
|
|
||||||
key: null
|
|
||||||
}), assert.deepEqual(qs.parse("foo=bar&key"), {
|
|
||||||
foo: "bar",
|
|
||||||
key: null
|
|
||||||
})
|
|
||||||
}), it("return empty object if no qss can be found", function() {
|
|
||||||
assert.deepEqual(qs.parse("?"), {}), assert.deepEqual(qs.parse("&"), {}), assert.deepEqual(qs.parse("#"), {}), assert.deepEqual(qs.parse(" "), {})
|
|
||||||
}), it("handle `+` correctly", function() {
|
|
||||||
assert.deepEqual(qs.parse("foo+faz=bar+baz++"), {
|
|
||||||
"foo faz": "bar baz "
|
|
||||||
})
|
|
||||||
}), it("handle multiple of the same key", function() {
|
|
||||||
assert.deepEqual(qs.parse("foo=bar&foo=baz"), {
|
|
||||||
foo: ["bar", "baz"]
|
|
||||||
})
|
|
||||||
}), it("query strings params including embedded `=`", function() {
|
|
||||||
assert.deepEqual(qs.parse("?param=http%3A%2F%2Fsomeurl%3Fid%3D2837"), {
|
|
||||||
param: "http://someurl?id=2837"
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}), describe(".stringify()", function() {
|
|
||||||
it("stringify", function() {
|
|
||||||
assert.strictEqual(qs.stringify({
|
|
||||||
foo: "bar"
|
|
||||||
}), "foo=bar"), assert.strictEqual(qs.stringify({
|
|
||||||
foo: "bar",
|
|
||||||
bar: "baz"
|
|
||||||
}), "bar=baz&foo=bar")
|
|
||||||
}), it("different types", function() {
|
|
||||||
assert.strictEqual(qs.stringify(), ""), assert.strictEqual(qs.stringify(0), "")
|
|
||||||
}), it("URI encode", function() {
|
|
||||||
assert.strictEqual(qs.stringify({
|
|
||||||
"foo bar": "baz faz"
|
|
||||||
}), "foo%20bar=baz%20faz")
|
|
||||||
}), it("handle array value", function() {
|
|
||||||
assert.strictEqual(qs.stringify({
|
|
||||||
abc: "abc",
|
|
||||||
foo: ["bar", "baz"]
|
|
||||||
}), "abc=abc&foo=bar&foo=baz")
|
|
||||||
})
|
|
||||||
}), describe(".extract()", function() {
|
|
||||||
it("should extract qs from url", function() {
|
|
||||||
assert.equal(qs.extract("http://foo.bar/?abc=def&hij=klm"), "abc=def&hij=klm"), assert.equal(qs.extract("http://foo.bar/?"), "")
|
|
||||||
}), it("should handle strings not containing qs", function() {
|
|
||||||
assert.equal(qs.extract("http://foo.bar/"), ""), assert.equal(qs.extract(""), "")
|
|
||||||
}), it("should throw for invalid values", function() {
|
|
||||||
assert.throws(function() {
|
|
||||||
qs.extract(null)
|
|
||||||
}, TypeError), assert.throws(function() {
|
|
||||||
qs.extract(void 0)
|
|
||||||
}, TypeError)
|
|
||||||
})
|
|
||||||
});
|
|
|
@ -47,6 +47,15 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<a is="emby-linkbutton" data-ripple="false" href="#" style="display:block;padding:0;margin:0;" class="clientSettings listItem-border">
|
||||||
|
<div class="listItem">
|
||||||
|
<i class="material-icons listItemIcon listItemIcon-transparent devices_other"></i>
|
||||||
|
<div class="listItemBody">
|
||||||
|
<div class="listItemBodyText">${ClientSettings}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="adminSection verticalSection verticalSection-extrabottompadding">
|
<div class="adminSection verticalSection verticalSection-extrabottompadding">
|
||||||
<h2 class="sectionTitle" style="padding-left:.25em;">${HeaderAdmin}</h2>
|
<h2 class="sectionTitle" style="padding-left:.25em;">${HeaderAdmin}</h2>
|
||||||
|
|
|
@ -271,6 +271,9 @@ define([], function () {
|
||||||
|
|
||||||
if (!browser.tizen) {
|
if (!browser.tizen) {
|
||||||
browser.orsay = userAgent.toLowerCase().indexOf('smarthub') !== -1;
|
browser.orsay = userAgent.toLowerCase().indexOf('smarthub') !== -1;
|
||||||
|
} else {
|
||||||
|
var v = (navigator.appVersion).match(/Tizen (\d+).(\d+)/);
|
||||||
|
browser.tizenVersion = parseInt(v[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (browser.edgeUwp) {
|
if (browser.edgeUwp) {
|
||||||
|
|
|
@ -214,6 +214,15 @@ define(['browser'], function (browser) {
|
||||||
break;
|
break;
|
||||||
case 'avi':
|
case 'avi':
|
||||||
supported = browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
supported = browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
||||||
|
// New Samsung TV don't support XviD/DivX
|
||||||
|
// Explicitly add supported codecs to make other codecs be transcoded
|
||||||
|
if (browser.tizenVersion >= 4) {
|
||||||
|
videoCodecs.push('h264');
|
||||||
|
if (canPlayH265(videoTestElement, options)) {
|
||||||
|
videoCodecs.push('h265');
|
||||||
|
videoCodecs.push('hevc');
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'mpg':
|
case 'mpg':
|
||||||
case 'mpeg':
|
case 'mpeg':
|
||||||
|
|
|
@ -73,7 +73,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user && user.localUser) {
|
if (user && user.localUser) {
|
||||||
if (headerHomeButton) {
|
if (headerHomeButton && !layoutManager.mobile) {
|
||||||
headerHomeButton.classList.remove("hide");
|
headerHomeButton.classList.remove("hide");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -243,15 +243,20 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder" data-itemid="selectserver" href="selectserver.html?showuser=1"><i class="material-icons navMenuOptionIcon">wifi</i><span class="navMenuOptionText">' + globalize.translate("ButtonSelectServer") + "</span></a>";
|
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder" data-itemid="selectserver" href="selectserver.html?showuser=1"><i class="material-icons navMenuOptionIcon">wifi</i><span class="navMenuOptionText">' + globalize.translate("ButtonSelectServer") + "</span></a>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnSettings" data-itemid="settings" href="#"><i class="material-icons navMenuOptionIcon settings"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSettings") + "</span></a>";
|
||||||
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnLogout" data-itemid="logout" href="#"><i class="material-icons navMenuOptionIcon exit_to_app"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSignOut") + "</span></a>";
|
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnLogout" data-itemid="logout" href="#"><i class="material-icons navMenuOptionIcon exit_to_app"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSignOut") + "</span></a>";
|
||||||
html += "</div>";
|
html += "</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
// add buttons to navigation drawer
|
// add buttons to navigation drawer
|
||||||
navDrawerScrollContainer.innerHTML = html;
|
navDrawerScrollContainer.innerHTML = html;
|
||||||
// bind logout button click to method
|
|
||||||
var btnLogout = navDrawerScrollContainer.querySelector(".btnLogout");
|
|
||||||
|
|
||||||
|
var btnSettings = navDrawerScrollContainer.querySelector(".btnSettings");
|
||||||
|
if (btnSettings) {
|
||||||
|
btnSettings.addEventListener("click", onSettingsClick);
|
||||||
|
}
|
||||||
|
|
||||||
|
var btnLogout = navDrawerScrollContainer.querySelector(".btnLogout");
|
||||||
if (btnLogout) {
|
if (btnLogout) {
|
||||||
btnLogout.addEventListener("click", onLogoutClick);
|
btnLogout.addEventListener("click", onLogoutClick);
|
||||||
}
|
}
|
||||||
|
@ -598,6 +603,10 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onSettingsClick() {
|
||||||
|
Dashboard.navigate("mypreferencesmenu.html");
|
||||||
|
}
|
||||||
|
|
||||||
function onLogoutClick() {
|
function onLogoutClick() {
|
||||||
Dashboard.logout();
|
Dashboard.logout();
|
||||||
}
|
}
|
||||||
|
@ -788,7 +797,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
var headerCastButton;
|
var headerCastButton;
|
||||||
var headerSearchButton;
|
var headerSearchButton;
|
||||||
var headerAudioPlayerButton;
|
var headerAudioPlayerButton;
|
||||||
var enableLibraryNavDrawer = !layoutManager.tv;
|
var enableLibraryNavDrawer = layoutManager.desktop;
|
||||||
var skinHeader = document.querySelector(".skinHeader");
|
var skinHeader = document.querySelector(".skinHeader");
|
||||||
var requiresUserRefresh = true;
|
var requiresUserRefresh = true;
|
||||||
var lastOpenTime = new Date().getTime();
|
var lastOpenTime = new Date().getTime();
|
||||||
|
@ -863,6 +872,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
pageClassOn("pageshow", "page", function (e) {
|
pageClassOn("pageshow", "page", function (e) {
|
||||||
var page = this;
|
var page = this;
|
||||||
var isDashboardPage = page.classList.contains("type-interior");
|
var isDashboardPage = page.classList.contains("type-interior");
|
||||||
|
var isHomePage = page.classList.contains("homePage");
|
||||||
var isLibraryPage = !isDashboardPage && page.classList.contains("libraryPage");
|
var isLibraryPage = !isDashboardPage && page.classList.contains("libraryPage");
|
||||||
var apiClient = getCurrentApiClient();
|
var apiClient = getCurrentApiClient();
|
||||||
|
|
||||||
|
@ -874,7 +884,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
refreshDashboardInfoInDrawer(apiClient);
|
refreshDashboardInfoInDrawer(apiClient);
|
||||||
} else {
|
} else {
|
||||||
if (mainDrawerButton) {
|
if (mainDrawerButton) {
|
||||||
if (enableLibraryNavDrawer) {
|
if (enableLibraryNavDrawer || isHomePage) {
|
||||||
mainDrawerButton.classList.remove("hide");
|
mainDrawerButton.classList.remove("hide");
|
||||||
} else {
|
} else {
|
||||||
mainDrawerButton.classList.add("hide");
|
mainDrawerButton.classList.add("hide");
|
||||||
|
|
|
@ -355,39 +355,6 @@ var AppInfo = {};
|
||||||
return headroom;
|
return headroom;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCastSenderApiLoader() {
|
|
||||||
var ccLoaded = false;
|
|
||||||
return {
|
|
||||||
load: function () {
|
|
||||||
if (ccLoaded) {
|
|
||||||
return Promise.resolve();
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Promise(function (resolve, reject) {
|
|
||||||
var fileref = document.createElement("script");
|
|
||||||
fileref.setAttribute("type", "text/javascript");
|
|
||||||
|
|
||||||
fileref.onload = function () {
|
|
||||||
ccLoaded = true;
|
|
||||||
resolve();
|
|
||||||
};
|
|
||||||
|
|
||||||
fileref.setAttribute("src", "https://www.gstatic.com/cv/js/sender/v1/cast_sender.js");
|
|
||||||
document.querySelector("head").appendChild(fileref);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function getDummyCastSenderApiLoader() {
|
|
||||||
return {
|
|
||||||
load: function () {
|
|
||||||
window.chrome = window.chrome || {};
|
|
||||||
return Promise.resolve();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function createSharedAppFooter(appFooter) {
|
function createSharedAppFooter(appFooter) {
|
||||||
return new appFooter({});
|
return new appFooter({});
|
||||||
}
|
}
|
||||||
|
@ -439,28 +406,16 @@ var AppInfo = {};
|
||||||
defineResizeObserver();
|
defineResizeObserver();
|
||||||
define("dialog", [componentsPath + "/dialog/dialog"], returnFirstDependency);
|
define("dialog", [componentsPath + "/dialog/dialog"], returnFirstDependency);
|
||||||
|
|
||||||
if (preferNativeAlerts && window.confirm) {
|
|
||||||
define("confirm", [componentsPath + "/confirm/nativeconfirm"], returnFirstDependency);
|
|
||||||
} else {
|
|
||||||
define("confirm", [componentsPath + "/confirm/confirm"], returnFirstDependency);
|
define("confirm", [componentsPath + "/confirm/confirm"], returnFirstDependency);
|
||||||
}
|
|
||||||
|
|
||||||
if ((preferNativeAlerts || browser.xboxOne) && window.confirm) {
|
|
||||||
define("prompt", [componentsPath + "/prompt/nativeprompt"], returnFirstDependency);
|
|
||||||
} else {
|
|
||||||
define("prompt", [componentsPath + "/prompt/prompt"], returnFirstDependency);
|
define("prompt", [componentsPath + "/prompt/prompt"], returnFirstDependency);
|
||||||
}
|
|
||||||
|
|
||||||
define("loading", [componentsPath + "/loading/loading"], returnFirstDependency);
|
define("loading", [componentsPath + "/loading/loading"], returnFirstDependency);
|
||||||
define("multi-download", [componentsPath + "/multidownload"], returnFirstDependency);
|
define("multi-download", [componentsPath + "/multidownload"], returnFirstDependency);
|
||||||
define("fileDownloader", [componentsPath + "/filedownloader"], returnFirstDependency);
|
define("fileDownloader", [componentsPath + "/filedownloader"], returnFirstDependency);
|
||||||
define("localassetmanager", [bowerPath + "/apiclient/localassetmanager"], returnFirstDependency);
|
define("localassetmanager", [bowerPath + "/apiclient/localassetmanager"], returnFirstDependency);
|
||||||
|
|
||||||
if ("cordova" === self.appMode || "android" === self.appMode) {
|
define("castSenderApiLoader", [componentsPath + "/castSenderApi"], returnFirstDependency);
|
||||||
define("castSenderApiLoader", [], getDummyCastSenderApiLoader);
|
|
||||||
} else {
|
|
||||||
define("castSenderApiLoader", [], getCastSenderApiLoader);
|
|
||||||
}
|
|
||||||
|
|
||||||
define("transfermanager", [bowerPath + "/apiclient/sync/transfermanager"], returnFirstDependency);
|
define("transfermanager", [bowerPath + "/apiclient/sync/transfermanager"], returnFirstDependency);
|
||||||
define("filerepository", [bowerPath + "/apiclient/sync/filerepository"], returnFirstDependency);
|
define("filerepository", [bowerPath + "/apiclient/sync/filerepository"], returnFirstDependency);
|
||||||
|
@ -733,8 +688,8 @@ var AppInfo = {};
|
||||||
"resize-observer-polyfill",
|
"resize-observer-polyfill",
|
||||||
"shaka",
|
"shaka",
|
||||||
"swiper",
|
"swiper",
|
||||||
|
"queryString",
|
||||||
"sortable",
|
"sortable",
|
||||||
"libjass",
|
|
||||||
"webcomponents",
|
"webcomponents",
|
||||||
"material-icons",
|
"material-icons",
|
||||||
"jellyfin-noto",
|
"jellyfin-noto",
|
||||||
|
@ -798,9 +753,6 @@ var AppInfo = {};
|
||||||
define("headroom", [componentsPath + "/headroom/headroom"], returnFirstDependency);
|
define("headroom", [componentsPath + "/headroom/headroom"], returnFirstDependency);
|
||||||
define("scroller", [componentsPath + "/scroller"], returnFirstDependency);
|
define("scroller", [componentsPath + "/scroller"], returnFirstDependency);
|
||||||
define("navdrawer", [componentsPath + "/navdrawer/navdrawer"], returnFirstDependency);
|
define("navdrawer", [componentsPath + "/navdrawer/navdrawer"], returnFirstDependency);
|
||||||
define("queryString", [bowerPath + "/query-string/index"], function () {
|
|
||||||
return queryString;
|
|
||||||
});
|
|
||||||
|
|
||||||
define("emby-button", [elementsPath + "/emby-button/emby-button"], returnFirstDependency);
|
define("emby-button", [elementsPath + "/emby-button/emby-button"], returnFirstDependency);
|
||||||
define("paper-icon-button-light", [elementsPath + "/emby-button/paper-icon-button-light"], returnFirstDependency);
|
define("paper-icon-button-light", [elementsPath + "/emby-button/paper-icon-button-light"], returnFirstDependency);
|
||||||
|
|
|
@ -101,8 +101,7 @@
|
||||||
"Desktop": "Работен плот",
|
"Desktop": "Работен плот",
|
||||||
"DeviceAccessHelp": "Това се отнася само за устройства, които могат да бъдат различени и няма да попречи на достъп от мрежов четец. Филтрирането на потребителски устройства ще предотврати използването им докато не бъдат одобрени тук.",
|
"DeviceAccessHelp": "Това се отнася само за устройства, които могат да бъдат различени и няма да попречи на достъп от мрежов четец. Филтрирането на потребителски устройства ще предотврати използването им докато не бъдат одобрени тук.",
|
||||||
"Director": "Режисьор",
|
"Director": "Режисьор",
|
||||||
"DirectorValue": "Режисьор: {0}",
|
"Directors": "Режисьори",
|
||||||
"DirectorsValue": "Режисьори: {0}",
|
|
||||||
"Disc": "Диск",
|
"Disc": "Диск",
|
||||||
"Dislike": "Нехаресване",
|
"Dislike": "Нехаресване",
|
||||||
"Display": "Показване",
|
"Display": "Показване",
|
||||||
|
@ -137,9 +136,8 @@
|
||||||
"FormatValue": "Формат: {0}",
|
"FormatValue": "Формат: {0}",
|
||||||
"Friday": "Петък",
|
"Friday": "Петък",
|
||||||
"Fullscreen": "Цял екран",
|
"Fullscreen": "Цял екран",
|
||||||
"GenreValue": "Жанр: {0}",
|
"Genre": "Жанр",
|
||||||
"Genres": "Жанрове",
|
"Genres": "Жанрове",
|
||||||
"GenresValue": "Жанрове: {0}",
|
|
||||||
"GroupVersions": "Групиране на версиите",
|
"GroupVersions": "Групиране на версиите",
|
||||||
"GuestStar": "Гостуваща звезда",
|
"GuestStar": "Гостуваща звезда",
|
||||||
"Guide": "Справочник",
|
"Guide": "Справочник",
|
||||||
|
@ -435,7 +433,7 @@
|
||||||
"LabelStatus": "Състояние:",
|
"LabelStatus": "Състояние:",
|
||||||
"LabelStopWhenPossible": "Спирай, когато е възможно:",
|
"LabelStopWhenPossible": "Спирай, когато е възможно:",
|
||||||
"LabelSubtitlePlaybackMode": "Режим на субтитрите:",
|
"LabelSubtitlePlaybackMode": "Режим на субтитрите:",
|
||||||
"LabelSubtitles": "Субтитри:",
|
"LabelSubtitles": "Субтитри",
|
||||||
"LabelSupportedMediaTypes": "Поддържани типове медия:",
|
"LabelSupportedMediaTypes": "Поддържани типове медия:",
|
||||||
"LabelTag": "Етикет:",
|
"LabelTag": "Етикет:",
|
||||||
"LabelTextColor": "Цвят на текста:",
|
"LabelTextColor": "Цвят на текста:",
|
||||||
|
@ -812,7 +810,7 @@
|
||||||
"MediaInfoLayout": "Подредба",
|
"MediaInfoLayout": "Подредба",
|
||||||
"MusicVideo": "Музикален клип",
|
"MusicVideo": "Музикален клип",
|
||||||
"MediaInfoStreamTypeVideo": "Видео",
|
"MediaInfoStreamTypeVideo": "Видео",
|
||||||
"LabelVideo": "Видео:",
|
"LabelVideo": "Видео",
|
||||||
"HeaderVideoTypes": "Видове видеа",
|
"HeaderVideoTypes": "Видове видеа",
|
||||||
"HeaderVideoType": "Вид на видеото",
|
"HeaderVideoType": "Вид на видеото",
|
||||||
"EnableExternalVideoPlayers": "Външни възпроизводители",
|
"EnableExternalVideoPlayers": "Външни възпроизводители",
|
||||||
|
@ -832,5 +830,9 @@
|
||||||
"ButtonNetwork": "Мрежа",
|
"ButtonNetwork": "Мрежа",
|
||||||
"ButtonFullscreen": "На цял екран",
|
"ButtonFullscreen": "На цял екран",
|
||||||
"ButtonDown": "Надолу",
|
"ButtonDown": "Надолу",
|
||||||
"ButtonConnect": "Свързване"
|
"ButtonConnect": "Свързване",
|
||||||
|
"AllowOnTheFlySubtitleExtraction": "Позволява моментално извличане на поднадписи",
|
||||||
|
"AllowHWTranscodingHelp": "Позволява на тунера да прекодира моментално. Това може да помогне за редуциране на прекодирането от сървъра.",
|
||||||
|
"AddItemToCollectionHelp": "Добавяне към колекция чрез търсенето им и използване на дясно-щракване с мишката или контекстното меню.",
|
||||||
|
"Absolute": "Aбсолютен"
|
||||||
}
|
}
|
||||||
|
|
|
@ -461,7 +461,7 @@
|
||||||
"LabelArtist": "Umělec",
|
"LabelArtist": "Umělec",
|
||||||
"LabelArtists": "Umělci:",
|
"LabelArtists": "Umělci:",
|
||||||
"LabelArtistsHelp": "Odděl pomocí ;",
|
"LabelArtistsHelp": "Odděl pomocí ;",
|
||||||
"LabelAudio": "Zvuk:",
|
"LabelAudio": "Zvuk",
|
||||||
"LabelAudioLanguagePreference": "Preferovaný jazyk zvuku:",
|
"LabelAudioLanguagePreference": "Preferovaný jazyk zvuku:",
|
||||||
"LabelBindToLocalNetworkAddress": "Vázat na místní síťovou adresu:",
|
"LabelBindToLocalNetworkAddress": "Vázat na místní síťovou adresu:",
|
||||||
"LabelBindToLocalNetworkAddressHelp": "Volitelné. Přepsat lokální IP adresu vazanou na http server. Pokud je ponecháno prázdné, server se sváže ke všem dostupným adresám (aplikace bude dostupná na všech síťových zařízení, které server nabízí). Změna této hodnoty vyžaduje restartování Jellyfin Serveru.",
|
"LabelBindToLocalNetworkAddressHelp": "Volitelné. Přepsat lokální IP adresu vazanou na http server. Pokud je ponecháno prázdné, server se sváže ke všem dostupným adresám (aplikace bude dostupná na všech síťových zařízení, které server nabízí). Změna této hodnoty vyžaduje restartování Jellyfin Serveru.",
|
||||||
|
@ -709,7 +709,7 @@
|
||||||
"LabelStopping": "Zastavování",
|
"LabelStopping": "Zastavování",
|
||||||
"LabelSubtitleFormatHelp": "Příklad: srt",
|
"LabelSubtitleFormatHelp": "Příklad: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Mód titulků:",
|
"LabelSubtitlePlaybackMode": "Mód titulků:",
|
||||||
"LabelSubtitles": "Titulky:",
|
"LabelSubtitles": "Titulky",
|
||||||
"LabelSupportedMediaTypes": "Podporované typy médií:",
|
"LabelSupportedMediaTypes": "Podporované typy médií:",
|
||||||
"LabelTagline": "Slogan:",
|
"LabelTagline": "Slogan:",
|
||||||
"LabelTextBackgroundColor": "Barva pozadí textu:",
|
"LabelTextBackgroundColor": "Barva pozadí textu:",
|
||||||
|
@ -1276,8 +1276,7 @@
|
||||||
"DetectingDevices": "Hledání zařízení",
|
"DetectingDevices": "Hledání zařízení",
|
||||||
"DirectPlayError": "Chyba přímého přehrávání",
|
"DirectPlayError": "Chyba přímého přehrávání",
|
||||||
"DirectStreamHelp2": "Přímé streamování souboru používá velmi malý výkon bez ztráty kvality videa.",
|
"DirectStreamHelp2": "Přímé streamování souboru používá velmi malý výkon bez ztráty kvality videa.",
|
||||||
"DirectorValue": "Režisér: {0}",
|
"Directors": "Režiséři",
|
||||||
"DirectorsValue": "Režiséři: {0}",
|
|
||||||
"Disabled": "Vypnuto",
|
"Disabled": "Vypnuto",
|
||||||
"DisplayInMyMedia": "Zobrazit na domovské obrazovce",
|
"DisplayInMyMedia": "Zobrazit na domovské obrazovce",
|
||||||
"DisplayInOtherHomeScreenSections": "Zobrazení v sekcích domovské obrazovky, jako jsou nejnovější média, a pokračování ve sledování",
|
"DisplayInOtherHomeScreenSections": "Zobrazení v sekcích domovské obrazovky, jako jsou nejnovější média, a pokračování ve sledování",
|
||||||
|
@ -1297,8 +1296,7 @@
|
||||||
"Filters": "Filtry",
|
"Filters": "Filtry",
|
||||||
"Folders": "Složky",
|
"Folders": "Složky",
|
||||||
"General": "Hlavní",
|
"General": "Hlavní",
|
||||||
"GenreValue": "Žánr: {0}",
|
"Genre": "Žánr",
|
||||||
"GenresValue": "Žánry: {0}",
|
|
||||||
"GroupBySeries": "Seskupit podle série",
|
"GroupBySeries": "Seskupit podle série",
|
||||||
"HandledByProxy": "Zpracováno reverzním proxy",
|
"HandledByProxy": "Zpracováno reverzním proxy",
|
||||||
"HeaderAddLocalUser": "Přidat místního uživatele",
|
"HeaderAddLocalUser": "Přidat místního uživatele",
|
||||||
|
@ -1395,7 +1393,7 @@
|
||||||
"LabelUrl": "URL:",
|
"LabelUrl": "URL:",
|
||||||
"LabelUserAgent": "User agent:",
|
"LabelUserAgent": "User agent:",
|
||||||
"LabelUserRemoteClientBitrateLimitHelp": "Přepíše výchozí globální hodnotu nastavenou v nastavení přehrávání serveru.",
|
"LabelUserRemoteClientBitrateLimitHelp": "Přepíše výchozí globální hodnotu nastavenou v nastavení přehrávání serveru.",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"LabelVideoCodec": "Video kodek:",
|
"LabelVideoCodec": "Video kodek:",
|
||||||
"LeaveBlankToNotSetAPassword": "Můžete ponechat prázdné pro nastavení bez hesla.",
|
"LeaveBlankToNotSetAPassword": "Můžete ponechat prázdné pro nastavení bez hesla.",
|
||||||
"LetterButtonAbbreviation": "A",
|
"LetterButtonAbbreviation": "A",
|
||||||
|
|
|
@ -1166,8 +1166,7 @@
|
||||||
"DirectStreamHelp1": "Medie filen er kompatibel med enheden i forhold til opløsning og medie type (H.264,AC3, etc.), men er i en ikke kompatibel fil container (mkv, avi, wmv, etc). Videoen vil blive genpakket live før den streames til enheden.",
|
"DirectStreamHelp1": "Medie filen er kompatibel med enheden i forhold til opløsning og medie type (H.264,AC3, etc.), men er i en ikke kompatibel fil container (mkv, avi, wmv, etc). Videoen vil blive genpakket live før den streames til enheden.",
|
||||||
"DirectStreamHelp2": "Direkte Streaming af en fil bruger meget lidt processor kraft uden nogen tab af video kvalitet.",
|
"DirectStreamHelp2": "Direkte Streaming af en fil bruger meget lidt processor kraft uden nogen tab af video kvalitet.",
|
||||||
"DirectStreaming": "Direkte streaming",
|
"DirectStreaming": "Direkte streaming",
|
||||||
"DirectorValue": "Instruktør: {0}",
|
"Directors": "Instruktører",
|
||||||
"DirectorsValue": "Instruktører: {0}",
|
|
||||||
"Disc": "Disk",
|
"Disc": "Disk",
|
||||||
"Dislike": "Kan ikke lide",
|
"Dislike": "Kan ikke lide",
|
||||||
"Display": "Visning",
|
"Display": "Visning",
|
||||||
|
@ -1207,8 +1206,7 @@
|
||||||
"Features": "Funktioner",
|
"Features": "Funktioner",
|
||||||
"Filters": "Filtre",
|
"Filters": "Filtre",
|
||||||
"FormatValue": "Format: {0}",
|
"FormatValue": "Format: {0}",
|
||||||
"GenreValue": "Genre: {0}",
|
"Genre": "Genre",
|
||||||
"GenresValue": "Genrer: {0}",
|
|
||||||
"GroupBySeries": "Gruppér efter serie",
|
"GroupBySeries": "Gruppér efter serie",
|
||||||
"Guide": "Vejledning",
|
"Guide": "Vejledning",
|
||||||
"GuideProviderLogin": "Log Ind",
|
"GuideProviderLogin": "Log Ind",
|
||||||
|
@ -1270,7 +1268,7 @@
|
||||||
"Label3DFormat": "3D format:",
|
"Label3DFormat": "3D format:",
|
||||||
"LabelAlbum": "Album:",
|
"LabelAlbum": "Album:",
|
||||||
"LabelArtist": "Kunstner",
|
"LabelArtist": "Kunstner",
|
||||||
"LabelAudio": "Lyd:",
|
"LabelAudio": "Lyd",
|
||||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||||
"LabelBlockContentWithTags": "Blokér filer med mærkerne:",
|
"LabelBlockContentWithTags": "Blokér filer med mærkerne:",
|
||||||
"LabelBurnSubtitles": "Brænd undertekster:",
|
"LabelBurnSubtitles": "Brænd undertekster:",
|
||||||
|
@ -1315,7 +1313,7 @@
|
||||||
"LabelSortOrder": "Sorteringsorden:",
|
"LabelSortOrder": "Sorteringsorden:",
|
||||||
"LabelSoundEffects": "Lydeffekter:",
|
"LabelSoundEffects": "Lydeffekter:",
|
||||||
"LabelStatus": "Status:",
|
"LabelStatus": "Status:",
|
||||||
"LabelSubtitles": "Undertekster:",
|
"LabelSubtitles": "Undertekster",
|
||||||
"LabelSyncNoTargetsHelp": "Det ser ud til at du ikke har nogen apps der understøtter offline hentning.",
|
"LabelSyncNoTargetsHelp": "Det ser ud til at du ikke har nogen apps der understøtter offline hentning.",
|
||||||
"LabelTVHomeScreen": "TV modus hjemmeskærm:",
|
"LabelTVHomeScreen": "TV modus hjemmeskærm:",
|
||||||
"LabelTag": "Mærke:",
|
"LabelTag": "Mærke:",
|
||||||
|
@ -1329,7 +1327,7 @@
|
||||||
"LabelUrl": "Link:",
|
"LabelUrl": "Link:",
|
||||||
"LabelVersion": "Version:",
|
"LabelVersion": "Version:",
|
||||||
"LabelVersionNumber": "Version {0}",
|
"LabelVersionNumber": "Version {0}",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"LabelVideoCodec": "Video codec:",
|
"LabelVideoCodec": "Video codec:",
|
||||||
"LabelWindowBackgroundColor": "Tekst baggrundsfarve:",
|
"LabelWindowBackgroundColor": "Tekst baggrundsfarve:",
|
||||||
"LabelXDlnaCap": "X-DLNA begrænsning:",
|
"LabelXDlnaCap": "X-DLNA begrænsning:",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"Absolute": "Gesamt",
|
"Absolute": "Absolut",
|
||||||
"AccessRestrictedTryAgainLater": "Der Zugriff ist derzeit eingeschränkt. Bitte versuche es später erneut.",
|
"AccessRestrictedTryAgainLater": "Der Zugriff ist derzeit eingeschränkt. Bitte versuche es später erneut.",
|
||||||
"Actor": "Darsteller(in)",
|
"Actor": "Darsteller(in)",
|
||||||
"Add": "Hinzufügen",
|
"Add": "Hinzufügen",
|
||||||
|
@ -175,8 +175,7 @@
|
||||||
"DirectStreamHelp2": "Direktes Streaming von Dateien benötigt sehr wenig Rechenleistung ohne Verlust der Videoqualität.",
|
"DirectStreamHelp2": "Direktes Streaming von Dateien benötigt sehr wenig Rechenleistung ohne Verlust der Videoqualität.",
|
||||||
"DirectStreaming": "Direktes Streaming",
|
"DirectStreaming": "Direktes Streaming",
|
||||||
"Director": "Regisseur",
|
"Director": "Regisseur",
|
||||||
"DirectorValue": "Regisseur: {0}",
|
"Directors": "Regisseure",
|
||||||
"DirectorsValue": "Regisseure: {0}",
|
|
||||||
"Disabled": "Abgeschaltet",
|
"Disabled": "Abgeschaltet",
|
||||||
"Disc": "Disk",
|
"Disc": "Disk",
|
||||||
"Disconnect": "Verbindung trennen",
|
"Disconnect": "Verbindung trennen",
|
||||||
|
@ -759,7 +758,7 @@
|
||||||
"LabelSubtitleDownloaders": "Untertitel Downloader:",
|
"LabelSubtitleDownloaders": "Untertitel Downloader:",
|
||||||
"LabelSubtitleFormatHelp": "Beispiel: srt",
|
"LabelSubtitleFormatHelp": "Beispiel: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Untertitelmodus:",
|
"LabelSubtitlePlaybackMode": "Untertitelmodus:",
|
||||||
"LabelSubtitles": "Untertitel:",
|
"LabelSubtitles": "Untertitel",
|
||||||
"LabelSupportedMediaTypes": "Unterstüzte Medientypen:",
|
"LabelSupportedMediaTypes": "Unterstüzte Medientypen:",
|
||||||
"LabelTVHomeScreen": "TV-Mode Startseite:",
|
"LabelTVHomeScreen": "TV-Mode Startseite:",
|
||||||
"LabelTextBackgroundColor": "Hintergrundfarbe des Textes:",
|
"LabelTextBackgroundColor": "Hintergrundfarbe des Textes:",
|
||||||
|
@ -1069,6 +1068,8 @@
|
||||||
"PluginInstalledMessage": "Das Plugin wurde erfolgreich installiert. Der Jellyfin-Server muss neu gestartet werden, um die Änderungen zu übernehmen.",
|
"PluginInstalledMessage": "Das Plugin wurde erfolgreich installiert. Der Jellyfin-Server muss neu gestartet werden, um die Änderungen zu übernehmen.",
|
||||||
"PreferEmbeddedTitlesOverFileNames": "Bevorzuge eingebettete Titel vor Dateinamen",
|
"PreferEmbeddedTitlesOverFileNames": "Bevorzuge eingebettete Titel vor Dateinamen",
|
||||||
"PreferEmbeddedTitlesOverFileNamesHelp": "Das bestimmt den Standard Displaytitel wenn keine lokale oder Internetmetadaten verfügbar sind.",
|
"PreferEmbeddedTitlesOverFileNamesHelp": "Das bestimmt den Standard Displaytitel wenn keine lokale oder Internetmetadaten verfügbar sind.",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNames": "Bevorzuge eingebettete Episodeninformationen vor Dateinamen",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Bevorzugt die in den Metadaten eingebetteten Episodeninformationen.",
|
||||||
"PreferredNotRequired": "Bevorzugt, aber nicht benötigt",
|
"PreferredNotRequired": "Bevorzugt, aber nicht benötigt",
|
||||||
"Premieres": "Premieren",
|
"Premieres": "Premieren",
|
||||||
"Previous": "Vorheriges",
|
"Previous": "Vorheriges",
|
||||||
|
@ -1291,9 +1292,8 @@
|
||||||
"Extras": "Extras",
|
"Extras": "Extras",
|
||||||
"FolderTypeTvShows": "TV Serien",
|
"FolderTypeTvShows": "TV Serien",
|
||||||
"FormatValue": "Format: {0}",
|
"FormatValue": "Format: {0}",
|
||||||
"GenreValue": "Genre: {0}",
|
"Genre": "Genre",
|
||||||
"Genres": "Genres",
|
"Genres": "Genres",
|
||||||
"GenresValue": "Genres: {0}",
|
|
||||||
"HeaderAdmin": "Admin",
|
"HeaderAdmin": "Admin",
|
||||||
"HeaderApp": "App",
|
"HeaderApp": "App",
|
||||||
"HeaderGenres": "Genres",
|
"HeaderGenres": "Genres",
|
||||||
|
@ -1305,7 +1305,7 @@
|
||||||
"Home": "Startseite",
|
"Home": "Startseite",
|
||||||
"Horizontal": "Horizontal",
|
"Horizontal": "Horizontal",
|
||||||
"LabelAlbum": "Album:",
|
"LabelAlbum": "Album:",
|
||||||
"LabelAudio": "Audio:",
|
"LabelAudio": "Audio",
|
||||||
"LabelCache": "Cache:",
|
"LabelCache": "Cache:",
|
||||||
"LabelFormat": "Format:",
|
"LabelFormat": "Format:",
|
||||||
"LabelH264Crf": "H264 Encodierungs-CRF:",
|
"LabelH264Crf": "H264 Encodierungs-CRF:",
|
||||||
|
@ -1324,7 +1324,7 @@
|
||||||
"LabelTypeText": "Text",
|
"LabelTypeText": "Text",
|
||||||
"LabelVersion": "Version:",
|
"LabelVersion": "Version:",
|
||||||
"LabelVersionNumber": "Version {0}",
|
"LabelVersionNumber": "Version {0}",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"LeaveBlankToNotSetAPassword": "Du kannst dieses Feld frei lassen um kein Passwort zu setzen.",
|
"LeaveBlankToNotSetAPassword": "Du kannst dieses Feld frei lassen um kein Passwort zu setzen.",
|
||||||
"LinksValue": "Links: {0}",
|
"LinksValue": "Links: {0}",
|
||||||
"MessageImageFileTypeAllowed": "Nur JPEG- und PNG-Dateien werden unterstützt.",
|
"MessageImageFileTypeAllowed": "Nur JPEG- und PNG-Dateien werden unterstützt.",
|
||||||
|
@ -1491,5 +1491,6 @@
|
||||||
"NoCreatedLibraries": "Sieht so aus als hättest du bis jetzt keine Bibliothek erstellt. {0}Möchtest du jetzt eine Bibliothek erstellen?{1}",
|
"NoCreatedLibraries": "Sieht so aus als hättest du bis jetzt keine Bibliothek erstellt. {0}Möchtest du jetzt eine Bibliothek erstellen?{1}",
|
||||||
"AllowFfmpegThrottling": "Transkodierung drosseln",
|
"AllowFfmpegThrottling": "Transkodierung drosseln",
|
||||||
"PlaybackErrorNoCompatibleStream": "Es gab ein Problem bei der Erkennung des Wiedergabeprofils des Clients und der Server sendet kein kompatibles Format.",
|
"PlaybackErrorNoCompatibleStream": "Es gab ein Problem bei der Erkennung des Wiedergabeprofils des Clients und der Server sendet kein kompatibles Format.",
|
||||||
"AllowFfmpegThrottlingHelp": "Wenn eine Transkodierung oder ein Remux weit genug über die aktuelle Abspielposition fortgeschritten ist, pausiere sie sodass weniger Ressourcen verbraucht werden. Dies ist am nützlichsten, wenn wenig geskippt wird. Bei Wiedergabeproblemen sollte diese Option deaktiviert werden."
|
"AllowFfmpegThrottlingHelp": "Wenn eine Transkodierung oder ein Remux weit genug über die aktuelle Abspielposition fortgeschritten ist, pausiere sie sodass weniger Ressourcen verbraucht werden. Dies ist am nützlichsten, wenn wenig geskippt wird. Bei Wiedergabeproblemen sollte diese Option deaktiviert werden.",
|
||||||
|
"ClientSettings": "Client Einstellungen"
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,8 +166,7 @@
|
||||||
"DirectStreamHelp2": "Η άμεση ροή ενός αρχείου χρησιμοποιεί ελάχιστη ισχύ επεξεργασίας χωρίς απώλεια της ποιότητας του βίντεο.",
|
"DirectStreamHelp2": "Η άμεση ροή ενός αρχείου χρησιμοποιεί ελάχιστη ισχύ επεξεργασίας χωρίς απώλεια της ποιότητας του βίντεο.",
|
||||||
"DirectStreaming": "Απευθείας Αναμετάδοση",
|
"DirectStreaming": "Απευθείας Αναμετάδοση",
|
||||||
"Director": "Σκηνοθέτης",
|
"Director": "Σκηνοθέτης",
|
||||||
"DirectorValue": "Σκηνοθέτης: {0}",
|
"Directors": "Σκηνοθέτες",
|
||||||
"DirectorsValue": "Σκηνοθέτες: {0}",
|
|
||||||
"Disabled": "Απενεργοποιημένο",
|
"Disabled": "Απενεργοποιημένο",
|
||||||
"Disc": "Δίσκος",
|
"Disc": "Δίσκος",
|
||||||
"Disconnect": "Αποσύνδεση",
|
"Disconnect": "Αποσύνδεση",
|
||||||
|
@ -233,9 +232,8 @@
|
||||||
"Friday": "Παρασκευή",
|
"Friday": "Παρασκευή",
|
||||||
"Fullscreen": "ΠΛΗΡΗΣ ΟΘΟΝΗ",
|
"Fullscreen": "ΠΛΗΡΗΣ ΟΘΟΝΗ",
|
||||||
"General": "Γενικά",
|
"General": "Γενικά",
|
||||||
"GenreValue": "Είδος: {0}",
|
"Genre": "Είδος",
|
||||||
"Genres": "Είδη",
|
"Genres": "Είδη",
|
||||||
"GenresValue": "Είδη: {0}",
|
|
||||||
"GroupBySeries": "Ομαδοποίηση κατά σειρά",
|
"GroupBySeries": "Ομαδοποίηση κατά σειρά",
|
||||||
"GroupVersions": "Ομαδικές εκδόσεις",
|
"GroupVersions": "Ομαδικές εκδόσεις",
|
||||||
"GuestStar": "Φιλική Συμμετοχή",
|
"GuestStar": "Φιλική Συμμετοχή",
|
||||||
|
@ -452,7 +450,7 @@
|
||||||
"LabelAppNameExample": "Παράδειγμα: Sickbeard, NzbDrone",
|
"LabelAppNameExample": "Παράδειγμα: Sickbeard, NzbDrone",
|
||||||
"LabelArtists": "Καλλιτέχνες:",
|
"LabelArtists": "Καλλιτέχνες:",
|
||||||
"LabelArtistsHelp": "Ξεχωρίστε πολλαπλά χρησιμοποιώντας;",
|
"LabelArtistsHelp": "Ξεχωρίστε πολλαπλά χρησιμοποιώντας;",
|
||||||
"LabelAudio": "Ήχος:",
|
"LabelAudio": "Ήχος",
|
||||||
"LabelAudioLanguagePreference": "Προτιμώμενη γλώσσα ήχου:",
|
"LabelAudioLanguagePreference": "Προτιμώμενη γλώσσα ήχου:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Αυτόματη ανανέωση μεταδεδομένων από το internet:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Αυτόματη ανανέωση μεταδεδομένων από το internet:",
|
||||||
"LabelBirthDate": "Ημερομηνία Γενεθλίων:",
|
"LabelBirthDate": "Ημερομηνία Γενεθλίων:",
|
||||||
|
@ -666,7 +664,7 @@
|
||||||
"LabelStopWhenPossible": "Διακοπή όταν είναι δυνατόν:",
|
"LabelStopWhenPossible": "Διακοπή όταν είναι δυνατόν:",
|
||||||
"LabelSubtitleFormatHelp": "Παράδειγμα: srt",
|
"LabelSubtitleFormatHelp": "Παράδειγμα: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Λειτουργία υποτίτλων:",
|
"LabelSubtitlePlaybackMode": "Λειτουργία υποτίτλων:",
|
||||||
"LabelSubtitles": "Υπότιτλοι:",
|
"LabelSubtitles": "Υπότιτλοι",
|
||||||
"LabelSupportedMediaTypes": "Υποστηριζόμενοι τύποι μέσων:",
|
"LabelSupportedMediaTypes": "Υποστηριζόμενοι τύποι μέσων:",
|
||||||
"LabelTVHomeScreen": "Αρχική οθόνη λειτουργίας τηλεόρασης:",
|
"LabelTVHomeScreen": "Αρχική οθόνη λειτουργίας τηλεόρασης:",
|
||||||
"LabelTag": "Ετικέτα:",
|
"LabelTag": "Ετικέτα:",
|
||||||
|
@ -696,7 +694,7 @@
|
||||||
"LabelVersion": "Έκδοση:",
|
"LabelVersion": "Έκδοση:",
|
||||||
"LabelVersionInstalled": "{0} εγκαταστήθηκε",
|
"LabelVersionInstalled": "{0} εγκαταστήθηκε",
|
||||||
"LabelVersionNumber": "Έκδοση {0}",
|
"LabelVersionNumber": "Έκδοση {0}",
|
||||||
"LabelVideo": "Βίντεο:",
|
"LabelVideo": "Βίντεο",
|
||||||
"LabelXDlnaCapHelp": "Καθορίζει το περιεχόμενο του στοιχείου X_DLNACAP στο urn:schemas-dlna-org:device-1-0 namespace.",
|
"LabelXDlnaCapHelp": "Καθορίζει το περιεχόμενο του στοιχείου X_DLNACAP στο urn:schemas-dlna-org:device-1-0 namespace.",
|
||||||
"LabelXDlnaDocHelp": "Καθορίζει το περιεχόμενο του στοιχείου X_DLNACAP στο urn:schemas-dlna-org:device-1-0 namespace.",
|
"LabelXDlnaDocHelp": "Καθορίζει το περιεχόμενο του στοιχείου X_DLNACAP στο urn:schemas-dlna-org:device-1-0 namespace.",
|
||||||
"LabelYear": "Έτος:",
|
"LabelYear": "Έτος:",
|
||||||
|
|
|
@ -223,8 +223,7 @@
|
||||||
"DirectStreamHelp2": "Direct Streaming a file uses very little processing power without any loss in video quality.",
|
"DirectStreamHelp2": "Direct Streaming a file uses very little processing power without any loss in video quality.",
|
||||||
"DirectStreaming": "Direct streaming",
|
"DirectStreaming": "Direct streaming",
|
||||||
"Director": "Director",
|
"Director": "Director",
|
||||||
"DirectorValue": "Director: {0}",
|
"Directors": "Directors",
|
||||||
"DirectorsValue": "Directors: {0}",
|
|
||||||
"Disabled": "Disabled",
|
"Disabled": "Disabled",
|
||||||
"Disc": "Disc",
|
"Disc": "Disc",
|
||||||
"Disconnect": "Disconnect",
|
"Disconnect": "Disconnect",
|
||||||
|
@ -299,8 +298,7 @@
|
||||||
"Friday": "Friday",
|
"Friday": "Friday",
|
||||||
"Fullscreen": "Full screen",
|
"Fullscreen": "Full screen",
|
||||||
"General": "General",
|
"General": "General",
|
||||||
"GenreValue": "Genre: {0}",
|
"Genre": "Genre",
|
||||||
"GenresValue": "Genres: {0}",
|
|
||||||
"GroupBySeries": "Group by series",
|
"GroupBySeries": "Group by series",
|
||||||
"GroupVersions": "Group versions",
|
"GroupVersions": "Group versions",
|
||||||
"GuestStar": "Guest star",
|
"GuestStar": "Guest star",
|
||||||
|
@ -808,7 +806,7 @@
|
||||||
"LabelTag": "Tag:",
|
"LabelTag": "Tag:",
|
||||||
"LabelTVHomeScreen": "TV mode home screen:",
|
"LabelTVHomeScreen": "TV mode home screen:",
|
||||||
"LabelSupportedMediaTypes": "Supported Media Types:",
|
"LabelSupportedMediaTypes": "Supported Media Types:",
|
||||||
"LabelSubtitles": "Subtitles:",
|
"LabelSubtitles": "Subtitles",
|
||||||
"LabelSubtitlePlaybackMode": "Subtitle mode:",
|
"LabelSubtitlePlaybackMode": "Subtitle mode:",
|
||||||
"LabelSubtitleFormatHelp": "Example: srt",
|
"LabelSubtitleFormatHelp": "Example: srt",
|
||||||
"LabelSubtitleDownloaders": "Subtitle downloaders:",
|
"LabelSubtitleDownloaders": "Subtitle downloaders:",
|
||||||
|
@ -1169,7 +1167,7 @@
|
||||||
"LabelAudioChannels": "Audio channels:",
|
"LabelAudioChannels": "Audio channels:",
|
||||||
"LabelAudioBitrate": "Audio bitrate:",
|
"LabelAudioBitrate": "Audio bitrate:",
|
||||||
"LabelAudioBitDepth": "Audio bit depth:",
|
"LabelAudioBitDepth": "Audio bit depth:",
|
||||||
"LabelAudio": "Audio:",
|
"LabelAudio": "Audio",
|
||||||
"LabelArtistsHelp": "Separate multiple using ;",
|
"LabelArtistsHelp": "Separate multiple using ;",
|
||||||
"LabelArtists": "Artists:",
|
"LabelArtists": "Artists:",
|
||||||
"LabelAppName": "App name",
|
"LabelAppName": "App name",
|
||||||
|
@ -1338,7 +1336,7 @@
|
||||||
"MediaInfoSoftware": "Software",
|
"MediaInfoSoftware": "Software",
|
||||||
"ValueOneSeries": "1 series",
|
"ValueOneSeries": "1 series",
|
||||||
"MediaInfoBitrate": "Bitrate",
|
"MediaInfoBitrate": "Bitrate",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"LabelPrevious": "Previous",
|
"LabelPrevious": "Previous",
|
||||||
"LabelPostProcessorArgumentsHelp": "Use {path} as the path to the recording file.",
|
"LabelPostProcessorArgumentsHelp": "Use {path} as the path to the recording file.",
|
||||||
"LabelKodiMetadataEnableExtraThumbs": "Copy extrafanart to extrathumbs field",
|
"LabelKodiMetadataEnableExtraThumbs": "Copy extrafanart to extrathumbs field",
|
||||||
|
|
|
@ -147,6 +147,7 @@
|
||||||
"ChannelNumber": "Channel number",
|
"ChannelNumber": "Channel number",
|
||||||
"Channels": "Channels",
|
"Channels": "Channels",
|
||||||
"CinemaModeConfigurationHelp": "Cinema mode brings the theater experience straight to your living room with the ability to play trailers and custom intros before the main feature.",
|
"CinemaModeConfigurationHelp": "Cinema mode brings the theater experience straight to your living room with the ability to play trailers and custom intros before the main feature.",
|
||||||
|
"ClientSettings": "Client Settings",
|
||||||
"Collections": "Collections",
|
"Collections": "Collections",
|
||||||
"ColorPrimaries": "Color primaries",
|
"ColorPrimaries": "Color primaries",
|
||||||
"ColorSpace": "Color space",
|
"ColorSpace": "Color space",
|
||||||
|
@ -191,8 +192,7 @@
|
||||||
"DirectStreamHelp2": "Direct Streaming a file uses very little processing power without any loss in video quality.",
|
"DirectStreamHelp2": "Direct Streaming a file uses very little processing power without any loss in video quality.",
|
||||||
"DirectStreaming": "Direct streaming",
|
"DirectStreaming": "Direct streaming",
|
||||||
"Director": "Director",
|
"Director": "Director",
|
||||||
"DirectorValue": "Director: {0}",
|
"Directors": "Directors",
|
||||||
"DirectorsValue": "Directors: {0}",
|
|
||||||
"Disabled": "Disabled",
|
"Disabled": "Disabled",
|
||||||
"Disc": "Disc",
|
"Disc": "Disc",
|
||||||
"Disconnect": "Disconnect",
|
"Disconnect": "Disconnect",
|
||||||
|
@ -271,9 +271,8 @@
|
||||||
"Friday": "Friday",
|
"Friday": "Friday",
|
||||||
"Fullscreen": "Full screen",
|
"Fullscreen": "Full screen",
|
||||||
"General": "General",
|
"General": "General",
|
||||||
"GenreValue": "Genre: {0}",
|
"Genre": "Genre",
|
||||||
"Genres": "Genres",
|
"Genres": "Genres",
|
||||||
"GenresValue": "Genres: {0}",
|
|
||||||
"GroupBySeries": "Group by series",
|
"GroupBySeries": "Group by series",
|
||||||
"GroupVersions": "Group versions",
|
"GroupVersions": "Group versions",
|
||||||
"GuestStar": "Guest star",
|
"GuestStar": "Guest star",
|
||||||
|
@ -550,7 +549,7 @@
|
||||||
"LabelAppNameExample": "Example: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Example: Sickbeard, Sonarr",
|
||||||
"LabelArtists": "Artists:",
|
"LabelArtists": "Artists:",
|
||||||
"LabelArtistsHelp": "Separate multiple using ;",
|
"LabelArtistsHelp": "Separate multiple using ;",
|
||||||
"LabelAudio": "Audio:",
|
"LabelAudio": "Audio",
|
||||||
"LabelAudioBitDepth": "Audio bit depth:",
|
"LabelAudioBitDepth": "Audio bit depth:",
|
||||||
"LabelAudioBitrate": "Audio bitrate:",
|
"LabelAudioBitrate": "Audio bitrate:",
|
||||||
"LabelAudioChannels": "Audio channels:",
|
"LabelAudioChannels": "Audio channels:",
|
||||||
|
@ -840,7 +839,7 @@
|
||||||
"LabelSubtitleDownloaders": "Subtitle downloaders:",
|
"LabelSubtitleDownloaders": "Subtitle downloaders:",
|
||||||
"LabelSubtitleFormatHelp": "Example: srt",
|
"LabelSubtitleFormatHelp": "Example: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Subtitle mode:",
|
"LabelSubtitlePlaybackMode": "Subtitle mode:",
|
||||||
"LabelSubtitles": "Subtitles:",
|
"LabelSubtitles": "Subtitles",
|
||||||
"LabelSupportedMediaTypes": "Supported Media Types:",
|
"LabelSupportedMediaTypes": "Supported Media Types:",
|
||||||
"LabelTVHomeScreen": "TV mode home screen:",
|
"LabelTVHomeScreen": "TV mode home screen:",
|
||||||
"LabelTag": "Tag:",
|
"LabelTag": "Tag:",
|
||||||
|
@ -886,7 +885,7 @@
|
||||||
"DashboardServerName": "Server: {0}",
|
"DashboardServerName": "Server: {0}",
|
||||||
"DashboardOperatingSystem": "Operating System: {0}",
|
"DashboardOperatingSystem": "Operating System: {0}",
|
||||||
"DashboardArchitecture": "Architecture: {0}",
|
"DashboardArchitecture": "Architecture: {0}",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"LabelVideoBitrate": "Video bitrate:",
|
"LabelVideoBitrate": "Video bitrate:",
|
||||||
"LabelVideoCodec": "Video codec:",
|
"LabelVideoCodec": "Video codec:",
|
||||||
"LabelVideoResolution": "Video resolution:",
|
"LabelVideoResolution": "Video resolution:",
|
||||||
|
@ -1239,6 +1238,8 @@
|
||||||
"PluginInstalledMessage": "The plugin has been successfully installed. Jellyfin Server will need to be restarted for changes to take effect.",
|
"PluginInstalledMessage": "The plugin has been successfully installed. Jellyfin Server will need to be restarted for changes to take effect.",
|
||||||
"PreferEmbeddedTitlesOverFileNames": "Prefer embedded titles over filenames",
|
"PreferEmbeddedTitlesOverFileNames": "Prefer embedded titles over filenames",
|
||||||
"PreferEmbeddedTitlesOverFileNamesHelp": "This determines the default display title when no internet metadata or local metadata is available.",
|
"PreferEmbeddedTitlesOverFileNamesHelp": "This determines the default display title when no internet metadata or local metadata is available.",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "This uses the episode informations from the embedded metadata if available.",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNames": "Prefer embedded episode informations over filenames",
|
||||||
"PreferredNotRequired": "Preferred, but not required",
|
"PreferredNotRequired": "Preferred, but not required",
|
||||||
"Premiere": "Premiere",
|
"Premiere": "Premiere",
|
||||||
"Premieres": "Premieres",
|
"Premieres": "Premieres",
|
||||||
|
|
|
@ -68,7 +68,7 @@
|
||||||
"AllowMediaConversion": "Permitir conversión de medios",
|
"AllowMediaConversion": "Permitir conversión de medios",
|
||||||
"AllowMediaConversionHelp": "Permitir o denegar acceso a la opción de convertir medios.",
|
"AllowMediaConversionHelp": "Permitir o denegar acceso a la opción de convertir medios.",
|
||||||
"AllowOnTheFlySubtitleExtraction": "Permitir extracción de subtítulos al vuelo",
|
"AllowOnTheFlySubtitleExtraction": "Permitir extracción de subtítulos al vuelo",
|
||||||
"AllowOnTheFlySubtitleExtractionHelp": "Los subtítulos incrustados pueden ser extraídos de videos y entregados a apps de Jellyfin en texto plano para ayudar a prevenir la transcodificación de video. En algunos sistemas esto puede llevar un largo tiempo y causar demoras en la reproducción durante el proceso de extracción. Desactivar esta opción para quemar los subtítulos incrustados en la transcodificación de video cuando no son soportados nativamente por el dispositivo cliente.",
|
"AllowOnTheFlySubtitleExtractionHelp": "Los subtítulos incrustados pueden extraerse de los videos y entregarse a los reproductores en texto plano para ayudar a evitar la transcodificación de video. En algunos sistemas, esto puede tardar mucho tiempo y provocar que la reproducción de video se detenga durante el proceso de extracción. Deshabilite esta opción para que los subtítulos incrustados se graben con transcodificación de video cuando no estén soportados de forma nativa por el dispositivo cliente.",
|
||||||
"AllowRemoteAccess": "Permitir conexiones remotas a este Servidor Jellyfin.",
|
"AllowRemoteAccess": "Permitir conexiones remotas a este Servidor Jellyfin.",
|
||||||
"AllowRemoteAccessHelp": "Si no está tildado, todas las conexiones remotas serán bloqueadas.",
|
"AllowRemoteAccessHelp": "Si no está tildado, todas las conexiones remotas serán bloqueadas.",
|
||||||
"AlwaysPlaySubtitles": "Siempre reproducir subtítulos",
|
"AlwaysPlaySubtitles": "Siempre reproducir subtítulos",
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
"AutoBasedOnLanguageSetting": "Auto (basado en configuración de idioma)",
|
"AutoBasedOnLanguageSetting": "Auto (basado en configuración de idioma)",
|
||||||
"AutomaticallyConvertNewContent": "Convertir contenido nuevo automáticamente",
|
"AutomaticallyConvertNewContent": "Convertir contenido nuevo automáticamente",
|
||||||
"Backdrop": "Fondo",
|
"Backdrop": "Fondo",
|
||||||
"AllowHWTranscodingHelp": "Si se activa, se permitirá al sintonizador transcodificar streams al vuelo. Esto podría ayudar a reducir la transcodificación requerida por el servidor Jellyfin.",
|
"AllowHWTranscodingHelp": "Permite que el sintonizador transcodifique las transmisiones sobre la marcha. Esto puede ayudar a reducir la transcodificación requerida por el servidor.",
|
||||||
"AllowedRemoteAddressesHelp": "Lista separada por comas de direcciones IP o IP/máscara-de-red para redes a las que se les permitirá conectarse de forma remota. Si se deja vacía, todas las direcciones remotas serán permitidas.",
|
"AllowedRemoteAddressesHelp": "Lista separada por comas de direcciones IP o IP/máscara-de-red para redes a las que se les permitirá conectarse de forma remota. Si se deja vacía, todas las direcciones remotas serán permitidas.",
|
||||||
"AlwaysPlaySubtitlesHelp": "Los subtítulos que concuerden con la preferencia de idioma se cargarán independientemente del idioma del audio.",
|
"AlwaysPlaySubtitlesHelp": "Los subtítulos que concuerden con la preferencia de idioma se cargarán independientemente del idioma del audio.",
|
||||||
"AndroidUnlockRestoreHelp": "Para recuperar tu compra anterior, por favor asegurate que iniciaste sesión en el dispositivo con la misma cuenta de Google (o Amazon) que hizo la compra originalmente. Asegurate de que la tienda de aplicaciones esté habilitada y no posea control parental alguno, y que tiene una conexión a Internet activa. Solo tendrás que hacer esto una sola vez para recuperar tu compra anterior.",
|
"AndroidUnlockRestoreHelp": "Para recuperar tu compra anterior, por favor asegurate que iniciaste sesión en el dispositivo con la misma cuenta de Google (o Amazon) que hizo la compra originalmente. Asegurate de que la tienda de aplicaciones esté habilitada y no posea control parental alguno, y que tiene una conexión a Internet activa. Solo tendrás que hacer esto una sola vez para recuperar tu compra anterior.",
|
||||||
|
@ -102,12 +102,12 @@
|
||||||
"BirthPlaceValue": "Lugar de nacimiento: {0}",
|
"BirthPlaceValue": "Lugar de nacimiento: {0}",
|
||||||
"Blacklist": "Lista negra",
|
"Blacklist": "Lista negra",
|
||||||
"BobAndWeaveWithHelp": "Bob and weave (mayor calidad, pero más lento)",
|
"BobAndWeaveWithHelp": "Bob and weave (mayor calidad, pero más lento)",
|
||||||
"BookLibraryHelp": "Libros de audio y de texto son soportados. Revise la {0}guía de nombrado de libros de Jellyfin{1}.",
|
"BookLibraryHelp": "Los libros de texto y audio libros son soportados. Revise la {0}Guía para Nomenclatura de Libros{1}.",
|
||||||
"Box": "Caja",
|
"Box": "Caja",
|
||||||
"BoxRear": "Caja (lado opuesto)",
|
"BoxRear": "Caja (lado opuesto)",
|
||||||
"Browse": "Explorar",
|
"Browse": "Explorar",
|
||||||
"BrowsePluginCatalogMessage": "Explore nuestro catálogo de complementos para ver los complementos disponibles.",
|
"BrowsePluginCatalogMessage": "Explore nuestro catálogo de complementos para ver los complementos disponibles.",
|
||||||
"BurnSubtitlesHelp": "Determine si el servidor debería incrustar los subtítulos cuando convierte los videos dependiendo del formato de subtítulo. Evitar incrustar subtitulos mejorará el rendimiento del servidor. Seleccione Auto para incrustar formatos basados en imagen (por ejemplo, VOBSUB, PGS, SUB/IDX, etc.), como así también ciertos subtítulos ASS/SSA",
|
"BurnSubtitlesHelp": "Determina si el servidor debe grabar subtítulos al convertir videos dependiendo del formato de los subtítulos. Evitar la grabación de subtítulos mejorará el rendimiento del servidor. Seleccione Auto para grabar formatos basados en imágenes (VOBSUB, PGS, SUB/IDX, etc.) y ciertos subtítulos ASS/SSA.",
|
||||||
"ButtonAccept": "Aceptar",
|
"ButtonAccept": "Aceptar",
|
||||||
"ButtonAdd": "Agregar",
|
"ButtonAdd": "Agregar",
|
||||||
"ButtonAddMediaLibrary": "Agregar biblioteca de medios",
|
"ButtonAddMediaLibrary": "Agregar biblioteca de medios",
|
||||||
|
@ -308,12 +308,11 @@
|
||||||
"DeviceLastUsedByUserName": "Usado ultima vez por {0}",
|
"DeviceLastUsedByUserName": "Usado ultima vez por {0}",
|
||||||
"DirectPlayError": "Error en la reproducción directa",
|
"DirectPlayError": "Error en la reproducción directa",
|
||||||
"DirectPlaying": "Reproducción directa",
|
"DirectPlaying": "Reproducción directa",
|
||||||
"DirectStreamHelp1": "El medio es compatible con el dispositivo respecto a la resolución y el tipo de medio (H.264, AC3, etc.), pero esta en un contenedor incompatible (.mkv, .avi, .wmv, etc.). El video va a ser re-empaquetado en el momento que sea transmitido al dispositivo.",
|
"DirectStreamHelp1": "El medio es compatible con el dispositivo en cuanto a la resolución y tipo de medio (H.264, AC3, etc.), pero está en un contenedor de archivo incompatible (mkv, avi, wmv, etc.). El video sera reempaquetado en el acto antes de transmitirlo al dispositivo.",
|
||||||
"DirectStreamHelp2": "Transmitir directamente un archivo usa muy poco procesamiento, esto sin perdida en la calidad de video.",
|
"DirectStreamHelp2": "Transmitir directamente un archivo usa muy poco procesamiento, esto sin perdida en la calidad de video.",
|
||||||
"DirectStreaming": "Transmisión en directo",
|
"DirectStreaming": "Transmisión en directo",
|
||||||
"Director": "Director",
|
"Director": "Director",
|
||||||
"DirectorValue": "Director: {0}",
|
"Directors": "Directores",
|
||||||
"DirectorsValue": "Directores: {0}",
|
|
||||||
"Disabled": "Deshabilitado",
|
"Disabled": "Deshabilitado",
|
||||||
"Disc": "Disco",
|
"Disc": "Disco",
|
||||||
"Disconnect": "Desconectar",
|
"Disconnect": "Desconectar",
|
||||||
|
@ -321,7 +320,7 @@
|
||||||
"DisplayInMyMedia": "Mostrar en pantalla principal",
|
"DisplayInMyMedia": "Mostrar en pantalla principal",
|
||||||
"DisplayInOtherHomeScreenSections": "Mostrar en las secciones de la pantalla principal, como últimos medios y continuar viendo",
|
"DisplayInOtherHomeScreenSections": "Mostrar en las secciones de la pantalla principal, como últimos medios y continuar viendo",
|
||||||
"DisplayMissingEpisodesWithinSeasons": "Mostrar episodios faltantes entre temporadas",
|
"DisplayMissingEpisodesWithinSeasons": "Mostrar episodios faltantes entre temporadas",
|
||||||
"DisplayMissingEpisodesWithinSeasonsHelp": "Esto debe ser habilitado en las bibilotecas de TV, en la configuracion del servidor de Jellyfin.",
|
"DisplayMissingEpisodesWithinSeasonsHelp": "Esto también debe estar habilitado para las bibliotecas de TV en la configuración del servidor.",
|
||||||
"DisplayModeHelp": "Selecciona el tipo de pantalla en el cual estas usando Jellyfin.",
|
"DisplayModeHelp": "Selecciona el tipo de pantalla en el cual estas usando Jellyfin.",
|
||||||
"DoNotRecord": "No grabar",
|
"DoNotRecord": "No grabar",
|
||||||
"Down": "Abajo",
|
"Down": "Abajo",
|
||||||
|
@ -345,7 +344,7 @@
|
||||||
"EnableBackdropsHelp": "Si esta habilitado, los fondos van a ser mostrados en segundo plano de algunas paginas mientras estas en la biblioteca.",
|
"EnableBackdropsHelp": "Si esta habilitado, los fondos van a ser mostrados en segundo plano de algunas paginas mientras estas en la biblioteca.",
|
||||||
"EnableCinemaMode": "Habilitar modo Cine",
|
"EnableCinemaMode": "Habilitar modo Cine",
|
||||||
"EnableColorCodedBackgrounds": "Habilitar colores en el fondo del codigo",
|
"EnableColorCodedBackgrounds": "Habilitar colores en el fondo del codigo",
|
||||||
"AuthProviderHelp": "Selecciona un Proveedor de Autenticación para autenticar la contraseña de este usuario",
|
"AuthProviderHelp": "Seleccione un proveedor de autenticación que se utilizará para autenticar la contraseña de este usuario.",
|
||||||
"CriticRating": "Calificación de la crítica",
|
"CriticRating": "Calificación de la crítica",
|
||||||
"DefaultSubtitlesHelp": "Los subtítulos se cargan en base a los indicadores por defecto y los indicadores forzados en los metadatos embebidos. Las preferencias de idioma son consideradas cuando existe más de una opción.",
|
"DefaultSubtitlesHelp": "Los subtítulos se cargan en base a los indicadores por defecto y los indicadores forzados en los metadatos embebidos. Las preferencias de idioma son consideradas cuando existe más de una opción.",
|
||||||
"Dislike": "No me gusta",
|
"Dislike": "No me gusta",
|
||||||
|
@ -398,8 +397,7 @@
|
||||||
"Friday": "Viernes",
|
"Friday": "Viernes",
|
||||||
"Fullscreen": "Pantalla Completa",
|
"Fullscreen": "Pantalla Completa",
|
||||||
"General": "General",
|
"General": "General",
|
||||||
"GenreValue": "Género: {0}",
|
"Genre": "Género",
|
||||||
"GenresValue": "Géneros: {0}",
|
|
||||||
"GroupBySeries": "Agrupar por Serie",
|
"GroupBySeries": "Agrupar por Serie",
|
||||||
"GroupVersions": "Agrupar versiones",
|
"GroupVersions": "Agrupar versiones",
|
||||||
"GuestStar": "Estrella invitada",
|
"GuestStar": "Estrella invitada",
|
||||||
|
@ -411,5 +409,13 @@
|
||||||
"HeaderFavoriteEpisodes": "Episodios favoritos",
|
"HeaderFavoriteEpisodes": "Episodios favoritos",
|
||||||
"HeaderFavoriteArtists": "Artistas favoritos",
|
"HeaderFavoriteArtists": "Artistas favoritos",
|
||||||
"HeaderFavoriteAlbums": "Álbumes favoritos",
|
"HeaderFavoriteAlbums": "Álbumes favoritos",
|
||||||
"Shows": "Series"
|
"Shows": "Series",
|
||||||
|
"CopyStreamURLError": "Hubo un error copiando la URL.",
|
||||||
|
"CopyStreamURLSuccess": "URL copiada con éxito.",
|
||||||
|
"CopyStreamURL": "Copiar la URL de la transmisión",
|
||||||
|
"ButtonSplit": "Dividir",
|
||||||
|
"ButtonAddImage": "Agregar imagen",
|
||||||
|
"AskAdminToCreateLibrary": "Pregunte al administrador para crear una biblioteca.",
|
||||||
|
"AllowFfmpegThrottlingHelp": "Cuando una transcodificación o conversión avanza demasiado con respecto a la posición actual de la reproducción, se pausara el proceso para consumir menos recursos. esto es mas útil cuando no se hacen búsquedas de tiempo a menudo. Desactive esta opción si experimenta problemas en la reproducción.",
|
||||||
|
"AllowFfmpegThrottling": "Transcodificación Throttle"
|
||||||
}
|
}
|
||||||
|
|
|
@ -179,7 +179,7 @@
|
||||||
"DirectStreamHelp1": "El medio es compatible con el dispositivo en cuanto a la resolución y tipo de medio (H.264, AC3, etc.), pero está en un contenedor de archivo incompatible (mkv, avi, wmv, etc.). El video sera reempaquetado en el acto antes de transmitirlo al dispositivo.",
|
"DirectStreamHelp1": "El medio es compatible con el dispositivo en cuanto a la resolución y tipo de medio (H.264, AC3, etc.), pero está en un contenedor de archivo incompatible (mkv, avi, wmv, etc.). El video sera reempaquetado en el acto antes de transmitirlo al dispositivo.",
|
||||||
"DirectStreamHelp2": "La Transmisión Directa de un archivo usa muy poco poder de procesamiento sin ninguna perdida en la calidad de video.",
|
"DirectStreamHelp2": "La Transmisión Directa de un archivo usa muy poco poder de procesamiento sin ninguna perdida en la calidad de video.",
|
||||||
"DirectStreaming": "Transmisión Directa",
|
"DirectStreaming": "Transmisión Directa",
|
||||||
"DirectorsValue": "Directores: {0}",
|
"Directors": "Directores",
|
||||||
"Disabled": "Desactivado",
|
"Disabled": "Desactivado",
|
||||||
"Disc": "DIsco",
|
"Disc": "DIsco",
|
||||||
"Disconnect": "Desconectar",
|
"Disconnect": "Desconectar",
|
||||||
|
@ -195,7 +195,7 @@
|
||||||
"Download": "Descargar",
|
"Download": "Descargar",
|
||||||
"DownloadsValue": "{0} descargas",
|
"DownloadsValue": "{0} descargas",
|
||||||
"DrmChannelsNotImported": "Los canales con DRM no serán importados.",
|
"DrmChannelsNotImported": "Los canales con DRM no serán importados.",
|
||||||
"DropShadow": "Mostrar sombra",
|
"DropShadow": "Sombra Paralela",
|
||||||
"EasyPasswordHelp": "Su código PIN fácil se utiliza para el acceso sin conexión en los clientes compatibles y también puede utilizarse para acceder fácilmente cuando se está en la misma red.",
|
"EasyPasswordHelp": "Su código PIN fácil se utiliza para el acceso sin conexión en los clientes compatibles y también puede utilizarse para acceder fácilmente cuando se está en la misma red.",
|
||||||
"Edit": "Editar",
|
"Edit": "Editar",
|
||||||
"EditImages": "Editar imágenes",
|
"EditImages": "Editar imágenes",
|
||||||
|
@ -255,9 +255,8 @@
|
||||||
"FormatValue": "Formato: {0}",
|
"FormatValue": "Formato: {0}",
|
||||||
"Friday": "Viernes",
|
"Friday": "Viernes",
|
||||||
"Fullscreen": "Pantalla Completa",
|
"Fullscreen": "Pantalla Completa",
|
||||||
"GenreValue": "Genero: {0}",
|
"Genre": "Genero",
|
||||||
"Genres": "Géneros",
|
"Genres": "Géneros",
|
||||||
"GenresValue": "Géneros: {0}",
|
|
||||||
"GroupBySeries": "Agrupar por series",
|
"GroupBySeries": "Agrupar por series",
|
||||||
"GroupVersions": "Agrupar versiones",
|
"GroupVersions": "Agrupar versiones",
|
||||||
"GuestStar": "Estrella invitada",
|
"GuestStar": "Estrella invitada",
|
||||||
|
@ -782,7 +781,7 @@
|
||||||
"LabelSubtitleDownloaders": "Recolectores de Subtitulos:",
|
"LabelSubtitleDownloaders": "Recolectores de Subtitulos:",
|
||||||
"LabelSubtitleFormatHelp": "Ejemplo: srt",
|
"LabelSubtitleFormatHelp": "Ejemplo: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Modo de subtítulo:",
|
"LabelSubtitlePlaybackMode": "Modo de subtítulo:",
|
||||||
"LabelSubtitles": "Subtítulos:",
|
"LabelSubtitles": "Subtítulos",
|
||||||
"LabelSupportedMediaTypes": "Tipos de Medios Soportados:",
|
"LabelSupportedMediaTypes": "Tipos de Medios Soportados:",
|
||||||
"LabelTVHomeScreen": "Modo de pantalla de TV:",
|
"LabelTVHomeScreen": "Modo de pantalla de TV:",
|
||||||
"LabelTag": "Etiqueta:",
|
"LabelTag": "Etiqueta:",
|
||||||
|
@ -1350,7 +1349,6 @@
|
||||||
"ButtonTrailer": "Trailer",
|
"ButtonTrailer": "Trailer",
|
||||||
"AuthProviderHelp": "Seleccione un proveedor de autenticación que se utilizará para autenticar la contraseña de este usuario.",
|
"AuthProviderHelp": "Seleccione un proveedor de autenticación que se utilizará para autenticar la contraseña de este usuario.",
|
||||||
"Director": "Director",
|
"Director": "Director",
|
||||||
"DirectorValue": "Director: {0}",
|
|
||||||
"Extras": "Extras",
|
"Extras": "Extras",
|
||||||
"General": "General",
|
"General": "General",
|
||||||
"HeaderAdmin": "Administrador",
|
"HeaderAdmin": "Administrador",
|
||||||
|
@ -1367,7 +1365,7 @@
|
||||||
"HeaderRestartingServer": "Reiniciando servidor",
|
"HeaderRestartingServer": "Reiniciando servidor",
|
||||||
"HeaderVideos": "Videos",
|
"HeaderVideos": "Videos",
|
||||||
"Horizontal": "Horizontal",
|
"Horizontal": "Horizontal",
|
||||||
"LabelAudio": "Audio:",
|
"LabelAudio": "Audio",
|
||||||
"LabelAuthProvider": "Proveedor de autenticación:",
|
"LabelAuthProvider": "Proveedor de autenticación:",
|
||||||
"LabelDynamicExternalId": "{0} Id:",
|
"LabelDynamicExternalId": "{0} Id:",
|
||||||
"LabelPasswordResetProvider": "Proveedor de restablecimiento de contraseña:",
|
"LabelPasswordResetProvider": "Proveedor de restablecimiento de contraseña:",
|
||||||
|
@ -1380,7 +1378,7 @@
|
||||||
"DashboardServerName": "Servidor: {0}",
|
"DashboardServerName": "Servidor: {0}",
|
||||||
"DashboardOperatingSystem": "Sistema operativo: {0}",
|
"DashboardOperatingSystem": "Sistema operativo: {0}",
|
||||||
"DashboardArchitecture": "Arquitectura: {0}",
|
"DashboardArchitecture": "Arquitectura: {0}",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"LabelWeb": "Web: ",
|
"LabelWeb": "Web: ",
|
||||||
"LaunchWebAppOnStartup": "Iniciar la interfaz web al iniciar el servidor",
|
"LaunchWebAppOnStartup": "Iniciar la interfaz web al iniciar el servidor",
|
||||||
"LaunchWebAppOnStartupHelp": "Abre el cliente web en su navegador web predeterminado cuando se inicia el servidor. Esto no ocurrirá cuando se utilice la función de reinicio del servidor.",
|
"LaunchWebAppOnStartupHelp": "Abre el cliente web en su navegador web predeterminado cuando se inicia el servidor. Esto no ocurrirá cuando se utilice la función de reinicio del servidor.",
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"AddToCollection": "Añadir a la colección",
|
"AddToCollection": "Añadir a la colección",
|
||||||
"AddToPlaylist": "Añadir a la lista de reproducción",
|
"AddToPlaylist": "Añadir a la lista de reproducción",
|
||||||
"AddedOnValue": "Añadido {0}",
|
"AddedOnValue": "Añadido {0}",
|
||||||
"AdditionalNotificationServices": "Visite el catálogo de complementos para instalar servicios de notificación adicionales.",
|
"AdditionalNotificationServices": "Visite el catálogo de extensiones para instalar servicios de notificación adicionales.",
|
||||||
"Albums": "Álbumes",
|
"Albums": "Álbumes",
|
||||||
"Alerts": "Alertas",
|
"Alerts": "Alertas",
|
||||||
"All": "Todo",
|
"All": "Todo",
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
"Box": "Caja",
|
"Box": "Caja",
|
||||||
"BoxRear": "Caja (trasera)",
|
"BoxRear": "Caja (trasera)",
|
||||||
"Browse": "Explorar",
|
"Browse": "Explorar",
|
||||||
"BrowsePluginCatalogMessage": "Navegar el catalogo de complementos para ver los complementos disponibles.",
|
"BrowsePluginCatalogMessage": "Explore el catálogo de extensiones para ver las extensiones disponibles.",
|
||||||
"ButtonAdd": "Añadir",
|
"ButtonAdd": "Añadir",
|
||||||
"ButtonAddMediaLibrary": "Añadir biblioteca de medios",
|
"ButtonAddMediaLibrary": "Añadir biblioteca de medios",
|
||||||
"ButtonAddScheduledTaskTrigger": "Agregar Activador",
|
"ButtonAddScheduledTaskTrigger": "Agregar Activador",
|
||||||
|
@ -818,16 +818,16 @@
|
||||||
"MessageItemSaved": "Elemento grabado.",
|
"MessageItemSaved": "Elemento grabado.",
|
||||||
"MessageItemsAdded": "Ítems añadidos.",
|
"MessageItemsAdded": "Ítems añadidos.",
|
||||||
"MessageLeaveEmptyToInherit": "Dejar en blanco para heredar la configuración del elemento padre, o el valor global por defecto.",
|
"MessageLeaveEmptyToInherit": "Dejar en blanco para heredar la configuración del elemento padre, o el valor global por defecto.",
|
||||||
"MessageNoAvailablePlugins": "No hay complementos disponibles.",
|
"MessageNoAvailablePlugins": "No hay extensiones disponibles.",
|
||||||
"MessageNoMovieSuggestionsAvailable": "No hay sugerencias de películas disponibles. Comience ver y calificar sus películas y vuelva para ver las recomendaciones.",
|
"MessageNoMovieSuggestionsAvailable": "No hay sugerencias de películas disponibles. Comience ver y calificar sus películas y vuelva para ver las recomendaciones.",
|
||||||
"MessageNoPluginsInstalled": "No tiene complementos instalados.",
|
"MessageNoPluginsInstalled": "No hay extensiones instaladas.",
|
||||||
"MessageNoTrailersFound": "No se han encontrado tráilers. Instala el canal de tráilers para mejorar su experiencia añadiendo una biblioteca de tráilers por internet.",
|
"MessageNoTrailersFound": "No se han encontrado tráilers. Instala el canal de tráilers para mejorar su experiencia añadiendo una biblioteca de tráilers por internet.",
|
||||||
"MessageNothingHere": "Nada aquí.",
|
"MessageNothingHere": "Nada aquí.",
|
||||||
"MessagePasswordResetForUsers": "Se ha restablecido las contraseñas a los siguientes usuarios. Ahora pueden iniciar sesión con los códigos PIN que usaron para el restablecimiento.",
|
"MessagePasswordResetForUsers": "Se ha restablecido las contraseñas a los siguientes usuarios. Ahora pueden iniciar sesión con los códigos PIN que usaron para el restablecimiento.",
|
||||||
"MessagePleaseEnsureInternetMetadata": "Asegúrate de que la descarga de etiquetas desde internet está activada.",
|
"MessagePleaseEnsureInternetMetadata": "Asegúrate de que la descarga de etiquetas desde internet está activada.",
|
||||||
"MessagePleaseWait": "Por favor, espere.",
|
"MessagePleaseWait": "Por favor, espere.",
|
||||||
"MessagePluginConfigurationRequiresLocalAccess": "Para configurar este complemento inicia sesión en tu servidor local directamente.",
|
"MessagePluginConfigurationRequiresLocalAccess": "Para configurar este complemento inicia sesión en tu servidor local directamente.",
|
||||||
"MessagePluginInstallDisclaimer": "Los complementos creados por los miembros de la comunidad de Jellyfin son una buena forma de mejorar tu experiencia Jellyfin con características adicionales y otros beneficios. Antes de instalarlos considera los efectos que pueden tener en tu servidor Jellyfin, como escaneos de la biblioteca más largos, procesado en segundo plano adicional y una reducción de la estabilidad del sistema.",
|
"MessagePluginInstallDisclaimer": "Las extensiones creadas por los miembros de la comunidad de Jellyfin son una buena forma de mejorar tu experiencia con características adicionales y otros beneficios. Antes de instalarlos considera los efectos que pueden tener en tu servidor Jellyfin, como escaneos de la biblioteca más largos, procesado en segundo plano adicional y una reducción de la estabilidad del sistema.",
|
||||||
"MessageReenableUser": "Mira abajo para reactivarlo",
|
"MessageReenableUser": "Mira abajo para reactivarlo",
|
||||||
"MessageSettingsSaved": "Ajustes guardados.",
|
"MessageSettingsSaved": "Ajustes guardados.",
|
||||||
"MessageTheFollowingLocationWillBeRemovedFromLibrary": "Se eliminarán las siguientes ubicaciones de medios de tu biblioteca:",
|
"MessageTheFollowingLocationWillBeRemovedFromLibrary": "Se eliminarán las siguientes ubicaciones de medios de tu biblioteca:",
|
||||||
|
@ -1138,7 +1138,7 @@
|
||||||
"TabMovies": "Películas",
|
"TabMovies": "Películas",
|
||||||
"TabMusic": "Música",
|
"TabMusic": "Música",
|
||||||
"TabMusicVideos": "Videos musicales",
|
"TabMusicVideos": "Videos musicales",
|
||||||
"TabMyPlugins": "Mis complementos",
|
"TabMyPlugins": "Mis extensiones",
|
||||||
"TabNetworks": "Cadenas",
|
"TabNetworks": "Cadenas",
|
||||||
"TabNfoSettings": "Ajustes de NFO",
|
"TabNfoSettings": "Ajustes de NFO",
|
||||||
"TabNotifications": "Notificaciones",
|
"TabNotifications": "Notificaciones",
|
||||||
|
@ -1248,9 +1248,8 @@
|
||||||
"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 ninguna pérdida de calidad en el vídeo.",
|
||||||
"Director": "Dirección de",
|
"Director": "Director",
|
||||||
"DirectorValue": "Dirección de: {0}",
|
"Directors": "Directores",
|
||||||
"DirectorsValue": "Directores: {0}",
|
|
||||||
"Display": "Mostrar",
|
"Display": "Mostrar",
|
||||||
"DisplayInMyMedia": "Mostrar en la pantalla de inicio",
|
"DisplayInMyMedia": "Mostrar en la pantalla de inicio",
|
||||||
"DisplayInOtherHomeScreenSections": "Mostrar en las secciones de la pantalla de inicio al igual que \"últimos\" y \"continuar viendo\"",
|
"DisplayInOtherHomeScreenSections": "Mostrar en las secciones de la pantalla de inicio al igual que \"últimos\" y \"continuar viendo\"",
|
||||||
|
@ -1272,8 +1271,7 @@
|
||||||
"Filters": "Filtros",
|
"Filters": "Filtros",
|
||||||
"Folders": "Carpetas",
|
"Folders": "Carpetas",
|
||||||
"General": "General",
|
"General": "General",
|
||||||
"GenreValue": "Género: {0}",
|
"Genre": "Género",
|
||||||
"GenresValue": "Géneros: {0}",
|
|
||||||
"GroupBySeries": "Agrupar por series",
|
"GroupBySeries": "Agrupar por series",
|
||||||
"GuideProviderLogin": "Credenciales",
|
"GuideProviderLogin": "Credenciales",
|
||||||
"HeaderAlbumArtists": "Artistas del álbum",
|
"HeaderAlbumArtists": "Artistas del álbum",
|
||||||
|
@ -1290,7 +1288,7 @@
|
||||||
"HeaderVideoType": "Tipo de vídeo",
|
"HeaderVideoType": "Tipo de vídeo",
|
||||||
"Home": "Inicio",
|
"Home": "Inicio",
|
||||||
"Horizontal": "Horizontal",
|
"Horizontal": "Horizontal",
|
||||||
"LabelAudio": "Audio:",
|
"LabelAudio": "Audio",
|
||||||
"LabelBurnSubtitles": "Incrustar subtítulos:",
|
"LabelBurnSubtitles": "Incrustar subtítulos:",
|
||||||
"LabelDashboardTheme": "Tema para la interfaz del servidor:",
|
"LabelDashboardTheme": "Tema para la interfaz del servidor:",
|
||||||
"LabelDateTimeLocale": "Fecha y hora local:",
|
"LabelDateTimeLocale": "Fecha y hora local:",
|
||||||
|
@ -1308,10 +1306,10 @@
|
||||||
"LabelSortBy": "Ordenar por:",
|
"LabelSortBy": "Ordenar por:",
|
||||||
"LabelSortOrder": "Orden:",
|
"LabelSortOrder": "Orden:",
|
||||||
"LabelSoundEffects": "Efectos de sonido:",
|
"LabelSoundEffects": "Efectos de sonido:",
|
||||||
"LabelSubtitles": "Subtítulos:",
|
"LabelSubtitles": "Subtítulos",
|
||||||
"LabelTVHomeScreen": "Modo televisión en pantalla de inicio:",
|
"LabelTVHomeScreen": "Modo televisión en pantalla de inicio:",
|
||||||
"LabelVersion": "Versión:",
|
"LabelVersion": "Versión:",
|
||||||
"LabelVideo": "Vídeo:",
|
"LabelVideo": "Vídeo",
|
||||||
"LabelXDlnaCap": "X-DNLA cap:",
|
"LabelXDlnaCap": "X-DNLA cap:",
|
||||||
"LabelXDlnaDoc": "X-DLNA doc:",
|
"LabelXDlnaDoc": "X-DLNA doc:",
|
||||||
"LearnHowYouCanContribute": "Descubre cómo puedes contribuir.",
|
"LearnHowYouCanContribute": "Descubre cómo puedes contribuir.",
|
||||||
|
@ -1418,7 +1416,7 @@
|
||||||
"TV": "Televisión",
|
"TV": "Televisión",
|
||||||
"TabInfo": "Info",
|
"TabInfo": "Info",
|
||||||
"TabLogs": "Registros",
|
"TabLogs": "Registros",
|
||||||
"TabPlugins": "Complementos",
|
"TabPlugins": "Extensiones",
|
||||||
"TabSeries": "Series",
|
"TabSeries": "Series",
|
||||||
"TabTrailers": "Tráilers",
|
"TabTrailers": "Tráilers",
|
||||||
"TagsValue": "Etiquetas: {0}",
|
"TagsValue": "Etiquetas: {0}",
|
||||||
|
|
|
@ -139,5 +139,8 @@
|
||||||
"AllLanguages": "تمام زبان ها",
|
"AllLanguages": "تمام زبان ها",
|
||||||
"AllLibraries": "تمام کتابخانه ها",
|
"AllLibraries": "تمام کتابخانه ها",
|
||||||
"AllowHWTranscodingHelp": "اگر فعال شود, اجازه میدهید تبدیل ( کم و زیاد کردن کیفیت ) درلحظه و توسط کارت دریافت سیگنال صورت گیرد. این کمک میکند به اینکه سرور جلیفین کمتر عمل تبدیل را انجام دهد.",
|
"AllowHWTranscodingHelp": "اگر فعال شود, اجازه میدهید تبدیل ( کم و زیاد کردن کیفیت ) درلحظه و توسط کارت دریافت سیگنال صورت گیرد. این کمک میکند به اینکه سرور جلیفین کمتر عمل تبدیل را انجام دهد.",
|
||||||
"AllowOnTheFlySubtitleExtraction": "اجازه میدهد در لحظه زیرنویس بازشود"
|
"AllowOnTheFlySubtitleExtraction": "اجازه میدهد در لحظه زیرنویس بازشود",
|
||||||
|
"Add": "افزودن",
|
||||||
|
"Actor": "بازیگر",
|
||||||
|
"AccessRestrictedTryAgainLater": "دسترسی در حال حاضر محدود شده است. لطفا دوباره تلاش کنید."
|
||||||
}
|
}
|
||||||
|
|
|
@ -240,8 +240,7 @@
|
||||||
"DirectStreamHelp2": "Tiedoston suoraan toistaminen käyttää erittäin vähän prosessorin resursseja ilman laadun heikentämistä.",
|
"DirectStreamHelp2": "Tiedoston suoraan toistaminen käyttää erittäin vähän prosessorin resursseja ilman laadun heikentämistä.",
|
||||||
"DirectStreaming": "Suora suoratoisto",
|
"DirectStreaming": "Suora suoratoisto",
|
||||||
"Director": "Ohjaaja",
|
"Director": "Ohjaaja",
|
||||||
"DirectorValue": "Ohjaaja: {0}",
|
"Directors": "Ohjaajat",
|
||||||
"DirectorsValue": "Ohjaajat: {0}",
|
|
||||||
"Disabled": "Pois päältä kytkettynä",
|
"Disabled": "Pois päältä kytkettynä",
|
||||||
"Disc": "Levy",
|
"Disc": "Levy",
|
||||||
"Disconnect": "Katkaise yhteys",
|
"Disconnect": "Katkaise yhteys",
|
||||||
|
@ -257,7 +256,7 @@
|
||||||
"DownloadsValue": "{0} latausta",
|
"DownloadsValue": "{0} latausta",
|
||||||
"DrmChannelsNotImported": "Kanavia joissa on tekijänoikeusesto-ohjelmia, ei ladata.",
|
"DrmChannelsNotImported": "Kanavia joissa on tekijänoikeusesto-ohjelmia, ei ladata.",
|
||||||
"DropShadow": "Tiputa varjo",
|
"DropShadow": "Tiputa varjo",
|
||||||
"EasyPasswordHelp": "Sinun helppoa PIN-koodia käytetään offline-käytössä tuetuissa Jellyfin-sovelluksissa, ja voidaan myös nopeuttaa verkkoon kirjautumista.",
|
"EasyPasswordHelp": "Sinun helppoa PIN-koodia käytetään offline-käytössä tuetuissa Jellyfin-sovelluksissa, ja voi myös nopeuttaa lan yhteyden kautta kirjautumista.",
|
||||||
"Edit": "Muokkaa",
|
"Edit": "Muokkaa",
|
||||||
"EditImages": "Muokkaa kuvia",
|
"EditImages": "Muokkaa kuvia",
|
||||||
"EditMetadata": "Muokkaa metadataa",
|
"EditMetadata": "Muokkaa metadataa",
|
||||||
|
@ -305,5 +304,20 @@
|
||||||
"EnableDisplayMirroring": "Näytön peilaus",
|
"EnableDisplayMirroring": "Näytön peilaus",
|
||||||
"EnableColorCodedBackgrounds": "Väri-koodatut taustat",
|
"EnableColorCodedBackgrounds": "Väri-koodatut taustat",
|
||||||
"EnableCinemaMode": "Teatteri-tila",
|
"EnableCinemaMode": "Teatteri-tila",
|
||||||
"EnableBackdropsHelp": "Näytä taustat tietyillä sivuilla selatessasi kirjastoa."
|
"EnableBackdropsHelp": "Näytä taustat tietyillä sivuilla selatessasi kirjastoa.",
|
||||||
|
"EnableExternalVideoPlayersHelp": "Videota soitettaessa näytetään erillinen valikko.",
|
||||||
|
"Depressed": "Painettu",
|
||||||
|
"CopyStreamURLError": "Verkko-osoitteen kopioinnissa tapahtui virhe.",
|
||||||
|
"ButtonSplit": "jaa",
|
||||||
|
"AskAdminToCreateLibrary": "Pyydä järjestelmän ylläpitäjää luomaan kirjasto.",
|
||||||
|
"EnableStreamLooping": "Auto-toista suoralähetykset",
|
||||||
|
"EnableNextVideoInfoOverlayHelp": "Videon lopussa, näytä soittolistassa seuraavaksi toistettavan videon tiedot.",
|
||||||
|
"ClientSettings": "Pääte-asetukset",
|
||||||
|
"AllowFfmpegThrottlingHelp": "Kun uudelleenkoodaus tai remux ehtii tarpeeksi toiston edelle, keskeytä laskenta jotta laskentaresursseja kuluu vähemmän. Tämä on hyödyllistä jos katselet hyppimättä eri kohtiin. Älä käytä jos toiston kanssa ilmenee ongelmia.",
|
||||||
|
"AllowFfmpegThrottling": "Rajoita uudelleenkoodaus",
|
||||||
|
"ErrorDeletingItem": "Tiedostoa poistaessa Jellyfin Palvelimelta ilmeni virhe. Varmista, että Jellyfin Palvelimella on kirjoitusoikeudet mediakansioon ja kokeile uudestaan.",
|
||||||
|
"ErrorAddingXmlTvFile": "XMLTV-tiedostoa käyttäessä tapahtui virhe. Varmista, että tiedosto on olemassa ja kokeile uudestaan.",
|
||||||
|
"ErrorAddingTunerDevice": "Viritintä lisätessä ilmeni ongelma. Varmista, että se on kytketty oikein ja kokeile uudestaan.",
|
||||||
|
"EnableThemeVideosHelp": "Soita tunnusvideoita taustalla, selatessasi kirjastoa.",
|
||||||
|
"EnableThemeVideos": "Teeman videot"
|
||||||
}
|
}
|
||||||
|
|
|
@ -175,9 +175,8 @@
|
||||||
"DirectStreamHelp1": "Le média est compatible avec l'appareil en ce qui concerne la résolution et le type de média (H.264, AC3, etc), mais se trouve dans un conteneur de fichiers incompatible (mkv, avi, wmv, etc). La vidéo sera rempaquetée à la volée avant d'être diffusée à l'appareil.",
|
"DirectStreamHelp1": "Le média est compatible avec l'appareil en ce qui concerne la résolution et le type de média (H.264, AC3, etc), mais se trouve dans un conteneur de fichiers incompatible (mkv, avi, wmv, etc). La vidéo sera rempaquetée à la volée avant d'être diffusée à l'appareil.",
|
||||||
"DirectStreamHelp2": "Le streaming en direct d'un fichier utilise très peu de puissance de traitement sans perte de qualité vidéo.",
|
"DirectStreamHelp2": "Le streaming en direct d'un fichier utilise très peu de puissance de traitement sans perte de qualité vidéo.",
|
||||||
"DirectStreaming": "Streaming direct",
|
"DirectStreaming": "Streaming direct",
|
||||||
"Director": "Réalisation",
|
"Director": "Réalisateur(trice)",
|
||||||
"DirectorValue": "Réalisation : {0}",
|
"Directors": "Réalisateurs",
|
||||||
"DirectorsValue": "Réalisation : {0}",
|
|
||||||
"Disabled": "Désactivé",
|
"Disabled": "Désactivé",
|
||||||
"Disc": "Disque",
|
"Disc": "Disque",
|
||||||
"Disconnect": "Déconnecter",
|
"Disconnect": "Déconnecter",
|
||||||
|
@ -777,7 +776,7 @@
|
||||||
"LabelSubtitleDownloaders": "Outils de téléchargement de sous-titres :",
|
"LabelSubtitleDownloaders": "Outils de téléchargement de sous-titres :",
|
||||||
"LabelSubtitleFormatHelp": "Exemple : srt",
|
"LabelSubtitleFormatHelp": "Exemple : srt",
|
||||||
"LabelSubtitlePlaybackMode": "Mode des sous-titres :",
|
"LabelSubtitlePlaybackMode": "Mode des sous-titres :",
|
||||||
"LabelSubtitles": "Sous-titres :",
|
"LabelSubtitles": "Sous-titres",
|
||||||
"LabelSupportedMediaTypes": "Types de médias supportés :",
|
"LabelSupportedMediaTypes": "Types de médias supportés :",
|
||||||
"LabelTVHomeScreen": "Écran d'accueil du mode TV :",
|
"LabelTVHomeScreen": "Écran d'accueil du mode TV :",
|
||||||
"LabelTag": "Étiquette :",
|
"LabelTag": "Étiquette :",
|
||||||
|
@ -814,7 +813,7 @@
|
||||||
"LabelValue": "Valeur :",
|
"LabelValue": "Valeur :",
|
||||||
"LabelVersion": "Version :",
|
"LabelVersion": "Version :",
|
||||||
"LabelVersionInstalled": "{0} installé(s)",
|
"LabelVersionInstalled": "{0} installé(s)",
|
||||||
"LabelVideo": "Vidéo :",
|
"LabelVideo": "Vidéo",
|
||||||
"LabelXDlnaCap": "Cap X-DLNA :",
|
"LabelXDlnaCap": "Cap X-DLNA :",
|
||||||
"LabelXDlnaCapHelp": "Détermine le contenu de l'élément X_DLNACAP dans l'espace de nom urn:schemas-dlna-org:device-1-0.",
|
"LabelXDlnaCapHelp": "Détermine le contenu de l'élément X_DLNACAP dans l'espace de nom urn:schemas-dlna-org:device-1-0.",
|
||||||
"LabelXDlnaDoc": "Doc X-DLNA :",
|
"LabelXDlnaDoc": "Doc X-DLNA :",
|
||||||
|
@ -1100,7 +1099,7 @@
|
||||||
"PlayAllFromHere": "Tout lire à partir d'ici",
|
"PlayAllFromHere": "Tout lire à partir d'ici",
|
||||||
"PlayCount": "Nombre de lectures",
|
"PlayCount": "Nombre de lectures",
|
||||||
"PlayFromBeginning": "Lire depuis le début",
|
"PlayFromBeginning": "Lire depuis le début",
|
||||||
"PlayNext": "Lire le suivant",
|
"PlayNext": "Lire ensuite",
|
||||||
"PlayNextEpisodeAutomatically": "Lancer l'épisode suivant automatiquement",
|
"PlayNextEpisodeAutomatically": "Lancer l'épisode suivant automatiquement",
|
||||||
"Played": "Lu",
|
"Played": "Lu",
|
||||||
"Playlists": "Listes de lecture",
|
"Playlists": "Listes de lecture",
|
||||||
|
@ -1329,9 +1328,8 @@
|
||||||
"ButtonPause": "Pause",
|
"ButtonPause": "Pause",
|
||||||
"Collections": "Collections",
|
"Collections": "Collections",
|
||||||
"Extras": "Extras",
|
"Extras": "Extras",
|
||||||
"GenreValue": "Genre: {0}",
|
"Genre": "Genre",
|
||||||
"Genres": "Genres",
|
"Genres": "Genres",
|
||||||
"GenresValue": "Genres: {0}",
|
|
||||||
"Guide": "Guide",
|
"Guide": "Guide",
|
||||||
"GuestStar": "Guest star",
|
"GuestStar": "Guest star",
|
||||||
"Photos": "Photos",
|
"Photos": "Photos",
|
||||||
|
@ -1341,7 +1339,7 @@
|
||||||
"HeaderTuners": "Égaliseur",
|
"HeaderTuners": "Égaliseur",
|
||||||
"Horizontal": "Horizontal",
|
"Horizontal": "Horizontal",
|
||||||
"Images": "Images",
|
"Images": "Images",
|
||||||
"LabelAudio": "Audio :",
|
"LabelAudio": "Audio",
|
||||||
"LabelVersionNumber": "Version {0}",
|
"LabelVersionNumber": "Version {0}",
|
||||||
"LeaveBlankToNotSetAPassword": "Laissez vide pour ne pas définir de mot de passe.",
|
"LeaveBlankToNotSetAPassword": "Laissez vide pour ne pas définir de mot de passe.",
|
||||||
"Logo": "Logo",
|
"Logo": "Logo",
|
||||||
|
@ -1470,5 +1468,7 @@
|
||||||
"AllowFfmpegThrottlingHelp": "Quand le transcodage ou le remultiplexage est suffisamment loin de la position de lecture, le processus se mettra en pause afin d’économiser des ressources. Plus utile lors d’une lecture continue. À désactiver en cas de problèmes de lecture.",
|
"AllowFfmpegThrottlingHelp": "Quand le transcodage ou le remultiplexage est suffisamment loin de la position de lecture, le processus se mettra en pause afin d’économiser des ressources. Plus utile lors d’une lecture continue. À désactiver en cas de problèmes de lecture.",
|
||||||
"AllowFfmpegThrottling": "Adapter la Vitesse du Transcodage",
|
"AllowFfmpegThrottling": "Adapter la Vitesse du Transcodage",
|
||||||
"NoCreatedLibraries": "Il semblerait que vous n'ayez créé aucune librairie. {0}Voulez-vous en créer une maintenant ?{1}",
|
"NoCreatedLibraries": "Il semblerait que vous n'ayez créé aucune librairie. {0}Voulez-vous en créer une maintenant ?{1}",
|
||||||
"PlaybackErrorNoCompatibleStream": "Problème de profil client, le serveur n’a pas pu envoyer un format média compatible."
|
"PlaybackErrorNoCompatibleStream": "Problème de profil client, le serveur n’a pas pu envoyer un format média compatible.",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNames": "Préférer les informations intégrées aux noms de fichiers",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Utilise les informations des métadonnées intégrées, si disponible."
|
||||||
}
|
}
|
||||||
|
|
|
@ -164,5 +164,8 @@
|
||||||
"Songs": "Lieder",
|
"Songs": "Lieder",
|
||||||
"Sync": "Synchronisation",
|
"Sync": "Synchronisation",
|
||||||
"ValueSpecialEpisodeName": "Extra - {0}",
|
"ValueSpecialEpisodeName": "Extra - {0}",
|
||||||
"VersionNumber": "Version {0}"
|
"VersionNumber": "Version {0}",
|
||||||
|
"Absolute": "Absolut",
|
||||||
|
"Actor": "Schauspiler",
|
||||||
|
"AccessRestrictedTryAgainLater": "Zuegriff isch momentan beschränkt. Probier bitte später nomau. "
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,6 @@
|
||||||
"DeleteImageConfirmation": "האם אתה בטוח שברצונך למחוק תמונה זו?",
|
"DeleteImageConfirmation": "האם אתה בטוח שברצונך למחוק תמונה זו?",
|
||||||
"DeleteMedia": "מחק מדיה",
|
"DeleteMedia": "מחק מדיה",
|
||||||
"DeleteUser": "מחק משתמש",
|
"DeleteUser": "מחק משתמש",
|
||||||
"Director": "מנהל",
|
|
||||||
"Dislike": "לא אוהב",
|
"Dislike": "לא אוהב",
|
||||||
"DoNotRecord": "אל תקליט",
|
"DoNotRecord": "אל תקליט",
|
||||||
"Download": "הורדה",
|
"Download": "הורדה",
|
||||||
|
@ -557,8 +556,8 @@
|
||||||
"DisplayMissingEpisodesWithinSeasons": "הצג פרקים חסרים בתוך העונות",
|
"DisplayMissingEpisodesWithinSeasons": "הצג פרקים חסרים בתוך העונות",
|
||||||
"DisplayInMyMedia": "הצג בעמוד הבית",
|
"DisplayInMyMedia": "הצג בעמוד הבית",
|
||||||
"Disconnect": "התנתק",
|
"Disconnect": "התנתק",
|
||||||
"DirectorsValue": "במאים: {0}",
|
"Director": "במאי",
|
||||||
"DirectorValue": "במאי: {0}",
|
"Directors": "במאים",
|
||||||
"Descending": "סדר יורד",
|
"Descending": "סדר יורד",
|
||||||
"Default": "ברירת מחדל",
|
"Default": "ברירת מחדל",
|
||||||
"DeathDateValue": "נפטר: {0}",
|
"DeathDateValue": "נפטר: {0}",
|
||||||
|
@ -667,8 +666,7 @@
|
||||||
"HeaderAddScheduledTaskTrigger": "הוסף טריגר",
|
"HeaderAddScheduledTaskTrigger": "הוסף טריגר",
|
||||||
"HeaderActivity": "פעילות",
|
"HeaderActivity": "פעילות",
|
||||||
"Guide": "מדריך",
|
"Guide": "מדריך",
|
||||||
"GenresValue": "ז'אנרים: {0}",
|
"Genre": "ז'אנר",
|
||||||
"GenreValue": "ז'אנר: {0}",
|
|
||||||
"General": "כללי",
|
"General": "כללי",
|
||||||
"Fullscreen": "מסך מלא",
|
"Fullscreen": "מסך מלא",
|
||||||
"FolderTypeUnset": "תוכן מעורבב",
|
"FolderTypeUnset": "תוכן מעורבב",
|
||||||
|
|
|
@ -32,5 +32,7 @@
|
||||||
"Aired": "प्रसारित हो चुका",
|
"Aired": "प्रसारित हो चुका",
|
||||||
"AdditionalNotificationServices": "अतिरिक्त सूचना सेवाओं को स्थापित करने के लिए प्लगइन सूची पर नज़र डालें।",
|
"AdditionalNotificationServices": "अतिरिक्त सूचना सेवाओं को स्थापित करने के लिए प्लगइन सूची पर नज़र डालें।",
|
||||||
"AddedOnValue": "जोड़ दिया",
|
"AddedOnValue": "जोड़ दिया",
|
||||||
"AddToPlaylist": "प्लेलिस्ट में जोड़ें"
|
"AddToPlaylist": "प्लेलिस्ट में जोड़ें",
|
||||||
|
"AllowMediaConversionHelp": "मीडिया परिवर्तन के लिये अनुमति दें",
|
||||||
|
"AllowMediaConversion": "मीडिया रूपांतरण की अनुमति दें"
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,8 +87,7 @@
|
||||||
"DeleteMedia": "Média törlése",
|
"DeleteMedia": "Média törlése",
|
||||||
"Descending": "Csökkenő",
|
"Descending": "Csökkenő",
|
||||||
"Director": "Rendező",
|
"Director": "Rendező",
|
||||||
"DirectorValue": "Rendező: {0}",
|
"Directors": "Rendezők",
|
||||||
"DirectorsValue": "Rendezők: {0}",
|
|
||||||
"Dislike": "Nem tettszik",
|
"Dislike": "Nem tettszik",
|
||||||
"Display": "Megjelenítés",
|
"Display": "Megjelenítés",
|
||||||
"DisplayMissingEpisodesWithinSeasons": "Hiányzó évad epizódok megjelenítése",
|
"DisplayMissingEpisodesWithinSeasons": "Hiányzó évad epizódok megjelenítése",
|
||||||
|
@ -124,7 +123,6 @@
|
||||||
"Fullscreen": "Teljes képernyő",
|
"Fullscreen": "Teljes képernyő",
|
||||||
"General": "Általános",
|
"General": "Általános",
|
||||||
"Genres": "Műfajok",
|
"Genres": "Műfajok",
|
||||||
"GenresValue": "Műfajok: {0}",
|
|
||||||
"HeaderActiveDevices": "Aktív eszközök",
|
"HeaderActiveDevices": "Aktív eszközök",
|
||||||
"HeaderAddToCollection": "Hozzáadás gyűjteményhez",
|
"HeaderAddToCollection": "Hozzáadás gyűjteményhez",
|
||||||
"HeaderAddToPlaylist": "Hozzáadás lejátszási listához",
|
"HeaderAddToPlaylist": "Hozzáadás lejátszási listához",
|
||||||
|
@ -233,7 +231,7 @@
|
||||||
"LabelAllowServerAutoRestart": "Automatikus újraindítás engedélyezése a szervernek a frissítések telepítéséhez",
|
"LabelAllowServerAutoRestart": "Automatikus újraindítás engedélyezése a szervernek a frissítések telepítéséhez",
|
||||||
"LabelAllowServerAutoRestartHelp": "A szerver csak akkor indul újra ha nincs felhasználói tevékenység.",
|
"LabelAllowServerAutoRestartHelp": "A szerver csak akkor indul újra ha nincs felhasználói tevékenység.",
|
||||||
"LabelArtists": "Előadók:",
|
"LabelArtists": "Előadók:",
|
||||||
"LabelAudio": "Audió:",
|
"LabelAudio": "Audió",
|
||||||
"LabelAudioLanguagePreference": "Audió nyelvének beállítása:",
|
"LabelAudioLanguagePreference": "Audió nyelvének beállítása:",
|
||||||
"LabelBirthYear": "Születési év:",
|
"LabelBirthYear": "Születési év:",
|
||||||
"LabelCachePath": "Gyorsítótár útvonal:",
|
"LabelCachePath": "Gyorsítótár útvonal:",
|
||||||
|
@ -321,7 +319,7 @@
|
||||||
"LabelStopping": "Megállítás",
|
"LabelStopping": "Megállítás",
|
||||||
"LabelSubtitleFormatHelp": "Például: srt",
|
"LabelSubtitleFormatHelp": "Például: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Felirat mód:",
|
"LabelSubtitlePlaybackMode": "Felirat mód:",
|
||||||
"LabelSubtitles": "Feliratok:",
|
"LabelSubtitles": "Feliratok",
|
||||||
"LabelTagline": "Címke:",
|
"LabelTagline": "Címke:",
|
||||||
"LabelTheme": "Kinézet:",
|
"LabelTheme": "Kinézet:",
|
||||||
"LabelTime": "Idő:",
|
"LabelTime": "Idő:",
|
||||||
|
@ -338,7 +336,7 @@
|
||||||
"LabelUsername": "Felhasználónév:",
|
"LabelUsername": "Felhasználónév:",
|
||||||
"LabelVersionInstalled": "{0} telepítve",
|
"LabelVersionInstalled": "{0} telepítve",
|
||||||
"LabelVersionNumber": "Verzió {0}",
|
"LabelVersionNumber": "Verzió {0}",
|
||||||
"LabelVideo": "Videó:",
|
"LabelVideo": "Videó",
|
||||||
"LabelYear": "Év:",
|
"LabelYear": "Év:",
|
||||||
"LabelYourFirstName": "Keresztneved:",
|
"LabelYourFirstName": "Keresztneved:",
|
||||||
"LabelYoureDone": "Készen vagy!",
|
"LabelYoureDone": "Készen vagy!",
|
||||||
|
@ -575,7 +573,7 @@
|
||||||
"Writer": "Író",
|
"Writer": "Író",
|
||||||
"Yesterday": "Tegnap",
|
"Yesterday": "Tegnap",
|
||||||
"FormatValue": "Formátum: {0}",
|
"FormatValue": "Formátum: {0}",
|
||||||
"GenreValue": "Műfaj: {0}",
|
"Genre": "Műfaj",
|
||||||
"HeaderServerSettings": "Szerver beállítások",
|
"HeaderServerSettings": "Szerver beállítások",
|
||||||
"LabelDropImageHere": "Húzz ide egy képet, vagy kattints a böngészéshez.",
|
"LabelDropImageHere": "Húzz ide egy képet, vagy kattints a böngészéshez.",
|
||||||
"LabelDropShadow": "Árnyék:",
|
"LabelDropShadow": "Árnyék:",
|
||||||
|
@ -1213,7 +1211,7 @@
|
||||||
"Screenshots": "Képernyőképek",
|
"Screenshots": "Képernyőképek",
|
||||||
"SearchForCollectionInternetMetadata": "Keresés az interneten artwork és metaadat után",
|
"SearchForCollectionInternetMetadata": "Keresés az interneten artwork és metaadat után",
|
||||||
"Series": "Sorozatok",
|
"Series": "Sorozatok",
|
||||||
"SeriesCancelled": "A sorozat törölt.",
|
"SeriesCancelled": "Sorozat törölve.",
|
||||||
"SeriesRecordingScheduled": "A sorozatfelvétel ütemezett.",
|
"SeriesRecordingScheduled": "A sorozatfelvétel ütemezett.",
|
||||||
"SeriesSettings": "Sorozat beállítások",
|
"SeriesSettings": "Sorozat beállítások",
|
||||||
"ServerRestartNeededAfterPluginInstall": "A bővítmény telepítése után újra kell indítani a Jellyfin Szerver-t.",
|
"ServerRestartNeededAfterPluginInstall": "A bővítmény telepítése után újra kell indítani a Jellyfin Szerver-t.",
|
||||||
|
@ -1474,5 +1472,7 @@
|
||||||
"DeviceAccessHelp": "Ez csak azokra az eszközökre alkalmazható, amelyek egyedileg vannak azonosítva és nem gátolják meg a böngészőből való elérést. A felhasználói eszközök kiszűrése meg fogja akadályozni az új eszközök használatát addig, amíg itt nem engedélyezed őket.",
|
"DeviceAccessHelp": "Ez csak azokra az eszközökre alkalmazható, amelyek egyedileg vannak azonosítva és nem gátolják meg a böngészőből való elérést. A felhasználói eszközök kiszűrése meg fogja akadályozni az új eszközök használatát addig, amíg itt nem engedélyezed őket.",
|
||||||
"PlaybackErrorNoCompatibleStream": "Hiba történt a kliens felmérése közben és a szerver nem küld kompatibilis formátumot az eszközre.",
|
"PlaybackErrorNoCompatibleStream": "Hiba történt a kliens felmérése közben és a szerver nem küld kompatibilis formátumot az eszközre.",
|
||||||
"AllowFfmpegThrottlingHelp": "Ha az átkódolás vagy remux eléggé előtöltődött a jelenlegi lejátszási pozícióhoz képest, ez megállítja a folyamatot, hogy kevesebb erőforrást vegyen igénybe. Ez akkor hasznos, ha ritkán ugrálsz előre a lejátszott videókban. Kapcsold ki, ha lejátszási problémákba ütközöl.",
|
"AllowFfmpegThrottlingHelp": "Ha az átkódolás vagy remux eléggé előtöltődött a jelenlegi lejátszási pozícióhoz képest, ez megállítja a folyamatot, hogy kevesebb erőforrást vegyen igénybe. Ez akkor hasznos, ha ritkán ugrálsz előre a lejátszott videókban. Kapcsold ki, ha lejátszási problémákba ütközöl.",
|
||||||
"AllowFfmpegThrottling": "Átkódolás visszafogása"
|
"AllowFfmpegThrottling": "Átkódolás visszafogása",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNames": "Inkább a beágyazott epizódokra vonatkozó információkat részesítse előnyben a fájlnevekkel szemben",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Ez a beágyazott metaadatok epizódinformációit használja, ha rendelkezésre állnak."
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,8 +165,7 @@
|
||||||
"DirectStreamHelp2": "Lo Streaming in Diretta di un file utilizza poco il processore senza alcuna perdita di qualità video.",
|
"DirectStreamHelp2": "Lo Streaming in Diretta di un file utilizza poco il processore senza alcuna perdita di qualità video.",
|
||||||
"DirectStreaming": "Streaming Diretto",
|
"DirectStreaming": "Streaming Diretto",
|
||||||
"Director": "Regista",
|
"Director": "Regista",
|
||||||
"DirectorValue": "Regista: {0}",
|
"Directors": "Registi",
|
||||||
"DirectorsValue": "Registi: {0}",
|
|
||||||
"Disabled": "Disabilitato",
|
"Disabled": "Disabilitato",
|
||||||
"Disc": "Disco",
|
"Disc": "Disco",
|
||||||
"Disconnect": "Disconnetti",
|
"Disconnect": "Disconnetti",
|
||||||
|
@ -240,9 +239,8 @@
|
||||||
"FormatValue": "Formato: {0}",
|
"FormatValue": "Formato: {0}",
|
||||||
"Friday": "Venerdì",
|
"Friday": "Venerdì",
|
||||||
"Fullscreen": "Schermo Intero",
|
"Fullscreen": "Schermo Intero",
|
||||||
"GenreValue": "Genere: {0}",
|
"Genre": "Genere",
|
||||||
"Genres": "Generi",
|
"Genres": "Generi",
|
||||||
"GenresValue": "Generi: {0}",
|
|
||||||
"GroupBySeries": "Raggruppa per serie",
|
"GroupBySeries": "Raggruppa per serie",
|
||||||
"GroupVersions": "Raggruppa versioni",
|
"GroupVersions": "Raggruppa versioni",
|
||||||
"GuestStar": "Personaggio famoso",
|
"GuestStar": "Personaggio famoso",
|
||||||
|
@ -581,7 +579,7 @@
|
||||||
"LabelForgotPasswordUsernameHelp": "Inserisci il tuo nome utente, se te lo ricordi.",
|
"LabelForgotPasswordUsernameHelp": "Inserisci il tuo nome utente, se te lo ricordi.",
|
||||||
"LabelFormat": "Formato:",
|
"LabelFormat": "Formato:",
|
||||||
"LabelFriendlyName": "Nome Condiviso:",
|
"LabelFriendlyName": "Nome Condiviso:",
|
||||||
"LabelServerNameHelp": "Questo nome è usato per identificare il server e verrà usato di default come nome del pc.",
|
"LabelServerNameHelp": "Questo nome è usato per identificare il server e avrà come default il nome del pc.",
|
||||||
"LabelGroupMoviesIntoCollections": "Raggruppa i film nelle collezioni",
|
"LabelGroupMoviesIntoCollections": "Raggruppa i film nelle collezioni",
|
||||||
"LabelGroupMoviesIntoCollectionsHelp": "Quando si visualizzano le liste di film, quelli appartenenti ad una collezione saranno visualizzati come un elemento raggruppato.",
|
"LabelGroupMoviesIntoCollectionsHelp": "Quando si visualizzano le liste di film, quelli appartenenti ad una collezione saranno visualizzati come un elemento raggruppato.",
|
||||||
"LabelH264Crf": "CRF di codifica H264:",
|
"LabelH264Crf": "CRF di codifica H264:",
|
||||||
|
@ -751,7 +749,7 @@
|
||||||
"LabelSubtitleDownloaders": "Downloader sottotitoli:",
|
"LabelSubtitleDownloaders": "Downloader sottotitoli:",
|
||||||
"LabelSubtitleFormatHelp": "Esempio: srt",
|
"LabelSubtitleFormatHelp": "Esempio: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Modalità Sottotitolo:",
|
"LabelSubtitlePlaybackMode": "Modalità Sottotitolo:",
|
||||||
"LabelSubtitles": "Sottotitoli:",
|
"LabelSubtitles": "Sottotitoli",
|
||||||
"LabelSupportedMediaTypes": "Tipi di media supportati:",
|
"LabelSupportedMediaTypes": "Tipi di media supportati:",
|
||||||
"LabelTVHomeScreen": "Schermata iniziale della modalità TV:",
|
"LabelTVHomeScreen": "Schermata iniziale della modalità TV:",
|
||||||
"LabelTagline": "Slogan:",
|
"LabelTagline": "Slogan:",
|
||||||
|
@ -1319,7 +1317,7 @@
|
||||||
"HeaderRestartingServer": "Riavvio Server",
|
"HeaderRestartingServer": "Riavvio Server",
|
||||||
"Home": "Home",
|
"Home": "Home",
|
||||||
"LabelAlbum": "Album:",
|
"LabelAlbum": "Album:",
|
||||||
"LabelAudio": "Audio:",
|
"LabelAudio": "Audio",
|
||||||
"LabelCache": "Cache:",
|
"LabelCache": "Cache:",
|
||||||
"ButtonAddImage": "Aggiungi Immagine",
|
"ButtonAddImage": "Aggiungi Immagine",
|
||||||
"CopyStreamURL": "Copia Indirizzo dello Stream",
|
"CopyStreamURL": "Copia Indirizzo dello Stream",
|
||||||
|
@ -1400,7 +1398,7 @@
|
||||||
"LabelTranscodingProgress": "Progresso di trascodifica:",
|
"LabelTranscodingProgress": "Progresso di trascodifica:",
|
||||||
"DashboardVersionNumber": "Versione: {0}",
|
"DashboardVersionNumber": "Versione: {0}",
|
||||||
"DashboardServerName": "Server: {0}",
|
"DashboardServerName": "Server: {0}",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"DashboardArchitecture": "Architettura: {0}",
|
"DashboardArchitecture": "Architettura: {0}",
|
||||||
"LabelWeb": "Web:",
|
"LabelWeb": "Web:",
|
||||||
"LaunchWebAppOnStartup": "Lancia l'interfaccia web quando viene avviato il server",
|
"LaunchWebAppOnStartup": "Lancia l'interfaccia web quando viene avviato il server",
|
||||||
|
|
|
@ -176,8 +176,7 @@
|
||||||
"DirectStreamHelp2": "ファイルのダイレクトストリーミングは、ビデオ品質を損なうことなく、Jellyfin Serverにもほとんど負荷がありません。",
|
"DirectStreamHelp2": "ファイルのダイレクトストリーミングは、ビデオ品質を損なうことなく、Jellyfin Serverにもほとんど負荷がありません。",
|
||||||
"DirectStreaming": "ダイレクトストリーミング",
|
"DirectStreaming": "ダイレクトストリーミング",
|
||||||
"Director": "ディレクター",
|
"Director": "ディレクター",
|
||||||
"DirectorValue": "ディレクター: {0}",
|
"Directors": "ディレクターズ",
|
||||||
"DirectorsValue": "ディレクターズ: {0}",
|
|
||||||
"Disabled": "無効",
|
"Disabled": "無効",
|
||||||
"Disc": "ディスク",
|
"Disc": "ディスク",
|
||||||
"Disconnect": "切断",
|
"Disconnect": "切断",
|
||||||
|
@ -266,9 +265,8 @@
|
||||||
"Friday": "金曜日",
|
"Friday": "金曜日",
|
||||||
"Fullscreen": "フルスクリーン",
|
"Fullscreen": "フルスクリーン",
|
||||||
"General": "全般",
|
"General": "全般",
|
||||||
"GenreValue": "ジャンル: {0}",
|
"Genre": "ジャンル",
|
||||||
"Genres": "ジャンル",
|
"Genres": "ジャンル",
|
||||||
"GenresValue": "ジャンル: {0}",
|
|
||||||
"GroupBySeries": "シリーズグループ",
|
"GroupBySeries": "シリーズグループ",
|
||||||
"GroupVersions": "グループバージョン",
|
"GroupVersions": "グループバージョン",
|
||||||
"GuestStar": "ゲストスター",
|
"GuestStar": "ゲストスター",
|
||||||
|
@ -560,7 +558,7 @@
|
||||||
"LabelOriginalAspectRatio": "元のアスペクト比:",
|
"LabelOriginalAspectRatio": "元のアスペクト比:",
|
||||||
"LabelPrevious": "前へ",
|
"LabelPrevious": "前へ",
|
||||||
"LabelServerName": "サーバー名:",
|
"LabelServerName": "サーバー名:",
|
||||||
"LabelSubtitles": "字幕:",
|
"LabelSubtitles": "字幕",
|
||||||
"LabelSupportedMediaTypes": "サポートされているメディアタイプ:",
|
"LabelSupportedMediaTypes": "サポートされているメディアタイプ:",
|
||||||
"LabelTVHomeScreen": "TVモードホームスクリーン:",
|
"LabelTVHomeScreen": "TVモードホームスクリーン:",
|
||||||
"LabelTextColor": "文字色:",
|
"LabelTextColor": "文字色:",
|
||||||
|
@ -860,7 +858,7 @@
|
||||||
"LabelAllowedRemoteAddresses": "リモートIPアドレスフィルター:",
|
"LabelAllowedRemoteAddresses": "リモートIPアドレスフィルター:",
|
||||||
"LabelAppNameExample": "例: スケートボード、ソナー",
|
"LabelAppNameExample": "例: スケートボード、ソナー",
|
||||||
"LabelArtists": "アーティスト:",
|
"LabelArtists": "アーティスト:",
|
||||||
"LabelAudio": "音声:",
|
"LabelAudio": "音声",
|
||||||
"LabelAudioBitDepth": "音声ビット深度:",
|
"LabelAudioBitDepth": "音声ビット深度:",
|
||||||
"LabelAudioBitrate": "音声ビットレート:",
|
"LabelAudioBitrate": "音声ビットレート:",
|
||||||
"LabelAudioChannels": "音声チャンネル:",
|
"LabelAudioChannels": "音声チャンネル:",
|
||||||
|
@ -965,7 +963,7 @@
|
||||||
"DashboardVersionNumber": "バージョン: {0}",
|
"DashboardVersionNumber": "バージョン: {0}",
|
||||||
"DashboardServerName": "サーバー: {0}",
|
"DashboardServerName": "サーバー: {0}",
|
||||||
"DashboardArchitecture": "アーキテクチャ: {0}",
|
"DashboardArchitecture": "アーキテクチャ: {0}",
|
||||||
"LabelVideo": "映像:",
|
"LabelVideo": "映像",
|
||||||
"LabelVideoBitrate": "映像ビットレート:",
|
"LabelVideoBitrate": "映像ビットレート:",
|
||||||
"LabelYourFirstName": "名前:",
|
"LabelYourFirstName": "名前:",
|
||||||
"Share": "共有",
|
"Share": "共有",
|
||||||
|
|
|
@ -188,8 +188,7 @@
|
||||||
"DirectStreamHelp2": "Faıldy tikeleı taratý beıne sapasyn joǵaltpaı óte az esepteý qýatyn paıdalanady.",
|
"DirectStreamHelp2": "Faıldy tikeleı taratý beıne sapasyn joǵaltpaı óte az esepteý qýatyn paıdalanady.",
|
||||||
"DirectStreaming": "Tikeleı tasymaldanýda",
|
"DirectStreaming": "Tikeleı tasymaldanýda",
|
||||||
"Director": "Rejısór",
|
"Director": "Rejısór",
|
||||||
"DirectorValue": "Rejısóri: {0}",
|
"Directors": "Rejısórler",
|
||||||
"DirectorsValue": "Rejısórler; {0}",
|
|
||||||
"Disabled": "Ajyratylǵan",
|
"Disabled": "Ajyratylǵan",
|
||||||
"Disc": "Dıski",
|
"Disc": "Dıski",
|
||||||
"Disconnect": "Ajyratý",
|
"Disconnect": "Ajyratý",
|
||||||
|
@ -267,9 +266,8 @@
|
||||||
"Friday": "juma",
|
"Friday": "juma",
|
||||||
"Fullscreen": "Tolyq ekran",
|
"Fullscreen": "Tolyq ekran",
|
||||||
"General": "Jalpy",
|
"General": "Jalpy",
|
||||||
"GenreValue": "Janr: {0}",
|
"Genre": "Janr",
|
||||||
"Genres": "Janrlar",
|
"Genres": "Janrlar",
|
||||||
"GenresValue": "Janrlar: {0}",
|
|
||||||
"GroupBySeries": "Telehıkaıalar boıynsha toptastyrý",
|
"GroupBySeries": "Telehıkaıalar boıynsha toptastyrý",
|
||||||
"GroupVersions": "Nusqalardy toptastyrý",
|
"GroupVersions": "Nusqalardy toptastyrý",
|
||||||
"GuestStar": "Shaqyrylǵan aktór",
|
"GuestStar": "Shaqyrylǵan aktór",
|
||||||
|
@ -538,7 +536,7 @@
|
||||||
"LabelAppNameExample": "Mysaly: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Mysaly: Sickbeard, Sonarr",
|
||||||
"LabelArtists": "Oryndaýshylar:",
|
"LabelArtists": "Oryndaýshylar:",
|
||||||
"LabelArtistsHelp": "Birneshýin mynaýmen bólińiz ;",
|
"LabelArtistsHelp": "Birneshýin mynaýmen bólińiz ;",
|
||||||
"LabelAudio": "Dybys:",
|
"LabelAudio": "Dybys",
|
||||||
"LabelAudioLanguagePreference": "Dybys tiliniń teńshelimi:",
|
"LabelAudioLanguagePreference": "Dybys tiliniń teńshelimi:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Metaderekterdi Internetten avtomatty jańartý:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Metaderekterdi Internetten avtomatty jańartý:",
|
||||||
"LabelBindToLocalNetworkAddress": "Jergilikti jeli mekenjaıyna baılastyrý:",
|
"LabelBindToLocalNetworkAddress": "Jergilikti jeli mekenjaıyna baılastyrý:",
|
||||||
|
@ -809,7 +807,7 @@
|
||||||
"LabelSubtitleDownloaders": "Sýbtıtrler júkteýshileri:",
|
"LabelSubtitleDownloaders": "Sýbtıtrler júkteýshileri:",
|
||||||
"LabelSubtitleFormatHelp": "Mysal: srt",
|
"LabelSubtitleFormatHelp": "Mysal: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Sýbtıtr rejimi:",
|
"LabelSubtitlePlaybackMode": "Sýbtıtr rejimi:",
|
||||||
"LabelSubtitles": "Sýbtıtrler:",
|
"LabelSubtitles": "Sýbtıtrler",
|
||||||
"LabelSupportedMediaTypes": "Qoldaýdaǵy tasyǵyshderekter túrleri:",
|
"LabelSupportedMediaTypes": "Qoldaýdaǵy tasyǵyshderekter túrleri:",
|
||||||
"LabelTVHomeScreen": "TD rejimindegi basqy ekran:",
|
"LabelTVHomeScreen": "TD rejimindegi basqy ekran:",
|
||||||
"LabelTag": "Teg:",
|
"LabelTag": "Teg:",
|
||||||
|
@ -851,7 +849,7 @@
|
||||||
"LabelVersion": "Nusqa:",
|
"LabelVersion": "Nusqa:",
|
||||||
"LabelVersionInstalled": "{0} ornatylǵan",
|
"LabelVersionInstalled": "{0} ornatylǵan",
|
||||||
"LabelVersionNumber": "Nýsqasy: {0}",
|
"LabelVersionNumber": "Nýsqasy: {0}",
|
||||||
"LabelVideo": "Beıne:",
|
"LabelVideo": "Beıne",
|
||||||
"LabelXDlnaCap": "X-DLNA sıpattary:",
|
"LabelXDlnaCap": "X-DLNA sıpattary:",
|
||||||
"LabelXDlnaCapHelp": "urn:schemas-dlna-org:device-1-0 ataýlar keńistigindegi X_DLNACAP elementi mazmunyn anyqtaıdy.",
|
"LabelXDlnaCapHelp": "urn:schemas-dlna-org:device-1-0 ataýlar keńistigindegi X_DLNACAP elementi mazmunyn anyqtaıdy.",
|
||||||
"LabelXDlnaDoc": "X-DLNA tásimi:",
|
"LabelXDlnaDoc": "X-DLNA tásimi:",
|
||||||
|
|
|
@ -880,7 +880,6 @@
|
||||||
"DoNotRecord": "녹화 안 함",
|
"DoNotRecord": "녹화 안 함",
|
||||||
"Disconnect": "연결 끊기",
|
"Disconnect": "연결 끊기",
|
||||||
"Disabled": "비활성화됨",
|
"Disabled": "비활성화됨",
|
||||||
"DirectorValue": "감독: {0}",
|
|
||||||
"DirectPlaying": "다이렉트 재생",
|
"DirectPlaying": "다이렉트 재생",
|
||||||
"DirectStreaming": "다이렉트 스트리밍",
|
"DirectStreaming": "다이렉트 스트리밍",
|
||||||
"DirectStreamHelp2": "다이렉트 스트리밍은 비디오 퀄리티의 손실없이 매우 적은 처리능력을 사용합니다.",
|
"DirectStreamHelp2": "다이렉트 스트리밍은 비디오 퀄리티의 손실없이 매우 적은 처리능력을 사용합니다.",
|
||||||
|
@ -1026,7 +1025,7 @@
|
||||||
"LabelWeb": "웹:",
|
"LabelWeb": "웹:",
|
||||||
"LabelVideoCodec": "비디오 코덱:",
|
"LabelVideoCodec": "비디오 코덱:",
|
||||||
"LabelVideoBitrate": "비디오 비트레이트:",
|
"LabelVideoBitrate": "비디오 비트레이트:",
|
||||||
"LabelVideo": "비디오:",
|
"LabelVideo": "비디오",
|
||||||
"DashboardArchitecture": "아키텍처: {0}",
|
"DashboardArchitecture": "아키텍처: {0}",
|
||||||
"DashboardOperatingSystem": "운영체제: {0}",
|
"DashboardOperatingSystem": "운영체제: {0}",
|
||||||
"DashboardServerName": "서버: {0}",
|
"DashboardServerName": "서버: {0}",
|
||||||
|
@ -1043,7 +1042,7 @@
|
||||||
"LabelTheme": "테마:",
|
"LabelTheme": "테마:",
|
||||||
"LabelTextSize": "글자 크기:",
|
"LabelTextSize": "글자 크기:",
|
||||||
"LabelTextColor": "글자 색:",
|
"LabelTextColor": "글자 색:",
|
||||||
"LabelSubtitles": "자막:",
|
"LabelSubtitles": "자막",
|
||||||
"LabelSubtitleFormatHelp": "예시: srt",
|
"LabelSubtitleFormatHelp": "예시: srt",
|
||||||
"LabelSubtitleDownloaders": "자막 다운로더:",
|
"LabelSubtitleDownloaders": "자막 다운로더:",
|
||||||
"LabelStopping": "중지",
|
"LabelStopping": "중지",
|
||||||
|
@ -1083,7 +1082,7 @@
|
||||||
"LabelAudioCodec": "오디오 코덱:",
|
"LabelAudioCodec": "오디오 코덱:",
|
||||||
"LabelAudioChannels": "오디오 채널:",
|
"LabelAudioChannels": "오디오 채널:",
|
||||||
"LabelAudioBitrate": "오디오 비트레이트:",
|
"LabelAudioBitrate": "오디오 비트레이트:",
|
||||||
"LabelAudio": "오디오:",
|
"LabelAudio": "오디오",
|
||||||
"Items": "항목",
|
"Items": "항목",
|
||||||
"Kids": "어린이",
|
"Kids": "어린이",
|
||||||
"Home": "홈",
|
"Home": "홈",
|
||||||
|
@ -1145,8 +1144,7 @@
|
||||||
"HardwareAccelerationWarning": "하드웨어 가속을 활성화하면 일부 환경에서 불안정해질 수 있습니다. 운영체제 및 비디오 드라이버가 최신 상태인지 확인하십시오. 이 기능을 활성화한 후 비디오를 재생하는 데 어려움이 있을 경우 설정을 다시 '사용 안 함'으로 변경하십시오.",
|
"HardwareAccelerationWarning": "하드웨어 가속을 활성화하면 일부 환경에서 불안정해질 수 있습니다. 운영체제 및 비디오 드라이버가 최신 상태인지 확인하십시오. 이 기능을 활성화한 후 비디오를 재생하는 데 어려움이 있을 경우 설정을 다시 '사용 안 함'으로 변경하십시오.",
|
||||||
"GuestStar": "게스트 스타",
|
"GuestStar": "게스트 스타",
|
||||||
"GroupBySeries": "시리즈별로 그룹화",
|
"GroupBySeries": "시리즈별로 그룹화",
|
||||||
"GenresValue": "장르: {0}",
|
"Genre": "장르",
|
||||||
"GenreValue": "장르: {0}",
|
|
||||||
"General": "일반",
|
"General": "일반",
|
||||||
"FileReadCancelled": "파일 읽기 작업이 취소되었습니다.",
|
"FileReadCancelled": "파일 읽기 작업이 취소되었습니다.",
|
||||||
"FetchingData": "추가 데이터를 가져오는 중",
|
"FetchingData": "추가 데이터를 가져오는 중",
|
||||||
|
@ -1284,7 +1282,7 @@
|
||||||
"LabelDiscNumber": "디스크 번호:",
|
"LabelDiscNumber": "디스크 번호:",
|
||||||
"Identify": "식별자",
|
"Identify": "식별자",
|
||||||
"HeaderMoreLikeThis": "비슷한 작품",
|
"HeaderMoreLikeThis": "비슷한 작품",
|
||||||
"DirectorsValue": "감독: {0}",
|
"Directors": "감독",
|
||||||
"ButtonSplit": "나누기",
|
"ButtonSplit": "나누기",
|
||||||
"HeaderContainerProfileHelp": "컨테이너 프로파일은 사용자의 디바이스에서 재생 가능한 파일 형식을 나타냅니다. 다이렉트 플레이가 설정된 경우에도 디바이스에서 지원되지 않는 형식이라면 트랜스코딩이 적용됩니다.",
|
"HeaderContainerProfileHelp": "컨테이너 프로파일은 사용자의 디바이스에서 재생 가능한 파일 형식을 나타냅니다. 다이렉트 플레이가 설정된 경우에도 디바이스에서 지원되지 않는 형식이라면 트랜스코딩이 적용됩니다.",
|
||||||
"HeaderCodecProfileHelp": "코덱 프로파일은 사용자의 디바이스에서 재생 가능한 코덱을 가리킵니다. 다이렉트 플레이가 설정된 경우에도 디바이스에서 지원되지 않는 코덱이라면 트랜스코딩이 적용됩니다.",
|
"HeaderCodecProfileHelp": "코덱 프로파일은 사용자의 디바이스에서 재생 가능한 코덱을 가리킵니다. 다이렉트 플레이가 설정된 경우에도 디바이스에서 지원되지 않는 코덱이라면 트랜스코딩이 적용됩니다.",
|
||||||
|
|
|
@ -624,8 +624,7 @@
|
||||||
"ConfirmEndPlayerSession": "Ar norite išjungti Jellyfin ant {0}?",
|
"ConfirmEndPlayerSession": "Ar norite išjungti Jellyfin ant {0}?",
|
||||||
"Descending": "Mažėjančia tvarka",
|
"Descending": "Mažėjančia tvarka",
|
||||||
"DetectingDevices": "Ieškomi įrenginiai",
|
"DetectingDevices": "Ieškomi įrenginiai",
|
||||||
"DirectorValue": "Režisierius: {0}",
|
"Directors": "Režisieriai",
|
||||||
"DirectorsValue": "Režisieriai: {0}",
|
|
||||||
"Disabled": "Išjungtas",
|
"Disabled": "Išjungtas",
|
||||||
"Disc": "Diskas",
|
"Disc": "Diskas",
|
||||||
"Disconnect": "Atsijungti",
|
"Disconnect": "Atsijungti",
|
||||||
|
@ -785,7 +784,7 @@
|
||||||
"HeaderLoginFailure": "Prisijungimo klaida",
|
"HeaderLoginFailure": "Prisijungimo klaida",
|
||||||
"Hide": "Paslėpti",
|
"Hide": "Paslėpti",
|
||||||
"LabelAll": "Visi",
|
"LabelAll": "Visi",
|
||||||
"LabelAudio": "Garsas:",
|
"LabelAudio": "Garsas",
|
||||||
"LabelCancelled": "Atšaukta",
|
"LabelCancelled": "Atšaukta",
|
||||||
"LabelCertificatePassword": "Sertifikato slaptažodis:",
|
"LabelCertificatePassword": "Sertifikato slaptažodis:",
|
||||||
"LabelCertificatePasswordHelp": "Jei sertifikatui reikalingas slaptažodis, jį įveskite čia.",
|
"LabelCertificatePasswordHelp": "Jei sertifikatui reikalingas slaptažodis, jį įveskite čia.",
|
||||||
|
@ -805,7 +804,7 @@
|
||||||
"ExtraLarge": "Labai didelis",
|
"ExtraLarge": "Labai didelis",
|
||||||
"Fullscreen": "Viso ekrano režimas",
|
"Fullscreen": "Viso ekrano režimas",
|
||||||
"General": "Bendri",
|
"General": "Bendri",
|
||||||
"GenreValue": "Žanras: {0}",
|
"Genre": "Žanras",
|
||||||
"ErrorPleaseSelectLineup": "Pasirinkite TV programą ir bandykite dar kartą. Jei TV programos nerodoma, patikrinkite ar teisingas jūsų vartotojo vardas, slaptažodis ir pašto kodas.",
|
"ErrorPleaseSelectLineup": "Pasirinkite TV programą ir bandykite dar kartą. Jei TV programos nerodoma, patikrinkite ar teisingas jūsų vartotojo vardas, slaptažodis ir pašto kodas.",
|
||||||
"HeaderRevisionHistory": "Versijų istorija",
|
"HeaderRevisionHistory": "Versijų istorija",
|
||||||
"HeaderShutdown": "Išjungti",
|
"HeaderShutdown": "Išjungti",
|
||||||
|
@ -924,7 +923,6 @@
|
||||||
"ErrorAddingXmlTvFile": "Atidarant XMLTV failą įvyko klaida. Įsitikinkite, ar failas egzistuoja, ir bandykite dar kartą.",
|
"ErrorAddingXmlTvFile": "Atidarant XMLTV failą įvyko klaida. Įsitikinkite, ar failas egzistuoja, ir bandykite dar kartą.",
|
||||||
"ErrorGettingTvLineups": "Atsisiunčiant TV programas įvyko klaida. Įsitikinkite, kad jūsų informacija teisinga, ir bandykite dar kartą.",
|
"ErrorGettingTvLineups": "Atsisiunčiant TV programas įvyko klaida. Įsitikinkite, kad jūsų informacija teisinga, ir bandykite dar kartą.",
|
||||||
"Features": "Medžiagos",
|
"Features": "Medžiagos",
|
||||||
"GenresValue": "Žanrai: {0}",
|
|
||||||
"GroupBySeries": "Grupuoti pagal serialus",
|
"GroupBySeries": "Grupuoti pagal serialus",
|
||||||
"Guide": "Gidas",
|
"Guide": "Gidas",
|
||||||
"GuideProviderLogin": "Prisijungti",
|
"GuideProviderLogin": "Prisijungti",
|
||||||
|
|
|
@ -32,11 +32,11 @@
|
||||||
"MessageDownloadQueued": "Lejupielāde ierindota.",
|
"MessageDownloadQueued": "Lejupielāde ierindota.",
|
||||||
"MessageCreateAccountAt": "Izveido kontu {0}",
|
"MessageCreateAccountAt": "Izveido kontu {0}",
|
||||||
"MessageContactAdminToResetPassword": "Lūdzu sazinies ar sistēmas administratoru lai atiestatītu paroli.",
|
"MessageContactAdminToResetPassword": "Lūdzu sazinies ar sistēmas administratoru lai atiestatītu paroli.",
|
||||||
"MessageConfirmShutdown": "Vai tu tiešām gribi izslēgt serveri?",
|
"MessageConfirmShutdown": "Vai tu tiešām vēlies izslēgt serveri?",
|
||||||
"MessageConfirmRestart": "Vai tu tiešām gribi restartēt Jellyfin Server?",
|
"MessageConfirmRestart": "Vai tu tiešām vēlies restartēt Jellyfin Server?",
|
||||||
"MessageConfirmRemoveMediaLocation": "Vai tu tiešām gribi noņemt šo ceļu?",
|
"MessageConfirmRemoveMediaLocation": "Vai tu tiešām vēlies noņemt šo ceļu?",
|
||||||
"MessageConfirmRecordingCancellation": "Atcelt ierakstu?",
|
"MessageConfirmRecordingCancellation": "Atcelt ierakstu?",
|
||||||
"MessageConfirmAppExit": "Vai tu gribi iziet?",
|
"MessageConfirmAppExit": "Vai tu vēlies iziet?",
|
||||||
"MessageAlreadyInstalled": "Šī versija jau ir uzstādīta.",
|
"MessageAlreadyInstalled": "Šī versija jau ir uzstādīta.",
|
||||||
"MediaInfoStreamTypeVideo": "Video",
|
"MediaInfoStreamTypeVideo": "Video",
|
||||||
"MediaInfoStreamTypeSubtitle": "Subtitri",
|
"MediaInfoStreamTypeSubtitle": "Subtitri",
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
"LabelVideoResolution": "Video izšķirtspēja:",
|
"LabelVideoResolution": "Video izšķirtspēja:",
|
||||||
"LabelVideoCodec": "Video kodeks:",
|
"LabelVideoCodec": "Video kodeks:",
|
||||||
"LabelVideoBitrate": "Video bitu-ātrums:",
|
"LabelVideoBitrate": "Video bitu-ātrums:",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"DashboardArchitecture": "Arhitektūra: {0}",
|
"DashboardArchitecture": "Arhitektūra: {0}",
|
||||||
"DashboardOperatingSystem": "Operētājsistēma: {0}",
|
"DashboardOperatingSystem": "Operētājsistēma: {0}",
|
||||||
"DashboardServerName": "Serveris: {0}",
|
"DashboardServerName": "Serveris: {0}",
|
||||||
|
@ -85,7 +85,7 @@
|
||||||
"LabelTag": "Tags:",
|
"LabelTag": "Tags:",
|
||||||
"LabelTVHomeScreen": "TV režīma mājas ekrāns:",
|
"LabelTVHomeScreen": "TV režīma mājas ekrāns:",
|
||||||
"LabelSupportedMediaTypes": "Atbalstītie Multivides Veidi:",
|
"LabelSupportedMediaTypes": "Atbalstītie Multivides Veidi:",
|
||||||
"LabelSubtitles": "Subtitri:",
|
"LabelSubtitles": "Subtitri",
|
||||||
"LabelSubtitlePlaybackMode": "Subtitru veids:",
|
"LabelSubtitlePlaybackMode": "Subtitru veids:",
|
||||||
"LabelSubtitleFormatHelp": "Piemērs: srt",
|
"LabelSubtitleFormatHelp": "Piemērs: srt",
|
||||||
"LabelSubtitleDownloaders": "Subtitru lejupielādētāji:",
|
"LabelSubtitleDownloaders": "Subtitru lejupielādētāji:",
|
||||||
|
@ -222,7 +222,7 @@
|
||||||
"LabelBirthYear": "Dzimšanas gads:",
|
"LabelBirthYear": "Dzimšanas gads:",
|
||||||
"LabelBirthDate": "Dzimšanas datums:",
|
"LabelBirthDate": "Dzimšanas datums:",
|
||||||
"LabelAudioLanguagePreference": "Ieteicamā audio valoda:",
|
"LabelAudioLanguagePreference": "Ieteicamā audio valoda:",
|
||||||
"LabelAudio": "Audio:",
|
"LabelAudio": "Audio",
|
||||||
"LabelArtistsHelp": "Atdali vairākus izmantojot ;",
|
"LabelArtistsHelp": "Atdali vairākus izmantojot ;",
|
||||||
"LabelArtists": "Izpildītājs:",
|
"LabelArtists": "Izpildītājs:",
|
||||||
"LabelAppNameExample": "Piemēram: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Piemēram: Sickbeard, Sonarr",
|
||||||
|
@ -412,9 +412,8 @@
|
||||||
"GuestStar": "Vieszvaigzne",
|
"GuestStar": "Vieszvaigzne",
|
||||||
"GroupVersions": "Grupēt versijas",
|
"GroupVersions": "Grupēt versijas",
|
||||||
"GroupBySeries": "Grupēt pēc sērijām",
|
"GroupBySeries": "Grupēt pēc sērijām",
|
||||||
"GenresValue": "Žanri: {0}",
|
|
||||||
"Genres": "Žanri",
|
"Genres": "Žanri",
|
||||||
"GenreValue": "Žanrs: {0}",
|
"Genre": "Žanrs",
|
||||||
"General": "Vispārīgs",
|
"General": "Vispārīgs",
|
||||||
"Fullscreen": "Pilnekrāns",
|
"Fullscreen": "Pilnekrāns",
|
||||||
"Friday": "Piektdiena",
|
"Friday": "Piektdiena",
|
||||||
|
@ -464,8 +463,7 @@
|
||||||
"Dislike": "Nepatīk",
|
"Dislike": "Nepatīk",
|
||||||
"Disc": "Disks",
|
"Disc": "Disks",
|
||||||
"Disabled": "Atspējots",
|
"Disabled": "Atspējots",
|
||||||
"DirectorsValue": "Direktori: {0}",
|
"Directors": "Direktori",
|
||||||
"DirectorValue": "Direktors: {0}",
|
|
||||||
"Director": "Direktors",
|
"Director": "Direktors",
|
||||||
"DirectStreaming": "Tiešā straumēšana",
|
"DirectStreaming": "Tiešā straumēšana",
|
||||||
"DirectPlaying": "Tiešā Atskaņošana",
|
"DirectPlaying": "Tiešā Atskaņošana",
|
||||||
|
@ -698,7 +696,7 @@
|
||||||
"Unplayed": "Neatskaņots",
|
"Unplayed": "Neatskaņots",
|
||||||
"Unmute": "Ieslēgt skaņu",
|
"Unmute": "Ieslēgt skaņu",
|
||||||
"UninstallPluginHeader": "Noņemt Paplašinājumu",
|
"UninstallPluginHeader": "Noņemt Paplašinājumu",
|
||||||
"UninstallPluginConfirmation": "Vai tu tiešām gribi noņemt {0}?",
|
"UninstallPluginConfirmation": "Vai tu tiešām vēlies noņemt {0}?",
|
||||||
"Tuesday": "Otrdiena",
|
"Tuesday": "Otrdiena",
|
||||||
"Transcoding": "Trans-kodēšana",
|
"Transcoding": "Trans-kodēšana",
|
||||||
"Trailers": "Treileri",
|
"Trailers": "Treileri",
|
||||||
|
@ -916,9 +914,9 @@
|
||||||
"HeaderTaskTriggers": "Uzdevumu Trigeri",
|
"HeaderTaskTriggers": "Uzdevumu Trigeri",
|
||||||
"HeaderSelectTranscodingPathHelp": "Pārlūko vai ievadi ceļu, kurā tiks glabātas īslaicīgās trans-kodēšanas datnes. Šai mapei jābūt rakstāmai.",
|
"HeaderSelectTranscodingPathHelp": "Pārlūko vai ievadi ceļu, kurā tiks glabātas īslaicīgās trans-kodēšanas datnes. Šai mapei jābūt rakstāmai.",
|
||||||
"HeaderSelectTranscodingPath": "Izvēlies Trans-kodēšanas Īslaicīgo Ceļu",
|
"HeaderSelectTranscodingPath": "Izvēlies Trans-kodēšanas Īslaicīgo Ceļu",
|
||||||
"HeaderSelectServerCachePathHelp": "Pārlūko vai ievadi ceļu, kurā tu gribi saglabāt servera keša datnes. Šai mapei jābūt rakstāmai.",
|
"HeaderSelectServerCachePathHelp": "Pārlūko vai ievadi ceļu, kurā vēlies saglabāt servera keša datnes. Šai mapei jābūt rakstāmai.",
|
||||||
"HeaderSelectPath": "Izvēlies Ceļu",
|
"HeaderSelectPath": "Izvēlies Ceļu",
|
||||||
"HeaderSelectMetadataPathHelp": "Pārlūko vai ievadi ceļu, kurā tu gribi saglabāt metadatus. Šai mapei jābūt rakstāmai.",
|
"HeaderSelectMetadataPathHelp": "Pārlūko vai ievadi ceļu, kurā vēlies saglabāt metadatus. Šai mapei jābūt rakstāmai.",
|
||||||
"HeaderSelectMetadataPath": "Izvēlies Metadatu Ceļu",
|
"HeaderSelectMetadataPath": "Izvēlies Metadatu Ceļu",
|
||||||
"HeaderSelectCertificatePath": "Izvēlies Sertifikāta Ceļu",
|
"HeaderSelectCertificatePath": "Izvēlies Sertifikāta Ceļu",
|
||||||
"HeaderScenes": "Ainas",
|
"HeaderScenes": "Ainas",
|
||||||
|
@ -975,11 +973,11 @@
|
||||||
"DirectStreamHelp1": "Šis medijs ir saderīgs ar ierīci pēc izšķirtspējas un medija veida (H.264, AC3, utt.), bet atrodas nesaderīgā datnes konteinerī (mkv, avi, wmv, utt.). Video tiks pārpakots uz saderīgu formātu pirms tas tiks straumēts uz ierīci.",
|
"DirectStreamHelp1": "Šis medijs ir saderīgs ar ierīci pēc izšķirtspējas un medija veida (H.264, AC3, utt.), bet atrodas nesaderīgā datnes konteinerī (mkv, avi, wmv, utt.). Video tiks pārpakots uz saderīgu formātu pirms tas tiks straumēts uz ierīci.",
|
||||||
"Descending": "Disltošs",
|
"Descending": "Disltošs",
|
||||||
"Depressed": "Atspiests",
|
"Depressed": "Atspiests",
|
||||||
"DeleteUserConfirmation": "Vai tu tiešām gribi izdzēst šo lietotāju?",
|
"DeleteUserConfirmation": "Vai tu tiešām vēlies izdzēst šo lietotāju?",
|
||||||
"DeleteUser": "Dzēst Lietotāju",
|
"DeleteUser": "Dzēst Lietotāju",
|
||||||
"DeleteMedia": "Dzēst mediju",
|
"DeleteMedia": "Dzēst mediju",
|
||||||
"DeleteImageConfirmation": "Vai tu tiešām gribi izdzēst šo attēlu?",
|
"DeleteImageConfirmation": "Vai tu tiešām vēlies izdzēst šo attēlu?",
|
||||||
"DeleteDeviceConfirmation": "Vai tu tiešām gribi noņemt šo ierīci? Tā parādīsies atkārtoti nākamo reizi, kad lietotājs ieiet ar to.",
|
"DeleteDeviceConfirmation": "Vai tu tiešām vēlies noņemt šo ierīci? Tā parādīsies atkārtoti nākamo reizi, kad lietotājs ieiet ar to.",
|
||||||
"DefaultErrorMessage": "Apstrādājot pieprasījumu notika kļūda. Pēc brītiņa lūdzu mēģini vēlreiz.",
|
"DefaultErrorMessage": "Apstrādājot pieprasījumu notika kļūda. Pēc brītiņa lūdzu mēģini vēlreiz.",
|
||||||
"DeathDateValue": "Miris: {0}",
|
"DeathDateValue": "Miris: {0}",
|
||||||
"ConfirmEndPlayerSession": "Vai jūs gribat izslēgt Jellyfin uz {0}?",
|
"ConfirmEndPlayerSession": "Vai jūs gribat izslēgt Jellyfin uz {0}?",
|
||||||
|
@ -1046,5 +1044,42 @@
|
||||||
"LabelKodiMetadataSaveImagePathsHelp": "Tas ir ieteicams ja tev ir attēlu datņu nosaukumi, kas neatbilst Kodi vadlīnijām.",
|
"LabelKodiMetadataSaveImagePathsHelp": "Tas ir ieteicams ja tev ir attēlu datņu nosaukumi, kas neatbilst Kodi vadlīnijām.",
|
||||||
"LabelKodiMetadataSaveImagePaths": "Saglabāt attēlu ceļus iekš nfo datnēm",
|
"LabelKodiMetadataSaveImagePaths": "Saglabāt attēlu ceļus iekš nfo datnēm",
|
||||||
"LabelKodiMetadataEnablePathSubstitutionHelp": "Iespējot ceļu substitūciju attēlu ceļiem izmantojot serveru ceļu substitūcijas iestatījumus.",
|
"LabelKodiMetadataEnablePathSubstitutionHelp": "Iespējot ceļu substitūciju attēlu ceļiem izmantojot serveru ceļu substitūcijas iestatījumus.",
|
||||||
"LabelKodiMetadataEnablePathSubstitution": "Iespējot ceļu substitūciju"
|
"LabelKodiMetadataEnablePathSubstitution": "Iespējot ceļu substitūciju",
|
||||||
|
"MessageDirectoryPickerBSDInstruction": "Priekš BSD, tev var būt vajadzēs nokonfigurēt glabātuvi savā FreeNAS jail, lai atļautu Jellyfin tai piekļuvi.",
|
||||||
|
"MessageConfirmRevokeApiKey": "Vai tu tiešām vēlies atsaukt šo api atslēgu? Lietotnes savienojums ar Jellyfin Serveri tiks strauji atslēgts.",
|
||||||
|
"MessageConfirmProfileDeletion": "Vai tu tiešām vēlies izdzēst šo profilu?",
|
||||||
|
"LabelTranscodingProgress": "Trans-kodēšanas progress:",
|
||||||
|
"LabelTranscodingFramerate": "Trans-kodēšanas kadru ātrums:",
|
||||||
|
"LabelRecordingPathHelp": "Ievadi noklusējuma vietējo vietu, kur saglabāt ierakstus. Ja atstāsts tukšs, servera programmas datu mape tiks lietota tā vietā.",
|
||||||
|
"LabelPublicHttpsPortHelp": "Publiskais porta numurs, ko kartēt uz vietējo HTTPS portu.",
|
||||||
|
"LabelOriginalAspectRatio": "Oriģinālās proporcijas:",
|
||||||
|
"LabelMaxStreamingBitrateHelp": "Ievadi maksimālo bitu ātrumu straumēšanai.",
|
||||||
|
"LabelLocalHttpServerPortNumberHelp": "TCP porta numurs, kuru izmantos Jellyfin HTTP serveris.",
|
||||||
|
"MessageAreYouSureYouWishToRemoveMediaFolder": "Vai tiešām vēlies noņemt šo mediju datni?",
|
||||||
|
"MessageAreYouSureDeleteSubtitles": "Vai tiešām vēlies izdzēst šo subtitru datni?",
|
||||||
|
"MediaIsBeingConverted": "Medijs tiek pārveidots uz formātu kuru atbalsta tā atskaņojošā ierīce.",
|
||||||
|
"MediaInfoStreamTypeEmbeddedImage": "Iegults Attēls",
|
||||||
|
"MediaInfoTimestamp": "Laika zīmogs",
|
||||||
|
"MediaInfoSampleRate": "Izlases ātrums",
|
||||||
|
"MediaInfoInterlaced": "Rindpārlēkts",
|
||||||
|
"MediaInfoFramerate": "Kadru ātrums",
|
||||||
|
"MediaInfoAspectRatio": "Attēla proporcijas",
|
||||||
|
"MaxParentalRatingHelp": "Saturs ar augstāku reitingu tiks paslēpts no šī lietotāja.",
|
||||||
|
"LibraryAccessHelp": "Izvēlies bibliotēkas, ko koplietot ar šo lietotāju. Administratori spēs rediģēt visas bibliotēkas izmantojot metadatu pārvaldnieku.",
|
||||||
|
"LearnHowYouCanContribute": "Uzzini, kā tu vari dot ieguldījumu.",
|
||||||
|
"LabelUserLoginAttemptsBeforeLockout": "Neizdevušies piekļuves mēģinājumi pirms lietotājs tiek bloķēts:",
|
||||||
|
"LabelTranscodingThreadCount": "Trans-kodēšanas kodolu daudzums:",
|
||||||
|
"LabelTranscodes": "Transkodi:",
|
||||||
|
"LabelTitle": "Tituls:",
|
||||||
|
"LabelSaveLocalMetadata": "Saglabāt māksu media mapēs",
|
||||||
|
"LabelReadHowYouCanContribute": "Uzzini, kā tu vari dot ieguldījumu.",
|
||||||
|
"LabelNumberOfGuideDays": "Dienu daudzumus, kuram lejupielādēt gidu:",
|
||||||
|
"LabelLockItemToPreventChanges": "Aizslēgt šo objektu lai aizliegtu izmaiņas",
|
||||||
|
"LabelLocalHttpServerPortNumber": "Vietējais HTTP porta numurs:",
|
||||||
|
"OptionAllowManageLiveTv": "Atļaut Tiešraides TV ierakstu pārvaldīšanu",
|
||||||
|
"OptionAllowLinkSharing": "Atļaut dalīšanos sociālajos tīklos",
|
||||||
|
"OptionAllowBrowsingLiveTv": "Atļaut Tiešraides TV piekļuvi",
|
||||||
|
"MediaInfoForced": "Piespiests",
|
||||||
|
"LabelPublicHttpPortHelp": "Publiskai porta numurs, kas tiks kartēts uz vietējo HTTP portu.",
|
||||||
|
"LabelOptionalNetworkPath": "(Neobligāts) Koplietota tīkla mape:"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1159,7 +1159,6 @@
|
||||||
"MediaInfoStreamTypeVideo": "Video",
|
"MediaInfoStreamTypeVideo": "Video",
|
||||||
"OptionDownloadBannerImage": "Banner",
|
"OptionDownloadBannerImage": "Banner",
|
||||||
"CopyStreamURLSuccess": "URLen ble kopiert.",
|
"CopyStreamURLSuccess": "URLen ble kopiert.",
|
||||||
"DirectorValue": "Regissør: {0}",
|
|
||||||
"OptionThumb": "Miniatyrbilde",
|
"OptionThumb": "Miniatyrbilde",
|
||||||
"LabelInternetQuality": "Internettkvalitet:",
|
"LabelInternetQuality": "Internettkvalitet:",
|
||||||
"SubtitleAppearanceSettingsDisclaimer": "Disse innstillingene vil ikke påvirke grafiske undertekster (PGS, DVD, osv.) eller ASS/SSA-teksting som inkluderer sin egen formatering.",
|
"SubtitleAppearanceSettingsDisclaimer": "Disse innstillingene vil ikke påvirke grafiske undertekster (PGS, DVD, osv.) eller ASS/SSA-teksting som inkluderer sin egen formatering.",
|
||||||
|
@ -1180,7 +1179,7 @@
|
||||||
"MediaInfoSampleRate": "Samplingsfrekvens",
|
"MediaInfoSampleRate": "Samplingsfrekvens",
|
||||||
"MediaInfoStreamTypeData": "Data",
|
"MediaInfoStreamTypeData": "Data",
|
||||||
"Option3D": "3D",
|
"Option3D": "3D",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"OptionAlbum": "Album",
|
"OptionAlbum": "Album",
|
||||||
"OptionAlbumArtist": "Albumartist",
|
"OptionAlbumArtist": "Albumartist",
|
||||||
"Filters": "Filtre",
|
"Filters": "Filtre",
|
||||||
|
@ -1267,7 +1266,7 @@
|
||||||
"LabelMatchType": "Matchtype:",
|
"LabelMatchType": "Matchtype:",
|
||||||
"OptionPosterCard": "Plakatkort",
|
"OptionPosterCard": "Plakatkort",
|
||||||
"Uniform": "Jevn",
|
"Uniform": "Jevn",
|
||||||
"DirectorsValue": "Regissører: {0}",
|
"Directors": "Regissører",
|
||||||
"Disabled": "Deaktivert",
|
"Disabled": "Deaktivert",
|
||||||
"Disc": "Plate",
|
"Disc": "Plate",
|
||||||
"Display": "Vis",
|
"Display": "Vis",
|
||||||
|
@ -1283,8 +1282,7 @@
|
||||||
"FetchingData": "Henter ytterligere data",
|
"FetchingData": "Henter ytterligere data",
|
||||||
"Folders": "Mapper",
|
"Folders": "Mapper",
|
||||||
"FormatValue": "Format: {0}",
|
"FormatValue": "Format: {0}",
|
||||||
"GenreValue": "Sjanger: {0}",
|
"Genre": "Sjanger",
|
||||||
"GenresValue": "Sjangre: {0}",
|
|
||||||
"GroupBySeries": "Grupper etter serie",
|
"GroupBySeries": "Grupper etter serie",
|
||||||
"GroupVersions": "Grupper etter versjon",
|
"GroupVersions": "Grupper etter versjon",
|
||||||
"Guide": "Guide",
|
"Guide": "Guide",
|
||||||
|
@ -1315,7 +1313,7 @@
|
||||||
"Horizontal": "Horisontal",
|
"Horizontal": "Horisontal",
|
||||||
"HttpsRequiresCert": "For å bruke sikker tilkobling må du legge inn et klarert SSL-sertifikat, for eksempel fra Let's Encrypt. Du må enten legge inn et sertifikat, eller deaktivere sikker tilkobling.",
|
"HttpsRequiresCert": "For å bruke sikker tilkobling må du legge inn et klarert SSL-sertifikat, for eksempel fra Let's Encrypt. Du må enten legge inn et sertifikat, eller deaktivere sikker tilkobling.",
|
||||||
"LabelAlbumArtPN": "Albumomslag PN:",
|
"LabelAlbumArtPN": "Albumomslag PN:",
|
||||||
"LabelAudio": "Lyd:",
|
"LabelAudio": "Lyd",
|
||||||
"LabelAuthProvider": "Autentiserings-metode:",
|
"LabelAuthProvider": "Autentiserings-metode:",
|
||||||
"LabelBitrate": "Bithastighet:",
|
"LabelBitrate": "Bithastighet:",
|
||||||
"LabelBurnSubtitles": "Brenn inn undertekst:",
|
"LabelBurnSubtitles": "Brenn inn undertekst:",
|
||||||
|
@ -1344,7 +1342,7 @@
|
||||||
"LabelSpecialSeasonsDisplayName": "Visningsnavn for spesialsesong:",
|
"LabelSpecialSeasonsDisplayName": "Visningsnavn for spesialsesong:",
|
||||||
"LabelStatus": "Status:",
|
"LabelStatus": "Status:",
|
||||||
"LabelSubtitleDownloaders": "Kilder for undertekst:",
|
"LabelSubtitleDownloaders": "Kilder for undertekst:",
|
||||||
"LabelSubtitles": "Undertekster:",
|
"LabelSubtitles": "Undertekster",
|
||||||
"LabelTVHomeScreen": "Hjemskjerm for TV-modus:",
|
"LabelTVHomeScreen": "Hjemskjerm for TV-modus:",
|
||||||
"LabelTag": "Tagg:",
|
"LabelTag": "Tagg:",
|
||||||
"LabelTextBackgroundColor": "Tekstbagrunnsfarge:",
|
"LabelTextBackgroundColor": "Tekstbagrunnsfarge:",
|
||||||
|
|
|
@ -168,8 +168,7 @@
|
||||||
"DirectStreamHelp2": "Direct streamen van een bestand gebruikt weinig processor kracht zonder verlies van beeldkwaliteit.",
|
"DirectStreamHelp2": "Direct streamen van een bestand gebruikt weinig processor kracht zonder verlies van beeldkwaliteit.",
|
||||||
"DirectStreaming": "Direct streamen",
|
"DirectStreaming": "Direct streamen",
|
||||||
"Director": "Regiseur",
|
"Director": "Regiseur",
|
||||||
"DirectorValue": "Regisseur: {0}",
|
"Directors": "Regisseurs",
|
||||||
"DirectorsValue": "Regisseurs: {0}",
|
|
||||||
"Disabled": "Uitgeschakeld",
|
"Disabled": "Uitgeschakeld",
|
||||||
"Disc": "Disk",
|
"Disc": "Disk",
|
||||||
"Disconnect": "Loskoppelen",
|
"Disconnect": "Loskoppelen",
|
||||||
|
@ -745,7 +744,7 @@
|
||||||
"LabelSubtitleDownloaders": "Ondertiteldownloaders:",
|
"LabelSubtitleDownloaders": "Ondertiteldownloaders:",
|
||||||
"LabelSubtitleFormatHelp": "Voorbeeld: srt",
|
"LabelSubtitleFormatHelp": "Voorbeeld: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Ondertitel mode:",
|
"LabelSubtitlePlaybackMode": "Ondertitel mode:",
|
||||||
"LabelSubtitles": "Ondertitels:",
|
"LabelSubtitles": "Ondertitels",
|
||||||
"LabelSupportedMediaTypes": "Ondersteunde Media Types:",
|
"LabelSupportedMediaTypes": "Ondersteunde Media Types:",
|
||||||
"LabelTVHomeScreen": "TV mode begin scherm",
|
"LabelTVHomeScreen": "TV mode begin scherm",
|
||||||
"LabelTextBackgroundColor": "Tekst achtergrond kleur:",
|
"LabelTextBackgroundColor": "Tekst achtergrond kleur:",
|
||||||
|
@ -1269,9 +1268,8 @@
|
||||||
"Desktop": "Bureaublad",
|
"Desktop": "Bureaublad",
|
||||||
"DownloadsValue": "{0} downloads",
|
"DownloadsValue": "{0} downloads",
|
||||||
"Filters": "Filters",
|
"Filters": "Filters",
|
||||||
"GenreValue": "Genre: {0}",
|
"Genre": "Genre",
|
||||||
"Genres": "Genres",
|
"Genres": "Genres",
|
||||||
"GenresValue": "Genres: {0}",
|
|
||||||
"HeaderAlbums": "Albums",
|
"HeaderAlbums": "Albums",
|
||||||
"HeaderCastAndCrew": "Cast & Crew",
|
"HeaderCastAndCrew": "Cast & Crew",
|
||||||
"HeaderCastCrew": "Cast & Crew",
|
"HeaderCastCrew": "Cast & Crew",
|
||||||
|
@ -1312,7 +1310,7 @@
|
||||||
"ItemCount": "{0} items",
|
"ItemCount": "{0} items",
|
||||||
"Items": "Items",
|
"Items": "Items",
|
||||||
"LabelAlbum": "Album:",
|
"LabelAlbum": "Album:",
|
||||||
"LabelAudio": "Audio:",
|
"LabelAudio": "Audio",
|
||||||
"LabelAuthProvider": "Authenticatie Aanbieder:",
|
"LabelAuthProvider": "Authenticatie Aanbieder:",
|
||||||
"LabelCache": "Cache:",
|
"LabelCache": "Cache:",
|
||||||
"LabelDidlMode": "DIDL mode:",
|
"LabelDidlMode": "DIDL mode:",
|
||||||
|
@ -1431,7 +1429,7 @@
|
||||||
"LabelXDlnaCap": "X-DLNA cap:",
|
"LabelXDlnaCap": "X-DLNA cap:",
|
||||||
"DashboardVersionNumber": "Versie: {0}",
|
"DashboardVersionNumber": "Versie: {0}",
|
||||||
"DashboardArchitecture": "Architectuur: {0}",
|
"DashboardArchitecture": "Architectuur: {0}",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"MediaInfoStreamTypeAudio": "Audio",
|
"MediaInfoStreamTypeAudio": "Audio",
|
||||||
"MediaInfoStreamTypeData": "Data",
|
"MediaInfoStreamTypeData": "Data",
|
||||||
"MediaInfoStreamTypeSubtitle": "Ondertiteling",
|
"MediaInfoStreamTypeSubtitle": "Ondertiteling",
|
||||||
|
|
|
@ -180,8 +180,7 @@
|
||||||
"DirectStreamHelp2": "Transmisja bezpośrednia pliku używa niewiele mocy przetwarzania, bez utraty jakości wideo.",
|
"DirectStreamHelp2": "Transmisja bezpośrednia pliku używa niewiele mocy przetwarzania, bez utraty jakości wideo.",
|
||||||
"DirectStreaming": "Transmisja bezpośrednia",
|
"DirectStreaming": "Transmisja bezpośrednia",
|
||||||
"Director": "Reżyser",
|
"Director": "Reżyser",
|
||||||
"DirectorValue": "Reżyser: {0}",
|
"Directors": "Reżyserzy",
|
||||||
"DirectorsValue": "Reżyserzy: {0}",
|
|
||||||
"Disabled": "Nieaktywne",
|
"Disabled": "Nieaktywne",
|
||||||
"Disc": "Dysk",
|
"Disc": "Dysk",
|
||||||
"Disconnect": "Rozłącz",
|
"Disconnect": "Rozłącz",
|
||||||
|
@ -258,9 +257,8 @@
|
||||||
"Friday": "Piątek",
|
"Friday": "Piątek",
|
||||||
"Fullscreen": "Pełny ekran",
|
"Fullscreen": "Pełny ekran",
|
||||||
"General": "Ogólne",
|
"General": "Ogólne",
|
||||||
"GenreValue": "Gatunek: {0}",
|
"Genre": "Gatunek",
|
||||||
"Genres": "Gatunki",
|
"Genres": "Gatunki",
|
||||||
"GenresValue": "Gatunki: {0}",
|
|
||||||
"GroupBySeries": "Grupuj po serialach",
|
"GroupBySeries": "Grupuj po serialach",
|
||||||
"GroupVersions": "Wersje grup",
|
"GroupVersions": "Wersje grup",
|
||||||
"GuestStar": "Gość specjalny",
|
"GuestStar": "Gość specjalny",
|
||||||
|
@ -525,7 +523,7 @@
|
||||||
"LabelAppNameExample": "Przykład: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Przykład: Sickbeard, Sonarr",
|
||||||
"LabelArtists": "Wykonawcy:",
|
"LabelArtists": "Wykonawcy:",
|
||||||
"LabelArtistsHelp": "Oddzielaj używając ;",
|
"LabelArtistsHelp": "Oddzielaj używając ;",
|
||||||
"LabelAudio": "Dźwięk:",
|
"LabelAudio": "Dźwięk",
|
||||||
"LabelAudioLanguagePreference": "Preferowany język ścieżki dźwiękowej:",
|
"LabelAudioLanguagePreference": "Preferowany język ścieżki dźwiękowej:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Odświeżaj automatycznie metadane z Internetu:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Odświeżaj automatycznie metadane z Internetu:",
|
||||||
"LabelBindToLocalNetworkAddress": "Przypisz do lokalnego adresu sieciowego:",
|
"LabelBindToLocalNetworkAddress": "Przypisz do lokalnego adresu sieciowego:",
|
||||||
|
@ -791,7 +789,7 @@
|
||||||
"LabelSubtitleDownloaders": "Dostawcy napisów:",
|
"LabelSubtitleDownloaders": "Dostawcy napisów:",
|
||||||
"LabelSubtitleFormatHelp": "Przykład: srt",
|
"LabelSubtitleFormatHelp": "Przykład: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Tryb napisów:",
|
"LabelSubtitlePlaybackMode": "Tryb napisów:",
|
||||||
"LabelSubtitles": "Napisy:",
|
"LabelSubtitles": "Napisy",
|
||||||
"LabelSupportedMediaTypes": "Obsługiwane typy mediów:",
|
"LabelSupportedMediaTypes": "Obsługiwane typy mediów:",
|
||||||
"LabelTVHomeScreen": "Ekran startowy trybu telewizyjnego:",
|
"LabelTVHomeScreen": "Ekran startowy trybu telewizyjnego:",
|
||||||
"LabelTag": "Znacznik:",
|
"LabelTag": "Znacznik:",
|
||||||
|
@ -829,7 +827,7 @@
|
||||||
"LabelVersion": "Wersja:",
|
"LabelVersion": "Wersja:",
|
||||||
"LabelVersionInstalled": "Zainstalowano {0}",
|
"LabelVersionInstalled": "Zainstalowano {0}",
|
||||||
"LabelVersionNumber": "Wersja {0}",
|
"LabelVersionNumber": "Wersja {0}",
|
||||||
"LabelVideo": "Wideo:",
|
"LabelVideo": "Wideo",
|
||||||
"LabelXDlnaCapHelp": "Określa zawartość elementu X_DLNACAP w przestrzeni nazw urn:schemas-dlna-org:device-1-0.",
|
"LabelXDlnaCapHelp": "Określa zawartość elementu X_DLNACAP w przestrzeni nazw urn:schemas-dlna-org:device-1-0.",
|
||||||
"LabelXDlnaDocHelp": "Określa zawartość elementu X_DLNADOC w przestrzeni nazw urn:schemas-dlna-org:device-1-0.",
|
"LabelXDlnaDocHelp": "Określa zawartość elementu X_DLNADOC w przestrzeni nazw urn:schemas-dlna-org:device-1-0.",
|
||||||
"LabelYear": "Rok:",
|
"LabelYear": "Rok:",
|
||||||
|
|
|
@ -172,8 +172,7 @@
|
||||||
"DirectStreamHelp2": "O streaming direto de um arquivo usa baixo processamento sem perda de qualidade de vídeo.",
|
"DirectStreamHelp2": "O streaming direto de um arquivo usa baixo processamento sem perda de qualidade de vídeo.",
|
||||||
"DirectStreaming": "Streaming Direto",
|
"DirectStreaming": "Streaming Direto",
|
||||||
"Director": "Diretor",
|
"Director": "Diretor",
|
||||||
"DirectorValue": "Diretor: {0}",
|
"Directors": "Diretores",
|
||||||
"DirectorsValue": "Diretores: {0}",
|
|
||||||
"Disabled": "Desativado",
|
"Disabled": "Desativado",
|
||||||
"Disc": "Disco",
|
"Disc": "Disco",
|
||||||
"Disconnect": "Desconectar",
|
"Disconnect": "Desconectar",
|
||||||
|
@ -248,9 +247,8 @@
|
||||||
"Friday": "Sexta-feira",
|
"Friday": "Sexta-feira",
|
||||||
"Fullscreen": "Tela cheia",
|
"Fullscreen": "Tela cheia",
|
||||||
"General": "Geral",
|
"General": "Geral",
|
||||||
"GenreValue": "Gênero: {0}",
|
"Genre": "Gênero",
|
||||||
"Genres": "Gêneros",
|
"Genres": "Gêneros",
|
||||||
"GenresValue": "Gêneros: {0}",
|
|
||||||
"GroupBySeries": "Agrupar por séries",
|
"GroupBySeries": "Agrupar por séries",
|
||||||
"GroupVersions": "Agrupar versões",
|
"GroupVersions": "Agrupar versões",
|
||||||
"GuestStar": "Convidado especial",
|
"GuestStar": "Convidado especial",
|
||||||
|
@ -508,7 +506,7 @@
|
||||||
"LabelAppNameExample": "Exemplo: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Exemplo: Sickbeard, Sonarr",
|
||||||
"LabelArtists": "Artistas:",
|
"LabelArtists": "Artistas:",
|
||||||
"LabelArtistsHelp": "Separa vários usando ;",
|
"LabelArtistsHelp": "Separa vários usando ;",
|
||||||
"LabelAudio": "Áudio:",
|
"LabelAudio": "Áudio",
|
||||||
"LabelAudioLanguagePreference": "Idioma preferido de áudio:",
|
"LabelAudioLanguagePreference": "Idioma preferido de áudio:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Atualizar automaticamente os metadados da internet:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Atualizar automaticamente os metadados da internet:",
|
||||||
"LabelBindToLocalNetworkAddress": "Vincular a um endereço de rede local:",
|
"LabelBindToLocalNetworkAddress": "Vincular a um endereço de rede local:",
|
||||||
|
@ -770,7 +768,7 @@
|
||||||
"LabelSubtitleDownloaders": "Downloaders de legendas:",
|
"LabelSubtitleDownloaders": "Downloaders de legendas:",
|
||||||
"LabelSubtitleFormatHelp": "Exemplo: srt",
|
"LabelSubtitleFormatHelp": "Exemplo: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Modo de legenda:",
|
"LabelSubtitlePlaybackMode": "Modo de legenda:",
|
||||||
"LabelSubtitles": "Legendas:",
|
"LabelSubtitles": "Legendas",
|
||||||
"LabelSupportedMediaTypes": "Tipos de Mídia Suportados:",
|
"LabelSupportedMediaTypes": "Tipos de Mídia Suportados:",
|
||||||
"LabelTVHomeScreen": "Tela inicial do modo TV:",
|
"LabelTVHomeScreen": "Tela inicial do modo TV:",
|
||||||
"LabelTagline": "Slogan:",
|
"LabelTagline": "Slogan:",
|
||||||
|
@ -806,7 +804,7 @@
|
||||||
"LabelVersion": "Versão:",
|
"LabelVersion": "Versão:",
|
||||||
"LabelVersionInstalled": "{0} instalado",
|
"LabelVersionInstalled": "{0} instalado",
|
||||||
"LabelVersionNumber": "Versão {0}",
|
"LabelVersionNumber": "Versão {0}",
|
||||||
"LabelVideo": "Vídeo:",
|
"LabelVideo": "Vídeo",
|
||||||
"LabelXDlnaCapHelp": "Determina o conteúdo do elemento X_DLNACAP no namespace urn:schemas-dlna-org:device-1-0.",
|
"LabelXDlnaCapHelp": "Determina o conteúdo do elemento X_DLNACAP no namespace urn:schemas-dlna-org:device-1-0.",
|
||||||
"LabelXDlnaDocHelp": "Determina o conteúdo do elemento X_DLNADOC no namespace urn:schemas-dlna-org:device-1-0.",
|
"LabelXDlnaDocHelp": "Determina o conteúdo do elemento X_DLNADOC no namespace urn:schemas-dlna-org:device-1-0.",
|
||||||
"LabelYear": "Ano:",
|
"LabelYear": "Ano:",
|
||||||
|
|
|
@ -873,8 +873,7 @@
|
||||||
"GuestStar": "Estrela convidada",
|
"GuestStar": "Estrela convidada",
|
||||||
"GroupVersions": "Agrupar versões",
|
"GroupVersions": "Agrupar versões",
|
||||||
"GroupBySeries": "Agrupar por série",
|
"GroupBySeries": "Agrupar por série",
|
||||||
"GenresValue": "Géneros: {0}",
|
"Genre": "Género",
|
||||||
"GenreValue": "Género: {0}",
|
|
||||||
"General": "Geral",
|
"General": "Geral",
|
||||||
"FormatValue": "Formato: {0}",
|
"FormatValue": "Formato: {0}",
|
||||||
"FolderTypeUnset": "Conteúdo Misto",
|
"FolderTypeUnset": "Conteúdo Misto",
|
||||||
|
@ -956,7 +955,7 @@
|
||||||
"LabelBindToLocalNetworkAddress": "Endereço local para colocar o servidor à escuta:",
|
"LabelBindToLocalNetworkAddress": "Endereço local para colocar o servidor à escuta:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Atualizar metadados automaticamente a partir da Internet:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Atualizar metadados automaticamente a partir da Internet:",
|
||||||
"LabelAuthProvider": "Provedor de autenticação:",
|
"LabelAuthProvider": "Provedor de autenticação:",
|
||||||
"LabelAudio": "Áudio:",
|
"LabelAudio": "Áudio",
|
||||||
"LabelAllowedRemoteAddressesMode": "Tipo de filtro de IP remoto:",
|
"LabelAllowedRemoteAddressesMode": "Tipo de filtro de IP remoto:",
|
||||||
"LabelAllowedRemoteAddresses": "Filtro de IP remoto:",
|
"LabelAllowedRemoteAddresses": "Filtro de IP remoto:",
|
||||||
"LabelAllowHWTranscoding": "Permitir transcodificação por hardware",
|
"LabelAllowHWTranscoding": "Permitir transcodificação por hardware",
|
||||||
|
@ -1077,8 +1076,7 @@
|
||||||
"News": "Notícias",
|
"News": "Notícias",
|
||||||
"Programs": "Programas",
|
"Programs": "Programas",
|
||||||
"HeaderMovies": "Filmes",
|
"HeaderMovies": "Filmes",
|
||||||
"DirectorsValue": "Realização: {0}",
|
"Directors": "Realização",
|
||||||
"DirectorValue": "Realizador: {0}",
|
|
||||||
"ButtonOff": "Desligado",
|
"ButtonOff": "Desligado",
|
||||||
"ButtonAddImage": "Adicionar Imagem",
|
"ButtonAddImage": "Adicionar Imagem",
|
||||||
"LabelOriginalTitle": "Título original:",
|
"LabelOriginalTitle": "Título original:",
|
||||||
|
@ -1308,7 +1306,7 @@
|
||||||
"LabelWeb": "Web:",
|
"LabelWeb": "Web:",
|
||||||
"LabelVideoCodec": "Codec de vídeo:",
|
"LabelVideoCodec": "Codec de vídeo:",
|
||||||
"LabelVideoBitrate": "Taxa de bits de vídeo:",
|
"LabelVideoBitrate": "Taxa de bits de vídeo:",
|
||||||
"LabelVideo": "Vídeo:",
|
"LabelVideo": "Vídeo",
|
||||||
"DashboardArchitecture": "Arquitetura: {0}",
|
"DashboardArchitecture": "Arquitetura: {0}",
|
||||||
"DashboardOperatingSystem": "Sistema Operativo: {0}",
|
"DashboardOperatingSystem": "Sistema Operativo: {0}",
|
||||||
"DashboardServerName": "Servidor: {0}",
|
"DashboardServerName": "Servidor: {0}",
|
||||||
|
@ -1322,7 +1320,7 @@
|
||||||
"LabelTextColor": "Côr do texto:",
|
"LabelTextColor": "Côr do texto:",
|
||||||
"LabelTextBackgroundColor": "Côr de fundo do texto:",
|
"LabelTextBackgroundColor": "Côr de fundo do texto:",
|
||||||
"LabelTag": "Etiqueta:",
|
"LabelTag": "Etiqueta:",
|
||||||
"LabelSubtitles": "Legendas:",
|
"LabelSubtitles": "Legendas",
|
||||||
"LabelSportsCategories": "Categorias de Desporto:",
|
"LabelSportsCategories": "Categorias de Desporto:",
|
||||||
"FetchingData": "A transferir informação adicional",
|
"FetchingData": "A transferir informação adicional",
|
||||||
"List": "lista",
|
"List": "lista",
|
||||||
|
|
|
@ -340,7 +340,7 @@
|
||||||
"LabelHttpsPort": "Número da porta HTTPS local:",
|
"LabelHttpsPort": "Número da porta HTTPS local:",
|
||||||
"LabelHomeScreenSectionValue": "Secção {0} do Painel Principal:",
|
"LabelHomeScreenSectionValue": "Secção {0} do Painel Principal:",
|
||||||
"LabelHomeNetworkQuality": "Qualidade da rede interna:",
|
"LabelHomeNetworkQuality": "Qualidade da rede interna:",
|
||||||
"LabelHardwareAccelerationTypeHelp": "Esta funcionalidade é experimental e está disponível apenas em sistemas suportados.",
|
"LabelHardwareAccelerationTypeHelp": "A aceleração de hardware requer configuração adicional.",
|
||||||
"LabelHardwareAccelerationType": "Aceleração por hardware:",
|
"LabelHardwareAccelerationType": "Aceleração por hardware:",
|
||||||
"LabelEncoderPreset": "Predefinição para codificação H264:",
|
"LabelEncoderPreset": "Predefinição para codificação H264:",
|
||||||
"LabelH264Crf": "CRF para codificação H264:",
|
"LabelH264Crf": "CRF para codificação H264:",
|
||||||
|
@ -377,7 +377,7 @@
|
||||||
"LabelEnableDlnaClientDiscoveryInterval": "Intervalo para descoberta de clientes (segundos)",
|
"LabelEnableDlnaClientDiscoveryInterval": "Intervalo para descoberta de clientes (segundos)",
|
||||||
"LabelEnableBlastAliveMessagesHelp": "Activar esta opção se o servidor não for convenientemente detectado por outros dispositivos UPnP na rede.",
|
"LabelEnableBlastAliveMessagesHelp": "Activar esta opção se o servidor não for convenientemente detectado por outros dispositivos UPnP na rede.",
|
||||||
"LabelEnableBlastAliveMessages": "Enviar mensagens de reconhecimento",
|
"LabelEnableBlastAliveMessages": "Enviar mensagens de reconhecimento",
|
||||||
"LabelEnableAutomaticPortMapHelp": "Tenta correponder automaticamente a porta pública para a porta local através de UPnP. Isto poderá não funcionar em alguns modelos de routers.",
|
"LabelEnableAutomaticPortMapHelp": "Tenta corresponder automaticamente a porta pública para a porta local através de UPnP. Isto poderá não funcionar em alguns modelos de roteadores. As alterações não serão até reinicialização do servidor.",
|
||||||
"LabelEnableAutomaticPortMap": "Activar a correspondência automática de portas",
|
"LabelEnableAutomaticPortMap": "Activar a correspondência automática de portas",
|
||||||
"LabelEmbedAlbumArtDidlHelp": "Alguns dispositivos preferem este método para obter a capa do álbum. Outros pode não ser capazes de reproduzir com esta opção activada.",
|
"LabelEmbedAlbumArtDidlHelp": "Alguns dispositivos preferem este método para obter a capa do álbum. Outros pode não ser capazes de reproduzir com esta opção activada.",
|
||||||
"LabelEmbedAlbumArtDidl": "Incorporar a capa do álbum no DIDL",
|
"LabelEmbedAlbumArtDidl": "Incorporar a capa do álbum no DIDL",
|
||||||
|
@ -450,7 +450,7 @@
|
||||||
"LabelAudioCodec": "Codec de áudio:",
|
"LabelAudioCodec": "Codec de áudio:",
|
||||||
"LabelAudioChannels": "Canais de áudio:",
|
"LabelAudioChannels": "Canais de áudio:",
|
||||||
"LabelAudioBitrate": "Taxa de bits de áudio:",
|
"LabelAudioBitrate": "Taxa de bits de áudio:",
|
||||||
"LabelAudio": "Áudio:",
|
"LabelAudio": "Áudio",
|
||||||
"LabelArtistsHelp": "Separe múltiplos com ;",
|
"LabelArtistsHelp": "Separe múltiplos com ;",
|
||||||
"LabelArtists": "Artistas:",
|
"LabelArtists": "Artistas:",
|
||||||
"LabelAppNameExample": "Exemplo: Sickbeard, NzbDrone",
|
"LabelAppNameExample": "Exemplo: Sickbeard, NzbDrone",
|
||||||
|
@ -906,8 +906,7 @@
|
||||||
"Disconnect": "Desligar",
|
"Disconnect": "Desligar",
|
||||||
"Disc": "Disco",
|
"Disc": "Disco",
|
||||||
"Disabled": "Desactivado",
|
"Disabled": "Desactivado",
|
||||||
"DirectorsValue": "Realização: {0}",
|
"Directors": "Realização",
|
||||||
"DirectorValue": "Realizador: {0}",
|
|
||||||
"Director": "Realizador",
|
"Director": "Realizador",
|
||||||
"DirectStreaming": "Reprodução directa",
|
"DirectStreaming": "Reprodução directa",
|
||||||
"DirectStreamHelp2": "A reprodução directa de um ficheiro requer pouco processamento e não implica perda de qualidade num vídeo.",
|
"DirectStreamHelp2": "A reprodução directa de um ficheiro requer pouco processamento e não implica perda de qualidade num vídeo.",
|
||||||
|
@ -1092,7 +1091,7 @@
|
||||||
"AuthProviderHelp": "Seleccione um mecanismo de autenticação a ser utilizado para validar as credenciais deste utilizador.",
|
"AuthProviderHelp": "Seleccione um mecanismo de autenticação a ser utilizado para validar as credenciais deste utilizador.",
|
||||||
"Audio": "Áudio",
|
"Audio": "Áudio",
|
||||||
"AttributeNew": "Novo",
|
"AttributeNew": "Novo",
|
||||||
"AspectRatio": "Formato",
|
"AspectRatio": "Proporção da tela",
|
||||||
"Ascending": "Crescente",
|
"Ascending": "Crescente",
|
||||||
"Art": "Capa",
|
"Art": "Capa",
|
||||||
"AroundTime": "Por volta das {0}",
|
"AroundTime": "Por volta das {0}",
|
||||||
|
@ -1186,12 +1185,11 @@
|
||||||
"GuestStar": "Estrela convidada",
|
"GuestStar": "Estrela convidada",
|
||||||
"GroupVersions": "Agrupar versões",
|
"GroupVersions": "Agrupar versões",
|
||||||
"GroupBySeries": "Agrupar por série",
|
"GroupBySeries": "Agrupar por série",
|
||||||
"GenresValue": "Géneros: {0}",
|
|
||||||
"ErrorAddingListingsToSchedulesDirect": "Ocorreu um erro ao adicionar o alinhamento à sua conta Schedules Direct. As contas Schedules Direct permitem apenas um número limitado de alinhamentos. Poderá ser necessário iniciar sessão na sua conta e remover outras listagens antes de prosseguir.",
|
"ErrorAddingListingsToSchedulesDirect": "Ocorreu um erro ao adicionar o alinhamento à sua conta Schedules Direct. As contas Schedules Direct permitem apenas um número limitado de alinhamentos. Poderá ser necessário iniciar sessão na sua conta e remover outras listagens antes de prosseguir.",
|
||||||
"Ended": "Terminado",
|
"Ended": "Terminado",
|
||||||
"DefaultMetadataLangaugeDescription": "Estes são os valores por omissão que podem ser individualizados para cada uma das bibliotecas.",
|
"DefaultMetadataLangaugeDescription": "Estes são os valores por omissão que podem ser individualizados para cada uma das bibliotecas.",
|
||||||
"Genres": "Géneros",
|
"Genres": "Géneros",
|
||||||
"GenreValue": "Género: {0}",
|
"Genre": "Género",
|
||||||
"General": "Geral",
|
"General": "Geral",
|
||||||
"Fullscreen": "Ecrã inteiro",
|
"Fullscreen": "Ecrã inteiro",
|
||||||
"Friday": "Sexta",
|
"Friday": "Sexta",
|
||||||
|
@ -1213,5 +1211,120 @@
|
||||||
"CopyStreamURLError": "Ocorreu um erro ao copiar o URL.",
|
"CopyStreamURLError": "Ocorreu um erro ao copiar o URL.",
|
||||||
"ButtonSplit": "Dividir",
|
"ButtonSplit": "Dividir",
|
||||||
"AskAdminToCreateLibrary": "Peça a um administrador para criar a biblioteca.",
|
"AskAdminToCreateLibrary": "Peça a um administrador para criar a biblioteca.",
|
||||||
"AllowFfmpegThrottling": "Transcodificação com falhas"
|
"AllowFfmpegThrottling": "Transcodificação com falhas",
|
||||||
|
"DashboardOperatingSystem": "Sistema Operativo",
|
||||||
|
"LabelUserLoginAttemptsBeforeLockout": "Número de tentativas de login falhadas antes do bloqueio do utilizador:",
|
||||||
|
"LabelTrackNumber": "Número da faixa:",
|
||||||
|
"LabelSportsCategories": "Categorias de Desportos:",
|
||||||
|
"Yesterday": "Ontem",
|
||||||
|
"MusicVideo": "Vídeo de música",
|
||||||
|
"MusicLibraryHelp": "Reveja o {0} guia de nomes de músicas {1}.",
|
||||||
|
"MusicArtist": "Artista musical",
|
||||||
|
"MusicAlbum": "Álbum de música",
|
||||||
|
"MovieLibraryHelp": "Reveja o {0} guia de nomeação de filmes {1}.",
|
||||||
|
"MoveRight": "Mover para a direita",
|
||||||
|
"MoveLeft": "Mova à esquerda",
|
||||||
|
"MoreMediaInfo": "Informações sobre mídia",
|
||||||
|
"MoreFromValue": "Mais de {0}",
|
||||||
|
"MediaInfoRefFrames": "Quadros de referência",
|
||||||
|
"MediaInfoContainer": "Container",
|
||||||
|
"MediaInfoAnamorphic": "Anamorphic",
|
||||||
|
"LabelVideoResolution": "Resolução do vídeo:",
|
||||||
|
"LabelTypeMetadataDownloaders": "{0} metadata downloaders:",
|
||||||
|
"LabelTranscodePath": "Caminho da transcodificação:",
|
||||||
|
"OnlyImageFormats": "Somente formatos de imagem (VOBSUB, PGS, SUB, etc)",
|
||||||
|
"OnlyForcedSubtitlesHelp": "Apenas as legendas marcadas como forçadas serão carregadas.",
|
||||||
|
"OnlyForcedSubtitles": "Apenas legendas forçadas",
|
||||||
|
"Off": "Desligar",
|
||||||
|
"NumLocationsValue": "{0} pastas",
|
||||||
|
"Normal": "Normal",
|
||||||
|
"None": "Nenhum",
|
||||||
|
"NoSubtitlesHelp": "As legendas não serão carregadas por padrão. Eles ainda podem ser ativados manualmente durante a reprodução.",
|
||||||
|
"NoSubtitles": "Sem legendas",
|
||||||
|
"NoSubtitleSearchResultsFound": "Nenhum resultado encontrado.",
|
||||||
|
"NoNewDevicesFound": "Não foram encontrados novos dispositivos. Para adicionar um novo sintonizador, feche esta caixa de diálogo e insira as informações do dispositivo manualmente.",
|
||||||
|
"NoCreatedLibraries": "Parece que você ainda não criou nenhuma biblioteca. {0} Deseja criar um agora? {1}",
|
||||||
|
"No": "Não",
|
||||||
|
"Mobile": "Celular",
|
||||||
|
"MetadataSettingChangeHelp": "A alteração das configurações de metadados afetará o novo conteúdo adicionado a partir de agora. Para atualizar o conteúdo existente, abra a tela de detalhes e clique no botão Atualizar ou execute atualizações em massa usando o gerenciador de metadados.",
|
||||||
|
"MetadataManager": "Gestor de metadados",
|
||||||
|
"Metadata": "Metadados",
|
||||||
|
"MessageYouHaveVersionInstalled": "Você possui a versão {0} atualmente instalada.",
|
||||||
|
"MessageUnsetContentHelp": "O conteúdo será exibido como pastas simples. Para obter melhores resultados, use o gerenciador de metadados para definir os tipos de conteúdo das subpastas.",
|
||||||
|
"MessageSettingsSaved": "Configurações salvas.",
|
||||||
|
"MessagePleaseWait": "Por favor, espere. Isso pode levar um minuto.",
|
||||||
|
"MessagePlayAccessRestricted": "A reprodução deste conteúdo está atualmente restrita. Entre em contato com o administrador do servidor para obter mais informações.",
|
||||||
|
"MessageNoServersAvailable": "Nenhum servidor foi encontrado usando a descoberta automática de servidores.",
|
||||||
|
"MessageNoCollectionsAvailable": "As coleções permitem que você desfrute de agrupamentos personalizados de filmes, séries e álbuns. Clique no botão + para começar a criar coleções.",
|
||||||
|
"MessageConfirmAppExit": "Você quer sair?",
|
||||||
|
"MediaInfoLayout": "Layout",
|
||||||
|
"MediaInfoLanguage": "Língua",
|
||||||
|
"MediaInfoInterlaced": "Entrelaçada",
|
||||||
|
"MediaInfoFramerate": "Taxa de quadros",
|
||||||
|
"MediaInfoForced": "Forçar",
|
||||||
|
"MediaInfoExternal": "Externo",
|
||||||
|
"MediaInfoDefault": "Padrão",
|
||||||
|
"MediaInfoCodecTag": "Codec tag",
|
||||||
|
"MediaInfoCodec": "Codec",
|
||||||
|
"MediaInfoBitrate": "Taxa de bits",
|
||||||
|
"MediaInfoBitDepth": "Profundidade de bits",
|
||||||
|
"MediaInfoAspectRatio": "Proporção da tela",
|
||||||
|
"ManageRecording": "Gerenciar gravações",
|
||||||
|
"Logo": "Logo",
|
||||||
|
"List": "Lista",
|
||||||
|
"LinksValue": "Links: {0}",
|
||||||
|
"Like": "Gostei",
|
||||||
|
"LeaveBlankToNotSetAPassword": "Você pode deixar esse campo em branco para definir nenhuma senha.",
|
||||||
|
"LearnHowYouCanContribute": "Aprenda como você pode contribuir.",
|
||||||
|
"LaunchWebAppOnStartupHelp": "Open the web client in your default web browser when the server initially starts. This will not occur when using the restart server function.",
|
||||||
|
"LaunchWebAppOnStartup": "Inicie a interface da web ao iniciar o servidor",
|
||||||
|
"Large": "Amplo",
|
||||||
|
"LanNetworksHelp": "Comma separated list of IP addresses or IP/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network.",
|
||||||
|
"LabelffmpegPathHelp": "O caminho para o arquivo do aplicativo ffmpeg ou pasta que contém o ffmpeg.",
|
||||||
|
"LabelffmpegPath": "FFmpeg caminho:",
|
||||||
|
"LabelYear": "Ano:",
|
||||||
|
"LabelXDlnaDoc": "X-DLNA doc:",
|
||||||
|
"LabelXDlnaCap": "X-DLNA cap:",
|
||||||
|
"LabelWeb": "Web:",
|
||||||
|
"LabelVideoCodec": "Vídeo: codec:",
|
||||||
|
"LabelVideoBitrate": "Vídeo taxa de bits:",
|
||||||
|
"LabelVideo": "Vídeo:",
|
||||||
|
"DashboardArchitecture": "Arquitetura: {0}",
|
||||||
|
"DashboardServerName": "Servidor: {0}",
|
||||||
|
"DashboardVersionNumber": "Versão: {0}",
|
||||||
|
"LabelVersion": "Versão:",
|
||||||
|
"LabelVaapiDeviceHelp": "Este é o nó de renderização usado para aceleração de hardware.",
|
||||||
|
"LabelVaapiDevice": "VA API Dispositivo:",
|
||||||
|
"LabelUserAgent": "Agente de usuário",
|
||||||
|
"LabelTranscodes": "Transcodificação:",
|
||||||
|
"LabelTranscodingFramerate": "Transcodificação frame por segundo:",
|
||||||
|
"LabelTranscodingProgress": "Progresso da transcodificação:",
|
||||||
|
"LabelTitle": "Título:",
|
||||||
|
"LabelTheme": "Tema:",
|
||||||
|
"LabelTextColor": "Cor do texto:",
|
||||||
|
"LabelTextBackgroundColor": "Cor do plano de fundo do texto:",
|
||||||
|
"LabelTag": "Tag:",
|
||||||
|
"LabelTVHomeScreen": "Tela inicial do modo TV:",
|
||||||
|
"LabelSubtitles": "Legendas:",
|
||||||
|
"LabelSubtitleDownloaders": "Downloaders de legendas:",
|
||||||
|
"LabelStreamType": "Tipo de fluxo:",
|
||||||
|
"LabelSpecialSeasonsDisplayName": "Nome de exibição da temporada especial:",
|
||||||
|
"LabelSoundEffects": "Efeitos sonoros:",
|
||||||
|
"LabelSortTitle": "Classificar título:",
|
||||||
|
"LabelSortOrder": "Ordem da Ordenação",
|
||||||
|
"LabelSortBy": "Ordenar por:",
|
||||||
|
"LabelSkin": "Skin:",
|
||||||
|
"EnableFastImageFadeInHelp": "Habilite uma animação mais rápida para imagens carregadas",
|
||||||
|
"EnableFastImageFadeIn": "Efeito de imagem fade-in rápido",
|
||||||
|
"LabelRemoteClientBitrateLimitHelp": "Um limite opcional de taxa de bits por fluxo para todos os dispositivos fora da rede. Isso é útil para impedir que os dispositivos solicitem uma taxa de bits mais alta do que a sua conexão à Internet pode suportar. Isso pode resultar no aumento da carga da CPU no servidor para transcodificar vídeos em tempo real para uma taxa de bits mais baixa.",
|
||||||
|
"LabelPlayerDimensions": "Dimensões do reprodutor:",
|
||||||
|
"LabelParentNumber": "Número pai:",
|
||||||
|
"LabelMetadataSavers": "Economizadores de metadados:",
|
||||||
|
"LabelDroppedFrames": "Quadros caídos:",
|
||||||
|
"LabelCorruptedFrames": "Quadros corrompidos:",
|
||||||
|
"LabelAudioBitDepth": "Profundidade do bit de áudio:",
|
||||||
|
"ClientSettings": "Configurações do Cliente",
|
||||||
|
"AllowFfmpegThrottlingHelp": "Quando uma transcodificação ou remux se aproximar da posição atual de reprodução, pause o processo para que consuma menos recursos. Isso é mais útil ao assistir sem procurar com frequência. Desative isso se você tiver problemas de reprodução.",
|
||||||
|
"MySubtitles": "Minhas legendas",
|
||||||
|
"Name": "Nome"
|
||||||
}
|
}
|
||||||
|
|
|
@ -382,8 +382,7 @@
|
||||||
"ConfirmDeletion": "Confirmă ștergerea",
|
"ConfirmDeletion": "Confirmă ștergerea",
|
||||||
"DeleteDeviceConfirmation": "Sigur doriți să ștergeți acest dispozitiv? Acesta va reapărea data viitoare când un utilizator se conectează cu acesta.",
|
"DeleteDeviceConfirmation": "Sigur doriți să ștergeți acest dispozitiv? Acesta va reapărea data viitoare când un utilizator se conectează cu acesta.",
|
||||||
"DeleteUser": "Șterge utilizator",
|
"DeleteUser": "Șterge utilizator",
|
||||||
"DirectorValue": "Regizor: {0}",
|
"Directors": "Regizori",
|
||||||
"DirectorsValue": "Regizori: {0}",
|
|
||||||
"Disabled": "Dezactivat",
|
"Disabled": "Dezactivat",
|
||||||
"Disconnect": "Deconectare",
|
"Disconnect": "Deconectare",
|
||||||
"Dislike": "Neplăcut",
|
"Dislike": "Neplăcut",
|
||||||
|
@ -545,8 +544,7 @@
|
||||||
"EveryNDays": "La fiecare {0} zile",
|
"EveryNDays": "La fiecare {0} zile",
|
||||||
"Extras": "Extra",
|
"Extras": "Extra",
|
||||||
"Genres": "Genuri",
|
"Genres": "Genuri",
|
||||||
"GenreValue": "Gen: {0}",
|
"Genre": "Gen",
|
||||||
"GenresValue": "Genuri: {0}",
|
|
||||||
"Guide": "Ghid",
|
"Guide": "Ghid",
|
||||||
"HeaderCancelRecording": "Anulați înregistrarea",
|
"HeaderCancelRecording": "Anulați înregistrarea",
|
||||||
"HeaderCancelSeries": "Anulați seriile",
|
"HeaderCancelSeries": "Anulați seriile",
|
||||||
|
@ -655,7 +653,7 @@
|
||||||
"LabelTag": "Etichetă:",
|
"LabelTag": "Etichetă:",
|
||||||
"LabelTVHomeScreen": "Ecran de pornire în modul TV:",
|
"LabelTVHomeScreen": "Ecran de pornire în modul TV:",
|
||||||
"LabelSupportedMediaTypes": "Tipuri media suportate:",
|
"LabelSupportedMediaTypes": "Tipuri media suportate:",
|
||||||
"LabelSubtitles": "Subtitrări:",
|
"LabelSubtitles": "Subtitrări",
|
||||||
"LabelSubtitlePlaybackMode": "Mod subtitrare:",
|
"LabelSubtitlePlaybackMode": "Mod subtitrare:",
|
||||||
"LabelSubtitleFormatHelp": "Exemplu: srt",
|
"LabelSubtitleFormatHelp": "Exemplu: srt",
|
||||||
"LabelSubtitleDownloaders": "Descărcare subtitrări:",
|
"LabelSubtitleDownloaders": "Descărcare subtitrări:",
|
||||||
|
@ -905,7 +903,7 @@
|
||||||
"LabelAudioChannels": "Canale audio:",
|
"LabelAudioChannels": "Canale audio:",
|
||||||
"LabelAudioBitrate": "Rata de biți audio:",
|
"LabelAudioBitrate": "Rata de biți audio:",
|
||||||
"LabelAudioBitDepth": "Adâncimea bitului audio:",
|
"LabelAudioBitDepth": "Adâncimea bitului audio:",
|
||||||
"LabelAudio": "Audio:",
|
"LabelAudio": "Audio",
|
||||||
"LabelAppNameExample": "Exemplu: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Exemplu: Sickbeard, Sonarr",
|
||||||
"LabelAppName": "Nume app",
|
"LabelAppName": "Nume app",
|
||||||
"LabelAllowedRemoteAddressesMode": "Modul de filtrare a adresei IP de la distanță:",
|
"LabelAllowedRemoteAddressesMode": "Modul de filtrare a adresei IP de la distanță:",
|
||||||
|
@ -1148,7 +1146,7 @@
|
||||||
"LabelWeb": "Web:",
|
"LabelWeb": "Web:",
|
||||||
"LabelVideoCodec": "Codec video:",
|
"LabelVideoCodec": "Codec video:",
|
||||||
"LabelVideoBitrate": "Rata de biți a video-ului:",
|
"LabelVideoBitrate": "Rata de biți a video-ului:",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"DashboardArchitecture": "Arhitectură: {0}",
|
"DashboardArchitecture": "Arhitectură: {0}",
|
||||||
"DashboardOperatingSystem": "Sistem de operare: {0}",
|
"DashboardOperatingSystem": "Sistem de operare: {0}",
|
||||||
"DashboardServerName": "Server: {0}",
|
"DashboardServerName": "Server: {0}",
|
||||||
|
|
|
@ -181,8 +181,7 @@
|
||||||
"DirectStreamHelp2": "При прямой трансляции файла расходуется очень мало вычислительной мощности без потери качества видео.",
|
"DirectStreamHelp2": "При прямой трансляции файла расходуется очень мало вычислительной мощности без потери качества видео.",
|
||||||
"DirectStreaming": "Транслируется напрямую",
|
"DirectStreaming": "Транслируется напрямую",
|
||||||
"Director": "Режиссёр",
|
"Director": "Режиссёр",
|
||||||
"DirectorValue": "Режиссёр: {0}",
|
"Directors": "Режиссёры",
|
||||||
"DirectorsValue": "Режиссёры: {0}",
|
|
||||||
"Disabled": "Отключено",
|
"Disabled": "Отключено",
|
||||||
"Disc": "Диск",
|
"Disc": "Диск",
|
||||||
"Disconnect": "Разъединиться",
|
"Disconnect": "Разъединиться",
|
||||||
|
@ -260,9 +259,8 @@
|
||||||
"Friday": "пятница",
|
"Friday": "пятница",
|
||||||
"Fullscreen": "Полный экран",
|
"Fullscreen": "Полный экран",
|
||||||
"General": "Общие",
|
"General": "Общие",
|
||||||
"GenreValue": "Жанр: {0}",
|
"Genre": "Жанр",
|
||||||
"Genres": "Жанры",
|
"Genres": "Жанры",
|
||||||
"GenresValue": "Жанры: {0}",
|
|
||||||
"GroupBySeries": "Группирование по сериалам",
|
"GroupBySeries": "Группирование по сериалам",
|
||||||
"GroupVersions": "Сгруппировать версии",
|
"GroupVersions": "Сгруппировать версии",
|
||||||
"GuestStar": "Пригл. актёр",
|
"GuestStar": "Пригл. актёр",
|
||||||
|
@ -527,7 +525,7 @@
|
||||||
"LabelAppNameExample": "Пример: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Пример: Sickbeard, Sonarr",
|
||||||
"LabelArtists": "Исполнители:",
|
"LabelArtists": "Исполнители:",
|
||||||
"LabelArtistsHelp": "Для разделения используйте точку с запятой ;",
|
"LabelArtistsHelp": "Для разделения используйте точку с запятой ;",
|
||||||
"LabelAudio": "Аудио:",
|
"LabelAudio": "Аудио",
|
||||||
"LabelAudioLanguagePreference": "Выбор языка аудио:",
|
"LabelAudioLanguagePreference": "Выбор языка аудио:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Автоматически обновлять метаданные из Интернета:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Автоматически обновлять метаданные из Интернета:",
|
||||||
"LabelBindToLocalNetworkAddress": "Привязка к адресу в локальной сети:",
|
"LabelBindToLocalNetworkAddress": "Привязка к адресу в локальной сети:",
|
||||||
|
@ -794,7 +792,7 @@
|
||||||
"LabelSubtitleDownloaders": "Загрузчики субтитров:",
|
"LabelSubtitleDownloaders": "Загрузчики субтитров:",
|
||||||
"LabelSubtitleFormatHelp": "Пример: srt",
|
"LabelSubtitleFormatHelp": "Пример: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Режим субтитров:",
|
"LabelSubtitlePlaybackMode": "Режим субтитров:",
|
||||||
"LabelSubtitles": "Субтитры:",
|
"LabelSubtitles": "Субтитры",
|
||||||
"LabelSupportedMediaTypes": "Поддерживаемые типы медиаданных:",
|
"LabelSupportedMediaTypes": "Поддерживаемые типы медиаданных:",
|
||||||
"LabelTVHomeScreen": "Главная страница ТВ-режима:",
|
"LabelTVHomeScreen": "Главная страница ТВ-режима:",
|
||||||
"LabelTag": "Тег:",
|
"LabelTag": "Тег:",
|
||||||
|
@ -832,7 +830,7 @@
|
||||||
"LabelVersion": "Версия:",
|
"LabelVersion": "Версия:",
|
||||||
"LabelVersionInstalled": "Установлена: {0}",
|
"LabelVersionInstalled": "Установлена: {0}",
|
||||||
"LabelVersionNumber": "Версия {0}",
|
"LabelVersionNumber": "Версия {0}",
|
||||||
"LabelVideo": "Видео:",
|
"LabelVideo": "Видео",
|
||||||
"LabelXDlnaCap": "Свойства X-Dlna:",
|
"LabelXDlnaCap": "Свойства X-Dlna:",
|
||||||
"LabelXDlnaCapHelp": "Определяется содержание из элемента X_DLNACAP во пространстве имён urn:schemas-dlna-org:device-1-0.",
|
"LabelXDlnaCapHelp": "Определяется содержание из элемента X_DLNACAP во пространстве имён urn:schemas-dlna-org:device-1-0.",
|
||||||
"LabelXDlnaDoc": "Схема X-Dlna:",
|
"LabelXDlnaDoc": "Схема X-Dlna:",
|
||||||
|
|
|
@ -123,8 +123,7 @@
|
||||||
"DetectingDevices": "Hľadám zariadenia",
|
"DetectingDevices": "Hľadám zariadenia",
|
||||||
"DeviceAccessHelp": "Táto možnosť sa vzťahuje iba na zariadenia, ktoré môžu byť jedinečne identifikované a nezabráni prístup cez prehliadač. Filtrovaním prístupu používateľských zariadení zabraňuje užívateľom použiť nové zariadenie, pokiaľ neboli tu schválené.",
|
"DeviceAccessHelp": "Táto možnosť sa vzťahuje iba na zariadenia, ktoré môžu byť jedinečne identifikované a nezabráni prístup cez prehliadač. Filtrovaním prístupu používateľských zariadení zabraňuje užívateľom použiť nové zariadenie, pokiaľ neboli tu schválené.",
|
||||||
"Director": "Režisér",
|
"Director": "Režisér",
|
||||||
"DirectorValue": "Réžia: {0}",
|
"Directors": "Režiséri",
|
||||||
"DirectorsValue": "Režiséri: {0}",
|
|
||||||
"Disc": "Disk",
|
"Disc": "Disk",
|
||||||
"Disconnect": "Odpojiť",
|
"Disconnect": "Odpojiť",
|
||||||
"Dislike": "Nepáči sa mi to",
|
"Dislike": "Nepáči sa mi to",
|
||||||
|
@ -165,9 +164,8 @@
|
||||||
"Friday": "Piatok",
|
"Friday": "Piatok",
|
||||||
"Fullscreen": "Celá obrazovka",
|
"Fullscreen": "Celá obrazovka",
|
||||||
"General": "Všeobecné",
|
"General": "Všeobecné",
|
||||||
"GenreValue": "Žáner: {0}",
|
"Genre": "Žáner",
|
||||||
"Genres": "Žánre",
|
"Genres": "Žánre",
|
||||||
"GenresValue": "Žánre: {0}",
|
|
||||||
"GroupBySeries": "Zoskupiť podľa série",
|
"GroupBySeries": "Zoskupiť podľa série",
|
||||||
"GuestStar": "Hosťujúca hviezda",
|
"GuestStar": "Hosťujúca hviezda",
|
||||||
"Guide": "Sprievodca",
|
"Guide": "Sprievodca",
|
||||||
|
@ -473,7 +471,7 @@
|
||||||
"LabelStartWhenPossible": "Spustiť akonáhle je možné:",
|
"LabelStartWhenPossible": "Spustiť akonáhle je možné:",
|
||||||
"LabelStatus": "Stav:",
|
"LabelStatus": "Stav:",
|
||||||
"LabelSubtitleFormatHelp": "Príklad: srt",
|
"LabelSubtitleFormatHelp": "Príklad: srt",
|
||||||
"LabelSubtitles": "Titulky:",
|
"LabelSubtitles": "Titulky",
|
||||||
"LabelSupportedMediaTypes": "Podporované typy médií:",
|
"LabelSupportedMediaTypes": "Podporované typy médií:",
|
||||||
"LabelTextBackgroundColor": "Farba pozadia textu:",
|
"LabelTextBackgroundColor": "Farba pozadia textu:",
|
||||||
"LabelTextColor": "Farba textu:",
|
"LabelTextColor": "Farba textu:",
|
||||||
|
@ -962,7 +960,7 @@
|
||||||
"HeaderVideoType": "Typ videa",
|
"HeaderVideoType": "Typ videa",
|
||||||
"HeaderVideoTypes": "Typy videí",
|
"HeaderVideoTypes": "Typy videí",
|
||||||
"LabelAirsBeforeSeason": "Vysielané pred sériou:",
|
"LabelAirsBeforeSeason": "Vysielané pred sériou:",
|
||||||
"LabelAudio": "Zvuk:",
|
"LabelAudio": "Zvuk",
|
||||||
"LabelBlockContentWithTags": "Blokovať položky s tagmi:",
|
"LabelBlockContentWithTags": "Blokovať položky s tagmi:",
|
||||||
"LabelDisplayMode": "Režim zobrazenia:",
|
"LabelDisplayMode": "Režim zobrazenia:",
|
||||||
"LabelDisplaySpecialsWithinSeasons": "Zobraziť špeciálne epizódy v sérií, v ktorej boli odvysielané",
|
"LabelDisplaySpecialsWithinSeasons": "Zobraziť špeciálne epizódy v sérií, v ktorej boli odvysielané",
|
||||||
|
@ -1329,7 +1327,7 @@
|
||||||
"LabelXDlnaCap": "X-DLNA cap:",
|
"LabelXDlnaCap": "X-DLNA cap:",
|
||||||
"LabelVideoCodec": "Video kodek:",
|
"LabelVideoCodec": "Video kodek:",
|
||||||
"LabelVideoBitrate": "Dátový tok videa:",
|
"LabelVideoBitrate": "Dátový tok videa:",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"LabelVaapiDeviceHelp": "Toto je vykreslovací node, ktorý sa používa na hardvérovú akceleráciu.",
|
"LabelVaapiDeviceHelp": "Toto je vykreslovací node, ktorý sa používa na hardvérovú akceleráciu.",
|
||||||
"LabelVaapiDevice": "VA API zariadenie:",
|
"LabelVaapiDevice": "VA API zariadenie:",
|
||||||
"LabelUserRemoteClientBitrateLimitHelp": "Prepíše východzie globálne hodnoty nastavené v nastavení prehrávania servera.",
|
"LabelUserRemoteClientBitrateLimitHelp": "Prepíše východzie globálne hodnoty nastavené v nastavení prehrávania servera.",
|
||||||
|
|
|
@ -271,8 +271,7 @@
|
||||||
"Down": "Dol",
|
"Down": "Dol",
|
||||||
"Dislike": "Ni mi všeč",
|
"Dislike": "Ni mi všeč",
|
||||||
"Disabled": "Onemogočen",
|
"Disabled": "Onemogočen",
|
||||||
"DirectorsValue": "Režiserji: {0}",
|
"Directors": "Režiserji",
|
||||||
"DirectorValue": "Režiser: {0}",
|
|
||||||
"Director": "Režiser",
|
"Director": "Režiser",
|
||||||
"DetectingDevices": "Zaznavanje naprav",
|
"DetectingDevices": "Zaznavanje naprav",
|
||||||
"Desktop": "Namizje",
|
"Desktop": "Namizje",
|
||||||
|
@ -462,8 +461,7 @@
|
||||||
"GuestStar": "Gostujoči igralec",
|
"GuestStar": "Gostujoči igralec",
|
||||||
"GroupVersions": "Združi različice",
|
"GroupVersions": "Združi različice",
|
||||||
"GroupBySeries": "Združi bo serijah",
|
"GroupBySeries": "Združi bo serijah",
|
||||||
"GenresValue": "Zvrsti: {0}",
|
"Genre": "Zvrst",
|
||||||
"GenreValue": "Zvrst: {0}",
|
|
||||||
"General": "Splošno",
|
"General": "Splošno",
|
||||||
"Fullscreen": "Celoten zaslon",
|
"Fullscreen": "Celoten zaslon",
|
||||||
"Friday": "Petek",
|
"Friday": "Petek",
|
||||||
|
@ -596,7 +594,7 @@
|
||||||
"LabelAppName": "Ime aplikacije",
|
"LabelAppName": "Ime aplikacije",
|
||||||
"LabelAppNameExample": "Primer: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Primer: Sickbeard, Sonarr",
|
||||||
"LabelArtistsHelp": "Loči več z ;",
|
"LabelArtistsHelp": "Loči več z ;",
|
||||||
"LabelAudio": "Zvok:",
|
"LabelAudio": "Zvok",
|
||||||
"LabelAudioBitrate": "Bitna hitrost zvoka:",
|
"LabelAudioBitrate": "Bitna hitrost zvoka:",
|
||||||
"LabelAudioChannels": "Kanali zvoka:",
|
"LabelAudioChannels": "Kanali zvoka:",
|
||||||
"LabelAudioCodec": "Zvočni kodek:",
|
"LabelAudioCodec": "Zvočni kodek:",
|
||||||
|
@ -1187,7 +1185,7 @@
|
||||||
"LabelTextBackgroundColor": "Barva ozadja besedila:",
|
"LabelTextBackgroundColor": "Barva ozadja besedila:",
|
||||||
"LabelTag": "Oznaka:",
|
"LabelTag": "Oznaka:",
|
||||||
"LabelSupportedMediaTypes": "Podprti tipi predstavnosti:",
|
"LabelSupportedMediaTypes": "Podprti tipi predstavnosti:",
|
||||||
"LabelSubtitles": "Podnapisi:",
|
"LabelSubtitles": "Podnapisi",
|
||||||
"LabelSubtitlePlaybackMode": "Način podnapisov:",
|
"LabelSubtitlePlaybackMode": "Način podnapisov:",
|
||||||
"LabelSubtitleFormatHelp": "Primer: srt",
|
"LabelSubtitleFormatHelp": "Primer: srt",
|
||||||
"LabelSubtitleDownloaders": "Pridobivanje podnapisov:",
|
"LabelSubtitleDownloaders": "Pridobivanje podnapisov:",
|
||||||
|
|
|
@ -163,8 +163,7 @@
|
||||||
"DirectStreamHelp2": "Direktströmning av en fil använder väldigt lite resurser av CPU'n utan att bildkvaliten försämras.",
|
"DirectStreamHelp2": "Direktströmning av en fil använder väldigt lite resurser av CPU'n utan att bildkvaliten försämras.",
|
||||||
"DirectStreaming": "Direktströmning",
|
"DirectStreaming": "Direktströmning",
|
||||||
"Director": "Regissör",
|
"Director": "Regissör",
|
||||||
"DirectorValue": "Regi: {0}",
|
"Directors": "Regi",
|
||||||
"DirectorsValue": "Regi: {0}",
|
|
||||||
"Disabled": "Inaktiverad",
|
"Disabled": "Inaktiverad",
|
||||||
"Disc": "Skiva",
|
"Disc": "Skiva",
|
||||||
"Disconnect": "Koppla bort",
|
"Disconnect": "Koppla bort",
|
||||||
|
@ -235,7 +234,6 @@
|
||||||
"Friday": "Fredag",
|
"Friday": "Fredag",
|
||||||
"Fullscreen": "Fullskärm",
|
"Fullscreen": "Fullskärm",
|
||||||
"Genres": "Genrer",
|
"Genres": "Genrer",
|
||||||
"GenresValue": "Genrer: {0}",
|
|
||||||
"GroupBySeries": "Gruppera efter serie",
|
"GroupBySeries": "Gruppera efter serie",
|
||||||
"GroupVersions": "Gruppera versioner",
|
"GroupVersions": "Gruppera versioner",
|
||||||
"GuestStar": "Gästmedverkande",
|
"GuestStar": "Gästmedverkande",
|
||||||
|
@ -482,7 +480,7 @@
|
||||||
"LabelAppNameExample": "Exempel: Sickbeard, Sonarr",
|
"LabelAppNameExample": "Exempel: Sickbeard, Sonarr",
|
||||||
"LabelArtists": "Artister:",
|
"LabelArtists": "Artister:",
|
||||||
"LabelArtistsHelp": "Separera med vid flera ;",
|
"LabelArtistsHelp": "Separera med vid flera ;",
|
||||||
"LabelAudio": "Ljud:",
|
"LabelAudio": "Ljud",
|
||||||
"LabelAudioLanguagePreference": "Önskat ljudspråk:",
|
"LabelAudioLanguagePreference": "Önskat ljudspråk:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "Uppdatera metadata automatiskt ifrån internet:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "Uppdatera metadata automatiskt ifrån internet:",
|
||||||
"LabelBindToLocalNetworkAddress": "Knyt till lokal nätverksadress:",
|
"LabelBindToLocalNetworkAddress": "Knyt till lokal nätverksadress:",
|
||||||
|
@ -742,7 +740,7 @@
|
||||||
"LabelSubtitleDownloaders": "Undertextskällor:",
|
"LabelSubtitleDownloaders": "Undertextskällor:",
|
||||||
"LabelSubtitleFormatHelp": "Exempel: srt",
|
"LabelSubtitleFormatHelp": "Exempel: srt",
|
||||||
"LabelSubtitlePlaybackMode": "Undertextläge:",
|
"LabelSubtitlePlaybackMode": "Undertextläge:",
|
||||||
"LabelSubtitles": "Undertexter:",
|
"LabelSubtitles": "Undertexter",
|
||||||
"LabelSupportedMediaTypes": "Mediaformat som stöds:",
|
"LabelSupportedMediaTypes": "Mediaformat som stöds:",
|
||||||
"LabelTVHomeScreen": "Hemskärm i TV-läge:",
|
"LabelTVHomeScreen": "Hemskärm i TV-läge:",
|
||||||
"LabelTag": "Etikett:",
|
"LabelTag": "Etikett:",
|
||||||
|
@ -1273,7 +1271,7 @@
|
||||||
"HeaderApp": "Applikation",
|
"HeaderApp": "Applikation",
|
||||||
"HeaderAdmin": "Administratör",
|
"HeaderAdmin": "Administratör",
|
||||||
"Guide": "Guide",
|
"Guide": "Guide",
|
||||||
"GenreValue": "Genre: {0}",
|
"Genre": "Genre",
|
||||||
"General": "Allmänt",
|
"General": "Allmänt",
|
||||||
"FastForward": "Snabbspola",
|
"FastForward": "Snabbspola",
|
||||||
"Extras": "Extramaterial",
|
"Extras": "Extramaterial",
|
||||||
|
@ -1453,7 +1451,7 @@
|
||||||
"LabelVideoResolution": "Video upplösning:",
|
"LabelVideoResolution": "Video upplösning:",
|
||||||
"LabelVideoCodec": "Video codec:",
|
"LabelVideoCodec": "Video codec:",
|
||||||
"LabelVideoBitrate": "Video bitrate:",
|
"LabelVideoBitrate": "Video bitrate:",
|
||||||
"LabelVideo": "Video:",
|
"LabelVideo": "Video",
|
||||||
"DashboardArchitecture": "Arkitektur: {0}",
|
"DashboardArchitecture": "Arkitektur: {0}",
|
||||||
"DashboardOperatingSystem": "Operativsystem: {0}",
|
"DashboardOperatingSystem": "Operativsystem: {0}",
|
||||||
"DashboardServerName": "Server: {0}",
|
"DashboardServerName": "Server: {0}",
|
||||||
|
|
|
@ -314,9 +314,8 @@
|
||||||
"ColorPrimaries": "Renk primerleri",
|
"ColorPrimaries": "Renk primerleri",
|
||||||
"DirectStreamHelp2": "Doğrudan Akış, video kalitesinde herhangi bir kayıp olmadan çok az işlem gücü kullanır.",
|
"DirectStreamHelp2": "Doğrudan Akış, video kalitesinde herhangi bir kayıp olmadan çok az işlem gücü kullanır.",
|
||||||
"DirectStreaming": "Doğrudan akış",
|
"DirectStreaming": "Doğrudan akış",
|
||||||
"Director": "yönetmen",
|
"Director": "Yönetmen",
|
||||||
"DirectorValue": "Yönetmen: {0}",
|
"Directors": "Yöneticiler",
|
||||||
"DirectorsValue": "Yöneticiler: {0}",
|
|
||||||
"Disabled": "Deaktif",
|
"Disabled": "Deaktif",
|
||||||
"DisplayModeHelp": "Jellyfin’i çalıştırdığınız ekran türünü seçin.",
|
"DisplayModeHelp": "Jellyfin’i çalıştırdığınız ekran türünü seçin.",
|
||||||
"DoNotRecord": "Kaydetme",
|
"DoNotRecord": "Kaydetme",
|
||||||
|
@ -521,8 +520,7 @@
|
||||||
"GuestStar": "Konuk sanatçı",
|
"GuestStar": "Konuk sanatçı",
|
||||||
"GroupVersions": "Grup versiyonları",
|
"GroupVersions": "Grup versiyonları",
|
||||||
"GroupBySeries": "Seriye göre gruplandır",
|
"GroupBySeries": "Seriye göre gruplandır",
|
||||||
"GenresValue": "Türler: {0}",
|
"Genre": "Tür",
|
||||||
"GenreValue": "Tür: {0}",
|
|
||||||
"General": "Genel",
|
"General": "Genel",
|
||||||
"Fullscreen": "Tam ekran",
|
"Fullscreen": "Tam ekran",
|
||||||
"FormatValue": "Biçim: {0}",
|
"FormatValue": "Biçim: {0}",
|
||||||
|
@ -651,7 +649,7 @@
|
||||||
"LabelAudioSampleRate": "Ses örnekleme hızı:",
|
"LabelAudioSampleRate": "Ses örnekleme hızı:",
|
||||||
"LabelAudioCodec": "Ses kodeği:",
|
"LabelAudioCodec": "Ses kodeği:",
|
||||||
"LabelAudioChannels": "Ses kanalları:",
|
"LabelAudioChannels": "Ses kanalları:",
|
||||||
"LabelAudio": "Ses:",
|
"LabelAudio": "Ses",
|
||||||
"LabelAppName": "Uygulama adı",
|
"LabelAppName": "Uygulama adı",
|
||||||
"LabelAllowHWTranscoding": "Donanım kod dönüştürmesine izin ver",
|
"LabelAllowHWTranscoding": "Donanım kod dönüştürmesine izin ver",
|
||||||
"LabelAll": "Tümü",
|
"LabelAll": "Tümü",
|
||||||
|
|
|
@ -537,8 +537,8 @@
|
||||||
"LabelDisplayName": "显示名称:",
|
"LabelDisplayName": "显示名称:",
|
||||||
"LabelDisplayOrder": "显示顺序:",
|
"LabelDisplayOrder": "显示顺序:",
|
||||||
"LabelDisplaySpecialsWithinSeasons": "显示季中所播出的特集",
|
"LabelDisplaySpecialsWithinSeasons": "显示季中所播出的特集",
|
||||||
"LabelDownMixAudioScale": "缩混音频增强:",
|
"LabelDownMixAudioScale": "降混音频增强:",
|
||||||
"LabelDownMixAudioScaleHelp": "缩混音频增强。值为A将保留原来的音量。",
|
"LabelDownMixAudioScaleHelp": "降混音时增强音频。值为 1 时将保留原始音量。",
|
||||||
"LabelDownloadLanguages": "下载语言:",
|
"LabelDownloadLanguages": "下载语言:",
|
||||||
"LabelDropImageHere": "拖拽或点击选择图像于此处。",
|
"LabelDropImageHere": "拖拽或点击选择图像于此处。",
|
||||||
"LabelDroppedFrames": "丢弃的帧:",
|
"LabelDroppedFrames": "丢弃的帧:",
|
||||||
|
@ -705,7 +705,7 @@
|
||||||
"LabelPublicHttpPortHelp": "映射到本地 HTTP 端口的公开端口号。",
|
"LabelPublicHttpPortHelp": "映射到本地 HTTP 端口的公开端口号。",
|
||||||
"LabelPublicHttpsPort": "公开 HTTPS 端口号:",
|
"LabelPublicHttpsPort": "公开 HTTPS 端口号:",
|
||||||
"LabelPublicHttpsPortHelp": "映射到本地 HTTPS 端口的公开端口号。",
|
"LabelPublicHttpsPortHelp": "映射到本地 HTTPS 端口的公开端口号。",
|
||||||
"LabelReadHowYouCanContribute": "学习如何构建。",
|
"LabelReadHowYouCanContribute": "了解如何做出贡献。",
|
||||||
"LabelReasonForTranscoding": "转码原因:",
|
"LabelReasonForTranscoding": "转码原因:",
|
||||||
"LabelRecord": "录制:",
|
"LabelRecord": "录制:",
|
||||||
"LabelRecordingPath": "默认录制路径:",
|
"LabelRecordingPath": "默认录制路径:",
|
||||||
|
@ -753,7 +753,7 @@
|
||||||
"LabelSubtitleDownloaders": "字幕下载器:",
|
"LabelSubtitleDownloaders": "字幕下载器:",
|
||||||
"LabelSubtitleFormatHelp": "例如:SRT",
|
"LabelSubtitleFormatHelp": "例如:SRT",
|
||||||
"LabelSubtitlePlaybackMode": "字幕模式:",
|
"LabelSubtitlePlaybackMode": "字幕模式:",
|
||||||
"LabelSubtitles": "字幕:",
|
"LabelSubtitles": "字幕",
|
||||||
"LabelSupportedMediaTypes": "支持的媒体类型:",
|
"LabelSupportedMediaTypes": "支持的媒体类型:",
|
||||||
"LabelTVHomeScreen": "TV 模式主屏幕:",
|
"LabelTVHomeScreen": "TV 模式主屏幕:",
|
||||||
"LabelTag": "标签:",
|
"LabelTag": "标签:",
|
||||||
|
@ -1310,16 +1310,14 @@
|
||||||
"BoxRear": "盒子(背面)",
|
"BoxRear": "盒子(背面)",
|
||||||
"ChannelNumber": "频道号码",
|
"ChannelNumber": "频道号码",
|
||||||
"ColorSpace": "色彩空间",
|
"ColorSpace": "色彩空间",
|
||||||
"DirectorValue": "导演:{0}",
|
"Directors": "导演",
|
||||||
"DirectorsValue": "导演:{0}",
|
|
||||||
"ColorTransfer": "色彩转换",
|
"ColorTransfer": "色彩转换",
|
||||||
"ConfirmDeleteItem": "这将同时在磁盘和媒体库中删除这个项目。确认删除?",
|
"ConfirmDeleteItem": "这将同时在磁盘和媒体库中删除这个项目。确认删除?",
|
||||||
"ConfirmDeleteItems": "这将同时在磁盘和媒体库中删除这些项目。确认删除?",
|
"ConfirmDeleteItems": "这将同时在磁盘和媒体库中删除这些项目。确认删除?",
|
||||||
"ConfirmEndPlayerSession": "确认要关闭位于{0}的Jellyfin吗?",
|
"ConfirmEndPlayerSession": "确认要关闭位于{0}的Jellyfin吗?",
|
||||||
"ValueSeconds": "{0}秒",
|
"ValueSeconds": "{0}秒",
|
||||||
"Features": "功能",
|
"Features": "功能",
|
||||||
"GenreValue": "风格:{0}",
|
"Genre": "风格",
|
||||||
"GenresValue": "风格:{0}",
|
|
||||||
"Guide": "指南",
|
"Guide": "指南",
|
||||||
"HeaderCancelRecording": "取消录制",
|
"HeaderCancelRecording": "取消录制",
|
||||||
"HeaderFavoriteMovies": "最爱的电影",
|
"HeaderFavoriteMovies": "最爱的电影",
|
||||||
|
@ -1329,7 +1327,7 @@
|
||||||
"HeaderFavoriteVideos": "最爱的视频",
|
"HeaderFavoriteVideos": "最爱的视频",
|
||||||
"HeaderVideoType": "视频类型",
|
"HeaderVideoType": "视频类型",
|
||||||
"Items": "项目",
|
"Items": "项目",
|
||||||
"LabelAudio": "音频:",
|
"LabelAudio": "音频",
|
||||||
"LabelServerName": "服务器名称:",
|
"LabelServerName": "服务器名称:",
|
||||||
"LabelTranscodePath": "转码路径:",
|
"LabelTranscodePath": "转码路径:",
|
||||||
"LabelTranscodes": "转码:",
|
"LabelTranscodes": "转码:",
|
||||||
|
@ -1348,7 +1346,7 @@
|
||||||
"HeaderFavoriteArtists": "最爱的艺术家",
|
"HeaderFavoriteArtists": "最爱的艺术家",
|
||||||
"HeaderKeepRecording": "继续录制",
|
"HeaderKeepRecording": "继续录制",
|
||||||
"HeaderKeepSeries": "保持系列",
|
"HeaderKeepSeries": "保持系列",
|
||||||
"HeaderMusicQuality": "音质",
|
"HeaderMusicQuality": "音频质量",
|
||||||
"HeaderNextEpisodePlayingInValue": "下一集在 {0} 后播放",
|
"HeaderNextEpisodePlayingInValue": "下一集在 {0} 后播放",
|
||||||
"HeaderNextVideoPlayingInValue": "下一部影片在 {0} 后播放",
|
"HeaderNextVideoPlayingInValue": "下一部影片在 {0} 后播放",
|
||||||
"HeaderPlayOn": "播放在",
|
"HeaderPlayOn": "播放在",
|
||||||
|
@ -1365,7 +1363,7 @@
|
||||||
"LabelUserLoginAttemptsBeforeLockout": "用户被封禁前可尝试的次数:",
|
"LabelUserLoginAttemptsBeforeLockout": "用户被封禁前可尝试的次数:",
|
||||||
"DashboardVersionNumber": "版本:{0}",
|
"DashboardVersionNumber": "版本:{0}",
|
||||||
"DashboardServerName": "服务器:{0}",
|
"DashboardServerName": "服务器:{0}",
|
||||||
"LabelVideo": "视频:",
|
"LabelVideo": "视频",
|
||||||
"LabelWeb": "网站:",
|
"LabelWeb": "网站:",
|
||||||
"LeaveBlankToNotSetAPassword": "您可以将此字段留空以设置空密码。",
|
"LeaveBlankToNotSetAPassword": "您可以将此字段留空以设置空密码。",
|
||||||
"LinksValue": "链接:{0}",
|
"LinksValue": "链接:{0}",
|
||||||
|
@ -1474,5 +1472,8 @@
|
||||||
"AskAdminToCreateLibrary": "请联系管理员以创建一个新的资料库。",
|
"AskAdminToCreateLibrary": "请联系管理员以创建一个新的资料库。",
|
||||||
"PlaybackErrorNoCompatibleStream": "客户端配置文件存在问题,服务器未发送兼容的媒体格式。",
|
"PlaybackErrorNoCompatibleStream": "客户端配置文件存在问题,服务器未发送兼容的媒体格式。",
|
||||||
"AllowFfmpegThrottlingHelp": "当转码或再封装的进度大幅超过当前播放位置时,暂停该进程,以使其消耗更少的资源。在观看时不经常调整播放进度的情况下,这将非常有用。如果遇到播放问题,请关闭此功能。",
|
"AllowFfmpegThrottlingHelp": "当转码或再封装的进度大幅超过当前播放位置时,暂停该进程,以使其消耗更少的资源。在观看时不经常调整播放进度的情况下,这将非常有用。如果遇到播放问题,请关闭此功能。",
|
||||||
"AllowFfmpegThrottling": "限制转码速度"
|
"AllowFfmpegThrottling": "限制转码速度",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNames": "优先使用内置的剧集信息而不是文件名",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "这将在内置元数据含剧集信息时使用内置信息。",
|
||||||
|
"ClientSettings": "客户端设置"
|
||||||
}
|
}
|
||||||
|
|
|
@ -328,7 +328,7 @@
|
||||||
"Art": "圖像",
|
"Art": "圖像",
|
||||||
"Artists": "演出者",
|
"Artists": "演出者",
|
||||||
"AsManyAsPossible": "越多越好",
|
"AsManyAsPossible": "越多越好",
|
||||||
"Ascending": "由少到多",
|
"Ascending": "遞增",
|
||||||
"AspectRatio": "長寬比",
|
"AspectRatio": "長寬比",
|
||||||
"AttributeNew": "新增",
|
"AttributeNew": "新增",
|
||||||
"Audio": "音訊",
|
"Audio": "音訊",
|
||||||
|
@ -453,8 +453,7 @@
|
||||||
"DirectStreamHelp2": "直接串流檔案會占用非常少的處理效能並且影片的品質不會有任何損失。",
|
"DirectStreamHelp2": "直接串流檔案會占用非常少的處理效能並且影片的品質不會有任何損失。",
|
||||||
"DirectStreaming": "直接串流",
|
"DirectStreaming": "直接串流",
|
||||||
"Director": "導演",
|
"Director": "導演",
|
||||||
"DirectorValue": "導演: {0}",
|
"Directors": "導演",
|
||||||
"DirectorsValue": "導演: {0}",
|
|
||||||
"Disabled": "已停用",
|
"Disabled": "已停用",
|
||||||
"Disc": "光碟",
|
"Disc": "光碟",
|
||||||
"Disconnect": "斷開連結",
|
"Disconnect": "斷開連結",
|
||||||
|
@ -539,9 +538,8 @@
|
||||||
"FreeAppsFeatureDescription": "享受免費的Jellyfin應用程式。",
|
"FreeAppsFeatureDescription": "享受免費的Jellyfin應用程式。",
|
||||||
"Fullscreen": "全螢幕",
|
"Fullscreen": "全螢幕",
|
||||||
"General": "一般",
|
"General": "一般",
|
||||||
"GenreValue": "類型 : {0}",
|
"Genre": "類型",
|
||||||
"Genres": "風格",
|
"Genres": "風格",
|
||||||
"GenresValue": "類型 : {0}",
|
|
||||||
"GroupBySeries": "按系列分組",
|
"GroupBySeries": "按系列分組",
|
||||||
"GroupVersions": "按版本分組",
|
"GroupVersions": "按版本分組",
|
||||||
"GuestStar": "特邀明星",
|
"GuestStar": "特邀明星",
|
||||||
|
@ -552,7 +550,7 @@
|
||||||
"EncoderPresetHelp": "速度越慢則會得到更好的壓縮編碼效率。",
|
"EncoderPresetHelp": "速度越慢則會得到更好的壓縮編碼效率。",
|
||||||
"HDPrograms": "HD節目",
|
"HDPrograms": "HD節目",
|
||||||
"HandledByProxy": "由反向代理處理",
|
"HandledByProxy": "由反向代理處理",
|
||||||
"HardwareAccelerationWarning": "啟動硬體加速可能在某些環境下導致系統不穩定。請確認你的作業系統和影片驅動程式是最新的。如果你在開啟此項後播放影片產生困難,那麼你需要將此選項設回”自動“。",
|
"HardwareAccelerationWarning": "啟動硬體加速可能在某些環境下導致系統不穩定。請確認你的作業系統和影片驅動程式是最新的。如果你在開啟此項後播放影片產生困難,那麼你需要將此選項設回”無“。",
|
||||||
"HeaderAccessSchedule": "存取時程",
|
"HeaderAccessSchedule": "存取時程",
|
||||||
"HeaderAccessScheduleHelp": "建立一個存取時程以限制可存取的時段。",
|
"HeaderAccessScheduleHelp": "建立一個存取時程以限制可存取的時段。",
|
||||||
"HeaderActiveDevices": "運行中裝置",
|
"HeaderActiveDevices": "運行中裝置",
|
||||||
|
@ -917,7 +915,7 @@
|
||||||
"LabelAppNameExample": "例如: Sickbeard, Sonarr",
|
"LabelAppNameExample": "例如: Sickbeard, Sonarr",
|
||||||
"LabelArtists": "藝人:",
|
"LabelArtists": "藝人:",
|
||||||
"LabelArtistsHelp": "分開多重使用 ;",
|
"LabelArtistsHelp": "分開多重使用 ;",
|
||||||
"LabelAudio": "音頻:",
|
"LabelAudio": "音頻",
|
||||||
"LabelAuthProvider": "認證提供者:",
|
"LabelAuthProvider": "認證提供者:",
|
||||||
"LabelAutomaticallyRefreshInternetMetadataEvery": "從網路自動刷新數據:",
|
"LabelAutomaticallyRefreshInternetMetadataEvery": "從網路自動刷新數據:",
|
||||||
"LabelBindToLocalNetworkAddress": "聯結本地網絡地址:",
|
"LabelBindToLocalNetworkAddress": "聯結本地網絡地址:",
|
||||||
|
@ -1046,7 +1044,7 @@
|
||||||
"LabelExtractChaptersDuringLibraryScan": "於媒體庫掃描時擷取章節圖片",
|
"LabelExtractChaptersDuringLibraryScan": "於媒體庫掃描時擷取章節圖片",
|
||||||
"LabelHttpsPort": "本地 HTTPS 端口:",
|
"LabelHttpsPort": "本地 HTTPS 端口:",
|
||||||
"LabelFailed": "失敗",
|
"LabelFailed": "失敗",
|
||||||
"LabelSubtitles": "字幕:",
|
"LabelSubtitles": "字幕",
|
||||||
"LabelSupportedMediaTypes": "支援的媒體類型:",
|
"LabelSupportedMediaTypes": "支援的媒體類型:",
|
||||||
"LabelTextBackgroundColor": "文字背景顏色:",
|
"LabelTextBackgroundColor": "文字背景顏色:",
|
||||||
"LabelTextColor": "文字顏色:",
|
"LabelTextColor": "文字顏色:",
|
||||||
|
@ -1062,7 +1060,7 @@
|
||||||
"LabelTypeText": "文本",
|
"LabelTypeText": "文本",
|
||||||
"LabelUsername": "使用者名稱:",
|
"LabelUsername": "使用者名稱:",
|
||||||
"DashboardOperatingSystem": "作業系統:{0}",
|
"DashboardOperatingSystem": "作業系統:{0}",
|
||||||
"LabelVideo": "影片:",
|
"LabelVideo": "影片",
|
||||||
"LabelVideoCodec": "影片編碼:",
|
"LabelVideoCodec": "影片編碼:",
|
||||||
"LabelYear": "年:",
|
"LabelYear": "年:",
|
||||||
"LatestFromLibrary": "最新 {0}",
|
"LatestFromLibrary": "最新 {0}",
|
||||||
|
@ -1493,7 +1491,7 @@
|
||||||
"RecordingPathChangeMessage": "更改錄製資料夾不會將現有錄製從舊位置遷移到新的,您需要手動移動它們。",
|
"RecordingPathChangeMessage": "更改錄製資料夾不會將現有錄製從舊位置遷移到新的,您需要手動移動它們。",
|
||||||
"RestartPleaseWaitMessage": "Jellyfin 伺服器將重新啟動,這將花費幾分鐘時間。",
|
"RestartPleaseWaitMessage": "Jellyfin 伺服器將重新啟動,這將花費幾分鐘時間。",
|
||||||
"LabelEmbedAlbumArtDidl": "於 Didl 中嵌入專輯封面",
|
"LabelEmbedAlbumArtDidl": "於 Didl 中嵌入專輯封面",
|
||||||
"LabelEnableAutomaticPortMapHelp": "自動嘗試映射公共連接埠到 UPnP 本地連接埠。這可能無法用於某些路由器。",
|
"LabelEnableAutomaticPortMapHelp": "自動嘗試映射公共連接埠到 UPnP 本地連接埠。這可能無法用於某些路由器。需重新啓動伺服器。",
|
||||||
"LabelEmbedAlbumArtDidlHelp": "有些裝置使用這個方式來取得專輯封面,啟用這個選項可能導致其他設備播放失敗。",
|
"LabelEmbedAlbumArtDidlHelp": "有些裝置使用這個方式來取得專輯封面,啟用這個選項可能導致其他設備播放失敗。",
|
||||||
"SettingsWarning": "更改這些值可能會導致不穩定或連線故障。如果您遇到任何問題,建議將它們重新更改為預設值。",
|
"SettingsWarning": "更改這些值可能會導致不穩定或連線故障。如果您遇到任何問題,建議將它們重新更改為預設值。",
|
||||||
"LabelEnableSingleImageInDidlLimitHelp": "若在 Didl 中嵌入多個圖片,某些裝置可能無法正常顯示。",
|
"LabelEnableSingleImageInDidlLimitHelp": "若在 Didl 中嵌入多個圖片,某些裝置可能無法正常顯示。",
|
||||||
|
@ -1636,10 +1634,18 @@
|
||||||
"LaunchWebAppOnStartupHelp": "伺服器啓動時在默認游覽器中打開網頁端。使用重啓伺服器功能時此項不生效。",
|
"LaunchWebAppOnStartupHelp": "伺服器啓動時在默認游覽器中打開網頁端。使用重啓伺服器功能時此項不生效。",
|
||||||
"LabelVideoResolution": "視頻解析度:",
|
"LabelVideoResolution": "視頻解析度:",
|
||||||
"LabelStreamType": "串流類型:",
|
"LabelStreamType": "串流類型:",
|
||||||
"EnableFastImageFadeInHelp": "為已加載的圖片啓用更快的淡入動畫",
|
"EnableFastImageFadeInHelp": "對已載入的圖片啟用更快的淡入動畫",
|
||||||
"EnableFastImageFadeIn": "快速圖片淡入",
|
"EnableFastImageFadeIn": "圖片快速淡入效果",
|
||||||
"LabelPlayerDimensions": "播放器尺寸:",
|
"LabelPlayerDimensions": "播放器尺寸:",
|
||||||
"LabelDroppedFrames": "丟棄的幀:",
|
"LabelDroppedFrames": "丟棄的幀:",
|
||||||
"LabelCorruptedFrames": "損壞的幀:",
|
"LabelCorruptedFrames": "損壞的幀:",
|
||||||
"ButtonSplit": "拆分"
|
"ButtonSplit": "分割",
|
||||||
|
"AskAdminToCreateLibrary": "如要建立資料庫,請求管理員。",
|
||||||
|
"NoCreatedLibraries": "看來您還未創任何媒體庫。{0}立刻創一個新的嗎?{1}",
|
||||||
|
"ClientSettings": "用戶設定",
|
||||||
|
"AllowFfmpegThrottlingHelp": "當轉檔或重組進度大量超前目前播放進度時,將暫停轉檔節省消耗的資源。在不常跳播的時候最有效。如果遇到播放問題,請關閉此功能。",
|
||||||
|
"AllowFfmpegThrottling": "限制轉檔",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "這將會使用內建劇集資料。",
|
||||||
|
"PlaybackErrorNoCompatibleStream": "用戶端偵測出了問題,伺服器也未傳送相容的媒體格式。",
|
||||||
|
"PreferEmbeddedEpisodeInfosOverFileNames": "優先使用內建劇集資訊而不是檔案名稱"
|
||||||
}
|
}
|
||||||
|
|
|
@ -382,7 +382,7 @@ a[data-role=button] {
|
||||||
|
|
||||||
.emby-checkbox:checked + span + .checkboxOutline {
|
.emby-checkbox:checked + span + .checkboxOutline {
|
||||||
background-color: #030322;
|
background-color: #030322;
|
||||||
border: 2px solid rgb(72, 195, 200);
|
border: 0.14em solid rgb(72, 195, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
.emby-checkbox:checked + span + .checkboxOutline > .checkboxIcon-checked {
|
.emby-checkbox:checked + span + .checkboxOutline > .checkboxIcon-checked {
|
||||||
|
@ -394,7 +394,7 @@ a[data-role=button] {
|
||||||
}
|
}
|
||||||
|
|
||||||
.emby-checkbox:focus:not(:checked) + span + .checkboxOutline {
|
.emby-checkbox:focus:not(:checked) + span + .checkboxOutline {
|
||||||
border: 2px solid #ff77f1;
|
border: 0.14em solid #ff77f1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.itemProgressBarForeground {
|
.itemProgressBarForeground {
|
||||||
|
@ -438,6 +438,15 @@ a[data-role=button] {
|
||||||
color: #f8f8fe;
|
color: #f8f8fe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mdl-radio.show-focus .mdl-radio__button:focus + .mdl-radio__circles svg .mdl-radio__outer-circle,
|
||||||
|
.mdl-radio.show-focus .mdl-radio__button:focus + .mdl-radio__circles svg .mdl-radio__inner-circle {
|
||||||
|
color: #ff77f1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mdl-radio.show-focus .mdl-radio__button:focus + .mdl-radio__circles .mdl-radio__focus-circle {
|
||||||
|
background: #00a4dc;
|
||||||
|
}
|
||||||
|
|
||||||
.emby-tab-button {
|
.emby-tab-button {
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,12 +6,12 @@ const CopyPlugin = require("copy-webpack-plugin");
|
||||||
const Assets = [
|
const Assets = [
|
||||||
"alameda/alameda.js",
|
"alameda/alameda.js",
|
||||||
"native-promise-only/npo.js",
|
"native-promise-only/npo.js",
|
||||||
"libass-wasm/dist/subtitles-octopus-worker.js",
|
"libass-wasm/dist/js/subtitles-octopus-worker.js",
|
||||||
"libass-wasm/dist/subtitles-octopus-worker.data",
|
"libass-wasm/dist/js/subtitles-octopus-worker.data",
|
||||||
"libass-wasm/dist/subtitles-octopus-worker.wasm",
|
"libass-wasm/dist/js/subtitles-octopus-worker.wasm",
|
||||||
"libass-wasm/dist/subtitles-octopus-worker-legacy.js",
|
"libass-wasm/dist/js/subtitles-octopus-worker-legacy.js",
|
||||||
"libass-wasm/dist/subtitles-octopus-worker-legacy.data",
|
"libass-wasm/dist/js/subtitles-octopus-worker-legacy.data",
|
||||||
"libass-wasm/dist/subtitles-octopus-worker-legacy.js.mem"
|
"libass-wasm/dist/js/subtitles-octopus-worker-legacy.js.mem"
|
||||||
];
|
];
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue